首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于ARM和WinSock的多人对战游戏平台设计
来源:本站整理  作者:佚名  2011-07-17 16:06:09




    对于某些步骤需要作详细说明:
f.JPG
    3)判断游戏是否结束
    在Doc类中定义私有性质的成员变量int state[15][10];,用于记录棋盘上每一格的状态:无棋(值为0)、用户方棋(值为1)、电脑方棋(值为2),初始值是0。游戏过程中,某一方落棋后立即给state数组对应成员赋值,下标可由鼠标左键消息响应函数的CPoint point参数转换而来。
    对于棋盘上每一个坐标点(i,j),沿东西、南北、东南西北、东北西南四个方向扫描五个沿途点的状态值,若发现五个相同状态相连,则该状态(用户方或电脑方)的棋手获胜,游戏结束。
    4)电脑方下棋策略
    对于棋盘上每一个坐标点(i,j),扫描它的状态值state[i][j],一经发现不为0,就以此点为起点,沿东、南、西、北、东南、西南、东北、西北8个方向搜索5个棋位。
    事先定义针对每个点、每个方向的8个整型数组(初始值赋为0):
   g.JPG
    对于坐标点(i,j),搜索过程中若遇到具有相同状态的点(m,n),则对应方向数组的[i][j]成员的值增加,遇到不同状态点则减小。保存8个中绝对值最大的。
    上述操作完后,比较所有点存的值,绝对值最大的说明以该点起始的某个方向己方棋子相连较多,或者对方棋子相连较多,最适合落子。
3.3 双人游戏
    从游戏开始到结束,客户端与服务器的交互过程如图6所示。

h.JPG


3.3.1 服务器端程序
    创建基于对话框的MFC工程。
    在App类的BOOL InitInstance()中加载套接字库:AfxSocketInit();
    在Dlg类的BOOL OnInitDialog()中初始化套接字,包括新建和绑定套接字:socket()、bind();
    在对话框上画两个按钮控件:“连接用户”和“开始游戏”。
    开发流程如图7所示。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:169,148.40000 毫秒