毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

免费论文设计VC++五子棋 第4页

更新时间:2008-7-27:  来源:毕业论文

免费论文设计VC++五子棋 第4页

5 消息机制

Windows系统拥有自己的消息机制,在不同事件发生的时候,系统也可以提供不同的响应方式[11]。五子棋程序也模仿Windows系统实现了自己的消息机制,主要为网络对弈服务,以响应多种多样的网络消息。

5.1 消息机制的架构

当继承自CAsyncSocket的套接字类CFiveSocket收到消息时,会触发CFiveSocket::OnReceive事件[12],在这个事件中调用CTable::ReceiveCTable::Receive开始按照自定义的消息格式接收套接字发送的数据,并对不同的消息类型进行分发处理。若图片无法显示请联系QQ752018766,免费论文设计VC++五子棋 第4页系统免费,转发请注明源于www.youerw.com

                        5.1 自定义的消息机制

 

如图5.1所示,当CTable获得了来自网络的消息之后,就可以使用一个switch结构来进行消息的分发了。

5.2 各种消息说明

网络间传递的消息,都遵循以下一个结构体的形式:

// 摘自Messages.h

typedef struct _tagMsgStruct {

    // 消息ID

    UINT uMsg;

    // 落子信息

    int x;

    int y;

    int color;

    // 消息内容

    TCHAR szMsg[128];

} MSGSTRUCT;

随着uMsg表示消息IDxy表示落子的坐标,color表示落子的颜色,szMsg随着uMsg的不同而有不同的含义。

5.2.1 落子消息——MSG_PUTSTEP

表明对方落下了一个棋子,其中xycolor成员有效,szMsg成员无效。在人机对弈游戏模式下,亦会模拟发送此消息以达到程序模块一般化的效果。

5.2.2 悔棋消息——MSG_BACK

表明对方请求悔棋,除uMsg成员外其余成员皆无效。接到这个消息后,会弹出MessageBox询问是否接受对方的请求(如图5.2所示),并根据玩家的选择回返MSG_AGREEBACKMSG_REFUSEBACK消息。另外,在发送这个消息之后,主界面上的某些元素将不再响应用户的操作。

5.2 请求悔棋

5.2.3 同意悔棋消息——MSG_AGREEBACK

表明对方接受了玩家的悔棋请求,除uMsg成员外其余成员皆无效。接到这个消息后,将进行正常的悔棋操作。

5.2.4 拒绝悔棋消息——MSG_REFUSEBACK

表明对方拒绝了玩家的悔棋请求(如图5.3所示),除uMsg成员外其余成员皆无效。接到这个消息后,整个界面将恢复发送悔棋请求前的状态。

5.3 拒绝悔棋

5.2.5 和棋消息——MSG_DRAW

表明对方请求和棋,除uMsg成员外其余成员皆无效。接到这个消息后,会弹出MessageBox询问是否接受对方的请求(如图5.4所示),并根据玩家的选择回返MSG_AGREEDRAWMSG_REFUSEDRAW消息。另外,在发送这个消息之后,主界面上的某些元素将不再响应用户的操作。

 

5.4 请求和棋

5.2.6 同意和棋消息——MSG_AGREEDRAW

表明对方接受了玩家的和棋请求(如图5.5所示),除uMsg成员外其余成员皆无效。接到这个消息后,双方和棋。

5.5 同意和棋

5.2.7 拒绝和棋消息——MSG_REFUSEDRAW

表明对方拒绝了玩家的和棋请求(如图5.6所示),除uMsg成员外其余成员皆无效。接到这个消息后,整个界面将恢复发送和棋请求前的状态。

5.6 拒绝和棋

5.2.8 认输消息——MSG_GIVEUP

表明对方已经投子认输(如图5.7所示),除uMsg成员外其余成员皆无效。接到这个消息后,整个界面将转换为胜利后的状态。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

免费论文设计VC++五子棋 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。