新Visual C++应用开发与实践 教学课件 刘乃琦_ VC 第9章 课程设计 网络五子棋.pptVIP

  • 13
  • 0
  • 约1.61万字
  • 约 57页
  • 2015-11-19 发布于广东
  • 举报

新Visual C++应用开发与实践 教学课件 刘乃琦_ VC 第9章 课程设计 网络五子棋.ppt

课程设计目的 功能描述 在客户端端主窗口中除了包含3个子窗口之外,没有放置任何控件,有关子窗口的布局是通过代码来实现的。 客户端主窗口实现过程如下: (1)创建一个基于对话框的工程,工程名称为“ClientFiveChess”。工程向导将创建一个默认的对话框类——CClientFiveChessDlg,该类将作为网络五子棋客户端的主窗口。 (2)定义3个子窗口变量,分别表示游戏控制窗口、棋盘窗口、对方信息窗口(有关这3个窗口的设计过程将在后面几节中进行介绍)。 CLeftPanel m_LeftPanel; //游戏控制窗口 CRightPanel m_RightPanel; //对方信息窗口 CChessBorad m_ChessBoard; //棋盘窗口 (3)在对话框初始化时创建游戏控制窗口、棋盘窗口和对方信息窗口,并调整这3个窗口的大小为位置。 (4)处理对话框的WM_SIZE消息,在对话框大小改变时,调整子窗口的大小和位置。 (5)处理对话框的WM_GETMINMAXINFO消息,限制对话框的最小窗口大小。 void CClientFiveChessDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) { lpMMI-ptMinTrackSize.x = 800; //限制窗口最小宽度 lpMMI-ptMinTrackSize.y = 500; //限制窗口最小高度 CDialog::OnGetMinMaxInfo(lpMMI); } 在客户端的主窗口中包含有游戏控制窗口、棋盘窗口和对方信息窗口,这3个窗口的设计过程与服务器端对应的窗口设计过程是完全相同的,因此就不再单独介绍了。其设计过程请参考9.5节棋盘窗口设计、9.6节游戏控制窗口设计和9.7节对方信息窗口设计。 9.5 调试运行 客户服务器程序在调试时,由于要在两个进程间传递信息,因此调试难度远远大于单个程序,调试这种程序时,可以同时打开两个Visual C++窗口,分别运行服务器端和客户端。,但是同时在两个Visual C++窗口中设置断点,有时又会顾此失彼。一般来说,如果我们只考虑程序的通信部分的功能,服务器端要比客户端复杂一些。因此,可以设计一个简单的提供数据的客户端,先忽略客户端的非通信部分功能,而集中完成它的通信部分功能,将它设计好,用它来为服务器提供数据。这样就可以只在服务器中设置断点,与调试单个程序就没有什么区别了。 调试运行 9.6 课程设计总结 本章主要使用了套接字技术,GDI技术,通过本意网络五子棋程序的开发,我们可以进一步加深对这两种技术的理解。上一章的工资管理系统,主要使用了数据库技术。可以说,数据库技术广范使用在各类软件中,网络通信则是当前计算机应用的热点领域。通过这两个系统的开发,可以使我们掌握基本软件的开发方法。更实用复杂的系统开发,要我们在应用中逐步积累经验。 课程设计总结 在服务器端主窗口中除了菜单和3个子窗口之外,没有放置任何控件,有关子窗口的布局是通过代码来实现的。 (1)创建一个基于对话框的工程,工程名称为“SrvFiveChess”。工程向导将创建一个默认的对话框类——CSrvFiveChessDlg,该类将作为网络五子棋服务器端的主窗口。 (2)定义3个子窗口变量,分别表示游戏控制窗口、棋盘窗口、对方信息窗口(有关这3个窗口的设计过程将在后面几节中进行介绍)。 CLeftPanel m_LeftPanel; //游戏控制窗口 CRightPanel m_RightPanel; //对方信息窗口 CChessBorad m_ChessBoard; //棋盘窗口 (3)在对话框初始化时创建游戏控制窗口、棋盘窗口和对方信息窗口,并调整这3个窗口的大小和位置。 (4)在对话框大小改变时,调整游戏控制窗口、棋盘窗口和对方信息窗口的大小和位置。 (5)处理对话框的WM_GETMINMAXINFO消息,限制对话框的最小窗口大小。 棋盘窗口是整个网络五子棋模块的核心,在棋盘窗口中实现的主要功能包括接受客户端连接、接收客户端发送的数据、绘制棋盘、绘制棋盘表格、绘制棋子、赢棋判断、网络状态测试,开始游戏、游戏回放等。棋盘窗口效果如图10-4所示。 9.4.4 棋盘窗口设计 图10-4 棋盘窗口 1 界面设计 棋盘窗口界面布局如下: (1)创建一个对话框类,类名为“CChessBorad”。 (2)设置对话框属性,如表10-1所示。 表10-1 棋盘窗口属性设置 CChessBorad:m_ChessBoard Style:C

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档