2022年c++课程设计五子棋游戏 .pdf

上传人:C****o 文档编号:32535921 上传时间:2022-08-09 格式:PDF 页数:30 大小:1.55MB
返回 下载 相关 举报
2022年c++课程设计五子棋游戏 .pdf_第1页
第1页 / 共30页
2022年c++课程设计五子棋游戏 .pdf_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《2022年c++课程设计五子棋游戏 .pdf》由会员分享,可在线阅读,更多相关《2022年c++课程设计五子棋游戏 .pdf(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、课程设计目的、任务和内容要求:计算机语言程序设计是一门以编程实践为主的专业课,目的在于培养学生利用计算机语言进行软件开发所必需的基本思想和基本技能,进一步提高综合应用计算机语言的各种编程知识和技巧进行程序设计的能力,通过本次课程设计,学生应能达到具备设计功能较为复杂的应用程序的能力,同时培养学生自主学习和独立创新的精神。任务如下:1进行需求分析和概要设计,给出流程图。2写出详细设计,熟悉其中采用的关键技术。3给出具体的编码实现并调试。4写课程设计报告提交源程序。内容要求:设计并完成软件系统。要求:1应具有简洁友好的用户界面。2要求软件系统的功能完整。3要求程序具备正确性,可读性和运行的高效

2、性。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 30 页 - - - - - - - - - 二、进度安排:第3 天: 查找资料,进行需求分析和概要设计;第 46 天:各模块的详细设计;第 712天: 软件实现与调试;第 1314天:写课程设计报告并提交源程序。三、主要参考文献:1 四维科技 , 丁展 , 汤倩.Visual C+ 游戏开发技术与实例 M. 北京:人民邮电出版社,2005 2 求是科技 , 张宏林 .Visual C+ 6.0程序设计与开发技术大全M.

3、 北京:人民邮电出版社 ,2005 3 汪翔 , 袁辉 .Visual C+ 实践与提高(网络编程篇)M. 北京:中国铁道出版社,2001 4 黄维通 .Visual C+ 面向对象与可视化程序设计M. 北京:清华大学出版社 ,2003 5 谢希任 . 计算机网络(第4 版)M. 北京:电子工业出版社 ,2005 6( 美)W. Richard Stevens. TCP/IP 详解卷 1: 协议M. 北京:机械工业出版社 ,2005 7 北京现代富博科技有限公司, 陈兵旗 , 孙明. 北京:Visual C+ 实用图象处理专业教程M . 清华大学出版社 ,2004 8 张静.Windows 多

4、媒体编程基础 M. 北京:清化大学出版社 ,2005 9 刘振安 , 徐峰.Windows 实用编程指南 M. 北京:人民邮电出版社 ,1995 10 刘长明 , 杨工明 .Visual C+ 实践与提高(多媒体篇) M. 北京:中国铁道出版社,2001 指导教师签字:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- I - 目 录摘 要 II Abstract. II 1 绪

5、论 . . 1 1.1 课题背景.1 1.2 课程设计的目的 . 12 设计方案简述. . 2 2.1 可行性分析 . .22.2 需求分析 . .23 详细设计 . .3 3.1 窗体设计 .33.2 游戏项目开发 .5 3.2.1棋牌设置 .5 3.2.2放置棋子功能的开发 .6 3.3.3游戏获胜决断的开发 . .12 3.2.4游戏的调试与运行 . 204 设计结果及分析 . . 22 4.1 程序的结果 .224.2 结果分析 .235 总 结 . 24参考文献. . 25名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -

6、 名师精心整理 - - - - - - - 第 3 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- II - 摘要网络游戏的出现代表了一种全新娱乐方式的诞生。目前网络游戏正以其独特的魅力吸引着众多的玩家。随着游戏产业的蓬勃发展,将需要越来越多的人加入到游戏开发中来。本毕业设计所完成的五子棋游戏 (网络版)是在 Windows XP下使用 Microsoft Visual C+6.0开发的 C/S 系统,可以实现网络间的双人对战,并且可以提供多媒体播放功能。系统的多媒体播放功能可以播放MP3 、WMA 等主流格式的音乐。本论文从基本网络套节字开

7、始入手,介绍了一些本系统相关的理论知识,随后详细介绍了五子棋游戏(网络版)的开发过程。包括服务器端、客户端的socket编程,五子棋服务器和客户端通信的实现,五子棋判断算法的实现,主界面视图,多媒体播放以及定时器等附加功能的实现。最后对系统进行测试并对所做工作进行总结。关键词程序设计; Fivechess ;MFC;Abstract AbstractOn-line games bring to a new form of entertainment. Until now, on-line games is charming more and more players. As the devel

8、opment 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.

9、The thesis start with introduction of network socket programming, the development processing of theon -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 al

10、gorithm of the five-in-a-row game, the multimedia playback functions. Keywords : program; computer; MFC; Fivechess 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 1 - 1 绪论娱乐是人类不可或缺的生活内容,目前市场上的游戏种类繁多读者将所学的语言应用到实际,用学习的

11、c+语言编程开发一个简易的计算机单机游戏,即五子棋游戏。1.1 课题背景中国民族原创网络游戏为中国网络游戏产业所做出了巨大贡献,民族原创网络游戏已经成为产业发展的主导力量。同样在中国自主研发的民族原创网络游戏已经真正成为中国游戏市场的主导力量。网络游戏是通过信息网络传播和实现的互动娱乐形式,是一种网络与文化相结合的产业。近年来,网络文化市场发展很快, 随着互联网的迅速普及、 宽带的接入社区和家庭,我国网络游戏市场发展迅速并进入了一个高速增长期,并已经创造了较大的产值,带动了相关产业的发展,对促进我国网络经济和娱乐业的发展、丰富互联网时代人民群众的文化娱乐生活起到了积极作用。1.2课程设计目的在

12、程序设计中,通过设计、编制、调试一个五子棋的程序,加深对语法及语义分析原理的理解, 并实现对命令语句的灵活应用。 在程序设计中, 可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。由于多个函数均需要访问某些数据,这些数据常被设计为全局变量。而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为 C+程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -

13、 - - 第 5 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 2 - 2 设计方案简述如下是描述整五子棋游戏的流程,开发一个五子棋游戏需要从两方面入手。一是游戏规则,二是技术。其实,任何软件开发都是这两大类。根据项目的特点,将不相关的功能分块份阶段进行。大致流程如下:1. 画棋盘; 2 画棋子; 3 增加下棋制约条件;4. 每下一步,判断输赢; 5. 调试运行。2.1可行性分析游戏设计已经成为现在社会的一种热门行业。五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。这里设计和实现了一个简单的五子棋单机游戏。主

14、要应用了Visual C+编程来完成这个游戏的设计的。本文主要介绍了本游戏开发环境Microsoft Visual C+ 6.0,使用当前优秀的开发工具VC+ 编程。包含了五子棋程序的棋盘初始化、游戏规则、胜负判断。思路简单明了,程序也较为简单。可以灵活运用一学过的c+ 知识来编写程序。2.2 需求分析近年来,随着网络的发展,游戏成为许多人关注的焦点。与传统的影音产业一样,游戏产业也是娱乐行业的一个重要组成部分,基于数字化的网络游戏更让人们找到了前所未有的感受,并已经成为全球互联产业的热点。五子棋,亦称“ 连五子 ” 、“ 串珠” 、“ 五目” 、“ 五格” 等等,日文称之为 “ 连珠” ,英

15、文则称之为 “Gobang ”或“Renju” 或“FIR(Five In a Row)” ,是起源于中国古代的传统黑白棋种之一,是一种体现民族特色的休闲游戏,同时能较好的锻炼人的思维。具有广阔的开发前景。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 3 - 3 详细设计3.1 窗体设计利用 MFC AppWinzard 生成五子棋游戏应用程序框架具体步骤如下:(1)执行 VC

16、程序,选择 File|New 命令,弹出 New 对话框 .单击 Projects标签,转到Projects 选项卡,选择MFC AppWizard(exe)选项,然后在Project name 文本框中输入Fivechess_44 。Lacation 文本框是指项目的本地路径。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 4 - (2)单击按钮,弹出 MFC AppWinzar

17、d_Step1 对话框。选中单选按钮,如图所示。(3)单击完成按钮,则建立一个单文档应用框架。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 5 - 3.2 游戏项目开发(四号字黑体)3.2.1棋盘设计1.在已创建的工程Fivechess_44中添加画棋盘的函数。首先在“Fivechess_44.h ” 头文件中定义一个用于显示棋盘的自定义公有函数:void Checkerboar

18、d(CDC*pDC); 然后在“ Fivechess_44View.cpp ”源文件中实现该函数。代码如下:void CFivechess_44View:Checkerboard(CDC*pDC) for(int i=0;iMoveTo(i*50,0); /画笔移动到 (i*50,0) 点pDC-LineTo(i*50,1000); / 画笔从 (i*50,0) 点到(i*50,1000)点 for(i=0;iMoveTo(0,i*50); pDC-LineTo(1000,i*50); 2.在应用程序框架的OnDraw()函数中调用该画棋盘函数,将pDC 对象作为实参传递给Checkerboa

19、rd() 函数,代码如下:void CFivechess_44View:OnDraw(CDC* pDC) CFivechess_44Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); / TODO: add draw code for native data here Checkerboard(pDC); /调用自定义的画键盘函数 3.编译运行得到如下效果:一个空棋盘名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 30 页 - -

20、 - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 6 - 3.2.2放置棋子功能的开发按照规划,棋子使用鼠标的左键和右键(分别用这两键来表示下棋的双方)来进行单机下棋,即是当用户单击左键时,下黑色棋子,用户单击右键时,下白色棋子。因此,必须为鼠标添加鼠标左键和鼠标右键单击的鼠标消息处理函数,步骤如下:1.右击CFivechessView 类,调用添加消息处理函数的对话框,选择Add windows MessageHandler 2.添加消息处理函数WM_LBUTTONDOWN和 WM_RBUTTONDOWN 这两个消息处理函数。然后点击 Edit Exisiting

21、退出对话框。并添加消息处理函数代码。如下图所示:添加鼠标左键和右键的消息处理函数:(1).左键消息void CFivechess_44View:OnLButtonDown(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default CBrush* brush = new CBrush(RGB(0,0,0) ;/定义黑色画刷CDC* pDC = this-GetDC(); /获取当前的图形设备指针pDC-SelectObject(brush); /选中该黑色画刷for(int

22、i = 0 ; i 1000 ; i+=50) for(int j = 0 ; j Ellipse(tempPoint.x-20,tempPoint.y-20,tempPoint.x+20,tempPoint.y+20); CView:OnLButtonDown(nFlags, point); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 7 - (2).右键消息void CF

23、ivechess_44View:OnRButtonDown(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default CBrush* brush = new CBrush(RGB(255,255,255) ;/定义白色画刷CDC* pDC = this-GetDC(); /获取当前的图形设备指针pDC-SelectObject(brush); /选中该白色画刷for(int i = 0 ; i 1000 ; i+=50) for(int j = 0 ; j Ellipse(

24、tempPoint.x-20,tempPoint.y-20,tempPoint.x+20,tempPoint.y+20); CView:OnRButtonDown(nFlags, point); 到此便将画棋盘和棋子的代码编好,编译运行如下:左击鼠标左键画黑点,右击鼠标右键画白点名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 8 - 3.但程序至此尚有两点未解决:其一,下棋子的约

25、束条件,即双方按顺序一人下一次才可第二次落棋子。其二,同一方格不能重复下棋子;解决第一个问题,添加以下代码:(1) 在 CFivechess_44View中添加一个公有的整形变量int RightORLet; /定义保存左键或右键下棋的标记变量(2) 构造函数将下棋的顺序初始化为左键先下CFivechess_44View:CFivechess_44View() / TODO: add construction code here RightORLet=0;/初始化默认左键先下 (3) 修改鼠标的左键和右键的单击消息处理函数,在画棋子之前判断轮到哪方下棋,代码如下:左键代码:void CFive

26、chess_44View:OnLButtonDown(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default if(RightORLeft=0 ) CBrush* brush = new CBrush(RGB(0,0,0) ;/定义黑色画刷CDC* pDC = this-GetDC(); /获取当前的图形设备指针pDC-SelectObject(brush); /选中该黑色画刷for(int i = 0 ; i 1000 ; i+=50) for(int j = 0 ;

27、j Ellipse(tempPoint.x-20,tempPoint.y-20,tempPoint.x+20,tempPoint.y+20); RightORLeft+; /鼠标状态变化为0 CView:OnLButtonDown(nFlags, point); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 9 - 右键代码:void CFivechess_44View:OnR

28、ButtonDown(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default if(RightORLeft=1) CBrush* brush = new CBrush(RGB(255,255,255) ;/ 定义白色画刷CDC* pDC = this-GetDC(); /获取当前的图形设备指针pDC-SelectObject(brush); /选中该白色画刷for(int i = 0 ; i 1000 ; i+=50) for(int j = 0 ; j Ellipse(

29、tempPoint.x-20,tempPoint.y-20,tempPoint.x+20,tempPoint.y+20); RightORLeft-;/ 鼠标状态变化为 1,鼠标右键按下后,再次改变鼠标状态 CView:OnRButtonDown(nFlags, point); 其二,解决第二个问题:(1)在 Fivechess_44View.h头文件中加入 3 行公有代码,并且在该头文件中包含vector的头文件,代码如下:# include class CFivechess_44View : public CView ; std:vector chessVec ; bool is Loca

30、tion (CPoint cp); void Location(CPoint cp); .; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 10 - (2)根据函数名在正确位置添加或修改以下函数.添加实现放置棋子函数额判断放置许可函数:bool CFivechess_44View:isLocation(CPoint cp) bool isLoc = true ; for(int

31、 i = 0 ; i chessVec.size() ; i+) if(cp.x = chessVeci.x & cp.y = chessVeci.y) isLoc = false ; return isLoc ; void CFivechess_44View:Location(CPoint cp) chessVec.push_back(cp); 修改鼠标左键和右键单击的消息处理函数代码如下,并注意为了消除该缺陷,“鼠标消息标志变量变化”的位置有所改变,代码如下,该代码已经将下棋的全部约束条件全部实现了。void CFivechess_44View:OnLButtonDown(UINT nFl

32、ags, CPoint point) / TODO: Add your message handler code here and/or call default if(RightORLeft = 0 ) CBrush* brush = new CBrush(RGB(0,0,0) ;/定义黑色画刷CDC* pDC = this-GetDC(); /获取当前的图形设备指针pDC-SelectObject(brush); /选中该黑色画刷for(int i = 0 ; i 1000 ; i+=50) for(int j = 0 ; j Ellipse(tempPoint.x-20,tempPoin

33、t.y-20,tempPoint.x+20,tempPoint.y+20); Location(tempPoint); /画了该点后,将该点插入到向量中RightORLeft+ ; /鼠标消息标志变量变化(注意) CView:OnLButtonDown(nFlags, point); void CFivechess_44View:OnRButtonDown(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default if(RightORLeft = 1 ) CBrush* b

34、rush = new CBrush(RGB(255,255,255) ; /定义白色画刷CDC* pDC = this-GetDC(); /选中该白色画刷pDC-SelectObject(brush); for(int i = 0 ; i 1000 ; i+=50) for(int j = 0 ; j Ellipse(tempPoint.x-20,tempPoint.y-20,tempPoint.x+20,tempPoint.y+20); Location(tempPoint); RightORLeft- ; /鼠标消息标志变量变化(注意) CView:OnRButtonDown(nFlags

35、, point); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 12 - 3.2.3游戏获胜决断的开发1.该功能是棋牌游戏中较难的功能。所以编写程序时要细心。游戏规则是这样的:如果某一方(黑棋或白棋)在同一行或同一列或同一斜线上具有5 个同色的棋子,则该颜色的这一方就获胜。因此可以使用一个整形二维数组来记录当前的棋局情况,二维数组的值定义如下:0:表示该位子没有棋子;1:表示

36、该位置已经放了黑色棋子;2:表示该位置已经放了白色棋子;解决的问题:问题 1:要在下每个棋子后,将数组变量对应位置的数组元素值做改变,变为“1”或“2” ,这个只需要在鼠标消息处理函数中调用Location()函数后改变数组元素值即可。问题 2:下每个棋子后,判断在这个棋子同一行同一列或同一斜线上是否具有连续5 个同色的棋子,若有,则宣判该方胜利,并退出游戏,如果没有,则继续游戏,轮到下一方下棋。具体实施步骤如下 ; (1) 增加棋盘状态记录数组。在Fivechess_44View.h头文件中定义一个公有的整形数组,如下代码:int chessArr2020; 并在视图类的构造函数中将整形数组

37、初始化为0,代码为:CFivechess_44View:CFivechess_44View() / TODO: add construction code here RightORLeft=0; /初始化棋盘,左键先下棋for(int i=0;i20;i+) for(int j=0;j 0 & i 0 & i 0 & j 0 & j 0 & j 0 & i 0 & j 0 & i 0 & j 0 & i 0 & j 0 & i GetDC(); /获取当前的图形设备指针pDC-SelectObject(brush); /选中该黑色画刷for(int i = 0 ; i 1000 ; i+=50

38、) for(int j = 0 ; j Ellipse(tempPoint.x-20,tempPoint.y-20,tempPoint.x+20,tempPoint.y+20); Location(tempPoint);/画了该点后,将该点插入到向量中chessArrtempPoint.x/50tempPoint.y/50 = 1 ; if( isWin(point) ) MessageBox(黑色棋子获胜! ); RightORLeft+ ; CView:OnLButtonDown(nFlags, point); 鼠标右键具有输赢判断的鼠标消息处理函数与左键类似,代码如下:void CFiv

39、echess_44View:OnRButtonDown(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call default if(RightORLeft = 1 ) CBrush* brush = new CBrush(RGB(255,255,255) ; CDC* pDC = this-GetDC(); pDC-SelectObject(brush); for(int i = 0 ; i 1000 ; i+=50) 名师资料总结 - - -精品资料欢迎下载 - - - - - -

40、- - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 19 - for(int j = 0 ; j Ellipse(tempPoint.x-20,tempPoint.y-20,tempPoint.x+20,tempPoint.y+20); Location(tempPoint); chessArrtempPoint.x/50tempPoint.y/50 = 2 ; if( isWin(point) ) MessageBox(白色棋子获胜! ); Ri

41、ghtORLeft- ; CView:OnRButtonDown(nFlags, point); 3.2.4 游戏的调试与运行编译程序:鼠标点击组建 全部重建。编译若出现错误提示,则根据提示修改程序,直至编译无误。然后运行。得到的结果如下未进行游戏时的结果:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 20 - 开始游戏后的结果:名师资料总结 - - -精品资料欢迎下载 - -

42、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 21 - 4 设计结果及分析4.1 程序的结果黑棋获胜的结果为:白棋获胜的结果为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 22 - 4.2 结果分析画棋子的

43、原理在于,读取鼠标点击的坐标来判断点击位所在的格子,然后求出该格子的中心位置坐标,以该中心位置为圆心画黑色圆或白色圆。棋牌游戏中都有轮流下棋或出牌的一般性规则,这种情况下,都采用令牌变量,通过令牌变量来判断当前谁有下棋或出牌的权利。5 总结本毕业设计是一款休闲五子棋游戏,离真正意义上的广域网网络游戏还要差距。但是它已经拥有了局域上的连接进行游戏的功能,。在设计中确实遇到了不少的困难,但是通过调试已经解决了绝大多数问题。游戏设计已经成为现在社会的一种热门行业。五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。这里设计和实现了一个双人对下的五子棋单机游戏。主要应用了

44、Visual C+ 编程来完成这个游戏的设计的。本文主要介绍了本游戏开发环境Microsoft Visual C+ 6.0 ,使用当前优秀的开发工具VC+ 编程。包含了五子棋程序的棋盘初始化、游戏规则、胜负判断方法。但是仍有一些不足之处:游戏只是局限于两个人之间;并且局限于一个电脑的鼠标;没有定时功能及提醒功能。这款游戏可以继续完善菜单功能也可以通过扩展实现成一款围棋游戏,总之它可以继续发展成一个比较成熟的休闲类小游戏。还有很多需要完善和改进的地方。参考文献1 四维科技 , 丁展 , 汤倩 .Visual C+ 游戏开发技术与实例M. 北京:人民邮电出版社,2005 2 求是科技 , 张宏林

45、.Visual C+ 6.0 程序设计与开发技术大全 M. 北京:人民邮电出版社,2005 3 汪翔, 袁辉.Visual C+ 实践与提高(网络编程篇)M. 北京:中国铁道出版社 ,2001 4 黄维通 .Visual C+ 面向对象与可视化程序设计M. 北京:清华大学出版社 ,2003 5 谢希任 . 计算机网络(第 4 版)M. 北京:电子工业出版社 ,2005 6( 美)W. Richard Stevens. TCP/IP 详解卷 1:协议 M. 北京:机械工业出版社 ,2005 7 北京现代富博科技有限公司, 陈兵旗 , 孙明. 北京: Visual C+ 实用图象处理专业教程M .

46、 清华大学出版社 ,2004 8 张静.Windows多媒体编程基础 M. 北京:清化大学出版社 ,2005 9 刘振安 , 徐峰.Windows 实用编程指南 M. 北京:人民邮电出版社 ,1995 10 刘长明 , 杨工明 .Visual C+ 实践与提高(多媒体篇)M. 北京:中国铁道出版名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 23 - 社,2001 答辩记录表名师

47、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 24 - 学生姓名:学号:班级:答辩地点:答辩内容记录:成绩评定表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 25

48、- 学生姓名:学号:班级:类别合计分值各项分值评分标准实际得分合计得分备注平时完成情况30 10 按时参加课程设计, 无旷课、迟到、早退、违反实验室纪律等情况。10 设计方案规范合理,设计目标明确,符合专业培养要求,时间安排得当,技术路线可靠。10 按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。报告完成情况30 10 报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理,报告整体格式规范。10 设计方案合理、可行,论证严谨,逻辑性强;符号统一;图表完备、符合规范要求。10 能对整个设计过程进行全面的总结,得出有价值的结论或结果;参考文献数量在 3 篇以上,格式符合

49、要求,在正文中正确引用。答辩情况40 20 在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。答辩组长:20 在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩:分指导教师:(签字)日期:年月日课程设计总结名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 29 页,共 30 页 - - - - - - - - - 徐州师范大学物理与电子工程学院课程设计报告- 26 - 成绩分析表班级分数分布90 分以上89-80 79-70 69-60 60 分以下学生数百分比最高分最低分平均分(以下为总结内容)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 30 页,共 30 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁