新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM和WinSock的多人对战游戏平台设计

基于ARM和WinSock的多人对战游戏平台设计

作者:时间:2011-07-15来源:网络收藏

对于某些步骤需要作详细说明:
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所示。

本文引用地址:http://www.eepw.com.cn/article/150469.htm

h.JPG


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



评论


相关推荐

技术专区

关闭