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

[09-08 11:42:43]   来源:http://www.88dzw.com  其它电路   阅读:8895

文章摘要:www.88dzw.com2.2 应用程序接口函数 1)加载套接字库AfxSocketlnit() 布尔型,参数缺省值为NULL,在程序结束前自动调用WSACleanup清除套接字。 2)创建套接字socket() 用于创建指定类型的套接字,流式(TCP协议)SOCK_STREAM或数据报式(UDP协议)SOCK_DGRAM。 3)绑定本地地址bind() 将套接字地址(包括本地主机地址和本地端口地址)与所创建的套接字号联系起来,即将名字赋予套接字,以指定本地半相关。 4)接收recvfrom() 在套接字指定的已连接的数据报或流套接字上接收输入

基于ARM和WinSock的多人对战游戏平台设计,标签:电路设计,http://www.88dzw.com

www.88dzw.com
2.2 应用程序接口函数
    1)加载套接字库AfxSocketlnit()
    布尔型,参数缺省值为NULL,在程序结束前自动调用WSACleanup清除套接字。
    2)创建套接字socket()
    用于创建指定类型的套接字,流式(TCP协议)SOCK_STREAM或数据报式(UDP协议)SOCK_DGRAM。
    3)绑定本地地址bind()
    将套接字地址(包括本地主机地址和本地端口地址)与所创建的套接字号联系起来,即将名字赋予套接字,以指定本地半相关。
    4)接收recvfrom()
    在套接字指定的已连接的数据报或流套接字上接收输入数据。
    5)发送sendto()
    在套接字指定的已连接的数据报或流套接字上发送输出数据。

3 Win32下五子棋程序设计
3.1 游戏设计思路
    游戏开始前有一系列引导步骤,让用户选择游戏模式,并作相应的初始连接,如图4所示。这些引导步骤可通过添加一系列对话框资源来实现。完成之后进入选择的游戏模式。

d.JPG


    对于单人五子棋游戏,即人机对战,只需要一个应用程序。当用户鼠标左击棋盘时,程序先在相应位置处画棋子,然后执行电脑方策略,实现对战。
    对于双人五子棋游戏,则需要先运行一个服务器端程序,然后两个用户分别运行一个客户端程序,并与此服务器相连。游戏进行过程中,由服务器执行游戏策略,客户端程序只负责采集鼠标信息和显示棋子。我们让用户A在游戏平台A上运行服务器端程序,紧接着运行客户端程序,并与服务器建立Socket连接;然后告诉用户B服务器的IP地址,让其在平台B上运行客户端程序,并与服务器建立Socket连接;连接成功后就可以开始游戏了。
3.2 单人游戏
    建立MFC工程,选择创建单文档类型的应用程序。添加对话框资源用于选择游戏模式,并在View类构造函数中DoModal()。
    进入单人模式后的程序开发流程如图5所示。

e.JPG

www.88dzw.com
    对于某些步骤需要作详细说明:
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个棋位。

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


Tag:其它电路电路设计家电维修 - 单元电路介绍 - 其它电路