五子棋游戏的设计与实现(网络版双人对战)
无需注册登录,支付后按照提示操作即可获取该资料.
摘 要
网络游戏的出现代表了一种全新娱乐方式的诞生。目前网络游戏正以其独特的魅力吸引着众多的玩家。随着游戏产业的蓬勃发展,将需要越来越多的人加入到游戏开发中来。
本毕业设计所完成的五子棋游戏(网络版)是在Windows XP下使用Microsoft Visual C++6.0开发的C/S系统,可以实现网络间的双人对战,并且可以提供多媒体播放功能。系统的多媒体播放功能可以播放MP3、WMA等主流格式的音乐。
本论文从基本网络套节字开始入手,介绍了一些本系统相关的理论知识,随后详细介绍了五子棋游戏(网络版)的开发过程。包括服务器端、客户端的socket编程,五子棋服务器和客户端通信的实现,五子棋判断算法的实现,主界面视图,多媒体播放以及定时器等附加功能的实现。最后对系统进行测试并对所做工作进行总结。
关键词:网络游戏;五子棋;VC;WinSocket;MCI
The Design and Development of the on -line
Black&White Game
Abstract
On-line games bring to a new form of entertainment. Until now, on-line games is charming more and more players. As the development of game industry, there will be more and more developers join in the game development team.
The on -line Black&White game was developed by Microsoft Visual C++6.0 on Windows XP platform. In this game, two people can play the game on line, and the game also provides multimedia player function.
The thesis start with introduction of network socket programming, the development processing of the on -line Black&White game are introduced in detail as followed. The thesis have a full touch on server and client socket programming, the communication between server and client was implemented, the algorithm of the five-in-a-row game, the multimedia playback functions.
Key words: On-line games; Black&White game; VC; WinSocket; MCI
本毕业设计是利用VC 6.0这一集成开发工具,在Windows环境下开发一款休闲网络游戏。本毕业设计通过策划、实现、测试等游戏开发的一般流程。游戏设计是按如下功能模块的设计思路来安排的:
五子棋游戏设计可以分成如下几个模块:
服务器模块:负责建立游戏服务器并接受客户端的连接和处理客户端的数据。
客户端模块:负责连接到服务器并处理和服务器的会话。
游戏规则模块:负责游戏的控制和结果的判断,使游戏按规则进行。
视图控制模块:负责控制整个程序的操作,负责处理用户的输入和游戏的界面绘制。
多媒体功能设计模块:
音频播放模块:负责播放MP3,WMA等格式的音乐。
主要类介绍
CServerSocket类:是一个专门用来监听客户端连接的Socket类。当游戏运行,选择了开启服务器之后,即调用本类来初始一个Socket对象。这个Socket对象将负责监听网络上有没有客户端连接到来。
CClientSocket类:是一个专门用做会话类,它负责数据的发送和接受。当游戏运行,选择了连接服务器之后,即调用本类来初始一个Socket对象。这个对象是用来连接服务器,它连接上以后,就可以通过他进行数据的交换。
CMessg类:是一个数据类,它发挥串行化数据的作用。它就是用来在网络上传输的信息。
Match类:是一个规则类,它负责游戏规则的处理。在游戏运行中,它保存着一个二维数组记录当前棋盘的信息,它还负责判断能否在某个位置下棋,是否有人赢棋。
CFiveChessView类:是游戏的主视图类。在游戏中它负责在主窗口中绘制盘和棋子。以及鼠标消息的处理。
CClientDlg类:是游戏中客户端设置的对话框类。在游戏中,选择打开连接服务器时,弹出来的连接服务器对话框。
CServerDlg类:是游戏中服务器端设置的对话框类。在游戏中,选择打开开启服务器时,弹出的开启服务器对话框。
CSoundThread类:是游戏中负责多媒体播放的线程类,主要负责音乐播放。当然了它实现了播放和关闭,也就是线程的开启和终止。
目 录
1 引言 1
1.1 网络游戏背景 1
1.2 五子棋游戏现状及研究意义 1
2 游戏开发环境介绍 1
2.1 环境介绍 1
2.2 Visual C++6.0介绍 1
2.3 OSI模型介绍 2
2.4 TCP/IP模型介绍 2
2.5 Winsock技术 3
2.5.1 Winsock编程流程简介 3
2.5.2 CAsyncSocket类介绍 4
2.5.3 CSocket类介绍 5
(毕业设计)
2.5.4 多媒体MCI接口介绍 6
3 五子棋游戏(网络版)研究方法 7
3.1 五子棋游戏(网络版)需求分析 7
3.2 五子棋游戏(网络版)研究思路 8
4 五子棋游戏(网络版)设计 9
4.1 五子棋游戏(网络版)流程 9
4.2 五子棋游戏(网络版)功能设计方案 9
4.2.1 主要类介绍 9
4.2.2 主要类的工作示意图 10
4.3 五子棋游戏实现 10
4.3.1 游戏连接——CServerSocket类的实现 10
4.3.2 游戏连接——CClientSocket类的实现 12
4.3.3 网络信息——CMessg类的实现 14
4.3.4 下棋算法——Match类的实现 14
4.3.5 主界面——CFiveChessView类的实现 16
4.3.6 多媒体——CSoundThread类的实现 22
4.3.7 定时器的实现 23
5 游戏测试 24
5.1 五子棋下棋功能测试 24
5.2 音乐播放测试 24
5.3 定时器以及其他响应测试 25
结 论 25
参考文献 25
致 谢 26
声 明 27