C++课程设计--五子棋游戏331.pdf
《C++课程设计--五子棋游戏331.pdf》由会员分享,可在线阅读,更多相关《C++课程设计--五子棋游戏331.pdf(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C+课程设计-五子棋游戏 课 程 设 计 说 明 书 五子棋游戏 The Game of Gobang 学院名称:机械工程学院 专业班级:测控 10 xx 学生姓名:江 x 指导教师姓名:张 xx 指导教师职称:副教授 2012 年 6 月 1 目录 第一章 需求分析.7 1.1 系统概述.7 1.1.1 概述:.7 1.2 系统运行环境.7 1.2.1 运行环境.7 1.3 功能需求描述.7 1.3.1 功能需求.7 第二章 总体设计.8 2.1 开发与设计的总体思想.8 2.1.1 总体设计思路.8 2.1.2 屏幕的组成.9 2.1.3 形状的组成.9 2.1.4 形状的统一.10 第
2、三章 概要设计.10 3.1 系统流程图.10 3.2 软件功能模块.12 3.3 系统功能模块.13 第四章 详细设计.13 4.1.界面的设计.13 4.1.1 总体界面的设计.13 4.1.2 界面棋子的设计.13 2 4.2.显示界面的准备.15 4.2.1 在窗体类中添加存放黑白棋两维数组和背景棋盘、黑棋、白棋位图对象.15 4.2.2 在窗体构造函数中初始化 wb,装入棋盘、黑棋、白棋位图.15 4.3.显示棋盘和棋子代码.15 4.4.轮流下子代码.16 4.5.判断输赢.19 4.5.1 判断是否白棋胜代码.19 4.5.2 判断是否黑棋胜代码.20 4.5.3 判断是否平局代
3、码.21 4.6.悔棋.21 4.7.重新开始.22 4.8.背景音乐.23 4.9.保存读取游戏文件.23 4.9.1 保存文件:.24 4.9.2 读取文件:.25 第五章 测试分析.26 结论和心得体会.27 致 谢.28 参考文献:.29 3 课程设计任务书 一、课程设计目的 课程设计是工科各专业的主要实践性教学环节之一,是围绕一门主要基础课或专业课,运用所学课程的知识,结合实际应用设计而进行的一次综合分析设计能力的训练。课程设计旨在培养学生在本课程范围内,初步掌握解决实际应用问题时所应具有的查阅资料、综合运用所学知识的能力,为课程设计及今后从事专业工作打下基础。二、课程设计的内容及要
4、求 利用所学的面向对象及 C+编程知识和技巧,通过布置具有一定难度的程序设计题目,并且要求学生独立完成所布置题目,在分析设计过程中,要求学生养成良好的编程习惯,学会分析简单的实际问题,并能利用所学的知识建立系统的逻辑结构,学会简单的调试技巧和方法。根据系统的功能要求,要求学生逐步完成应用程序的设计,具体要求为:1、按规定的时间及要求上机。2、设计方案正确,正确划分所选课题的系统功能模块。3、系统设计要尽量实用,数据与功能分析详细。4、要求 C+编码简洁、稳定、高效。5、独立查阅资料,认真书写课程设计说明书。三、进度安排 此次课程设计时间为两周,分五个阶段完成:1、分析设计阶段:学生自主学习和钻
5、研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。这一阶段前第 1-3 天完成。2、编程调试阶段:根据设计分析方案编写 C+代码,然后调试该代码,实现课题要求的功能。这一阶段在第 4-7 天完成。3、总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编程测试的步骤和内容。这一阶段在第 8-9 天完成。4、考核阶段。这一阶段在第 10 天完成。四、课程设计说明书要求 课程设计说明书包括课程设计的目的、意义和任务,软件开发工具介绍、任务分 4 析、总体设计、详细设计、编程、调试的步骤和内容、课程设计总结、参考资料等,不符合以
6、上要求者,则本次设计以不及格记。具体格式参看江苏大学课程设计说明书写作规范 五、课程设计题目:设计一个五子棋游戏 六、上机时间及地点 地点:计算中心 NA1 NA2 上机时间:19 周 星期四 1 2 3 4 节 星期五 1 2 3 4 5 6 7 8 节 20 周 星期一 5 6 7 8 节 星期二 1 2 3 4 5 6 7 8 节 星期三 1 2 3 4 节 星期四 1 2 3 4 5 6 7 8 节 星期五 1 2 3 4 节 七、答辩时间 20 周 星期六 5 五子棋游戏 摘要 此课程设计的目的是为了达到熟练掌握 C+语言的基本知识和 C+调试技能;基本掌握面向对象程序设计的基本思路
7、和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题;培养综合利用 C语言进行程序设计的能力,主要是培养利用系统提供的标准图形函数进行创新设计。该游戏软件在 Windows 系统为玩家提供传统五子棋游戏的基本功能,在这简单的五子棋中,玩家通过鼠标进行两个人的游戏。游戏的主战场为 15 行 15 列的棋盘,初始状态棋盘上无落子,进入游戏后,默认黑棋先下,也可由玩家选择先下的棋子,然后轮流落子,一旦有一方的棋子在某一方向上构成连续的五个棋子,则该方胜利,游戏结束并重新开始,如果有输赢,则输出谁胜,否则,输出平局的信息框。游戏还有悔棋和重新开始的的功能。另外,在游戏中还有背景音乐,运
8、行时自动播放,也可通过工具栏按钮关闭。还可以保存和读取游戏文件功能。关键词:五子棋;视窗操作系统;悔棋;双人游戏。The Game of Gobang Abstract This course is designed in order to master the basic knowledge of the c+language testing skills;and c+Basic grasp of object oriented programming basic train of thought and method;Can use of my knowledge of the basic
9、 knowledge and skills,solvesimple object-oriented program design problem;Using c+language training comprehend sive program design ability,is 6 mainly use the system to provide the training of standard graphics functions of innovation design.This game software on Windows system for players with tradi
10、tional renju game,the basic function of in this simple renju players through the mouse,two personal game.The main battlefield games for line 15 to 15 listed in the board.The game is over,if a loser,the output who wins,otherwise,the output of the draw information box.Keywords:Gobang;Windows System;Ta
11、keback;the game of Two people playing 引言 随着经济时代的发展,人们的精神压力越来越大,精神上得不到应有的放松,精神生活得不到极大的满足,随着计算机技术的飞速发展,计算机已逐渐成为人们办公不可或缺的工具,因此及时的开发一些应用于计算机上的小型游戏软件,以供人们在办公的闲暇时间得到充分的休闲娱乐。而棋类因为其兼具动脑并且娱乐的双重功效,并且十分符合现代式生活,因此已经得到越来越多人的欢迎,为此我们开发一个简单的五子棋游戏,开发此五子棋游戏软件的目的,主要是供办公人员与同事一起休闲娱 7 乐,增进友谊、减轻疲劳,以提高工作效率,创造更多的社会财富,造福人类。查
12、阅有关程序设计的案例资料,进一步理解程序设计模块化的思想,并利用此思想,根据对程序设计课程的学习,编写一个简单的游戏软件系统。通过本设计可以加深理解利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力。在下面的各章中我们将以开发一个五子棋游戏为例,谈谈其开发过程和所涉及到的问题及解决方法。第一章 需求分析 1.1 系统概述 1.1.1 概述:本程序是一款棋类益智游戏程序,名为五子棋游戏,是采用 C 语言编写的可在WINDOWS 系统下运行的娱乐游戏平台。该程序面向广大棋类游戏的爱好者,能够提供方便,实现基本智能控制的游戏环境。棋盘由若干网格构成,初始状态棋盘上无落子,
13、玩家可以通过鼠标在棋盘的相应位置下子,一方为白色,另一方为黑色,先下的为黑子。游戏过程中,一旦有一方的棋子在某一方向上先构成连续的五个棋子,不论横、竖或斜,就会在屏幕上显示是谁赢了比赛。1.2 系统运行环境 1.2.1 运行环境(1)硬件环境。本系统适用于那种 Inter386 以上计算机,内存容量为 128M,应配备键盘、鼠标、显示器等外部设备。(2)软件环境。本系统的设计采用 Visual C+6.0 编写。在 Windows XP SP2 环境下测试通过。(3)只要计算机具有 Visual C+6.0,本游戏软件在 Windows 平台下都可以运行。1.3 功能需求描述 1.3.1 功能
14、需求 8 五子棋是一种大众喜爱的游戏,其规则简单,变化多端,非常富有趣味性何消遣性,是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。近来随着计算机的快速发展,各种棋类游戏被纷纷请进了电脑,使得那些喜爱下棋,又常常苦于没有工具的棋迷们能随时过足棋瘾。在这里我也设计了一个较简单的五子棋游戏,这个游戏,不仅可以满足游戏爱好者对游戏的要求,同时我们增加了美观因素,让游戏有一个比较美观的界面,满足我们游戏爱好者的视觉要求,同时有悔棋和重新清盘开始的功能,更
15、加方便了玩家的操作和游戏的有趣性。同时,这个游戏还增加了背景音乐的功能,让玩家在玩游戏的同时还可以聆听音乐,使身心放松,如果不需要,也可以通过菜单栏或工具栏中的按钮将其关闭。另外,也可以保存和读取游戏文件。第二章 总体设计 2.1 开发与设计的总体思想 2.1.1 总体设计思路 棋盘设计为 15*15 格,初始状态棋盘的为空,玩家黑子先走,轮流落子,当一方连成五子或下满棋盘时,游戏结束并重新开始(连成五子的一方获胜,下满棋盘为和棋)。当游戏一方胜利后显示胜利信息。从程序表面看,这是一个二维平面图,所以数据用二维数组来表示,数组两个下标可以表示棋盘上的位置,用坐标表示位置,数组元素的值代表棋格上
16、的状态,共有三种情况,分别是 0 代表空格,1 代表黑棋,2代表白棋。这样程序的主要工作是接收棋手鼠标按键操作,棋手用鼠标控制光标移动,按键表示落子。一旦接收到按键,说明棋手落子,先判断是否是有效位置,也就是说已经有棋子的位置不能重叠落子。落子成功后,马上判断该棋盘上是否有相同颜色的棋子连成五子,如果连成五子,则游戏结束,输出相应的信息。按确认后,自动调用清盘函数,此时清盘重新开始,由另一家先走。在游戏中,如果玩家悔棋,则按下悔棋按钮,调用悔棋函数,将刚下的棋去掉,重下一子。按下重新开始菜单,可清盘使 9 游戏重新开始。2.1.2 屏幕的组成 一个游戏一定要有一个界面供游戏者对游戏控制。这个界
17、面中要包含让游戏者更加清楚游戏状态的信息,比如,白方要下子时,必须要先看一看所有黑子的排列情况,决定是防守还是进攻,这关系着玩家要如何放置自己的棋子,让整体有个更加的布局,有利于游戏的进行。此游戏的屏幕由 15 行 15列的网格和菜单栏、工具栏组成,背景是一张棋盘图,棋盘图和棋子图如下图:2.1.3 形状的组成 每一种形状都是由五个棋子组成,比如或 由五个棋子排 10 列而成。2.1.4 形状的统一 棋子的排列,如:等共有 8 种形状(黑白的形状归为不同的形状)。如图形状:黑棋的四种情况:白棋的四种情况:第三章 概要设计 3.1 系统流程图 系统流程图是对系统的大致流程进行描述,本游戏的系统流
18、程图如下:11 游戏选择先下黑白子交判断是否连成Y 游戏悔N 重新江苏大学测控专业编程及软件应用课程设计说明书 12 3.2 软件功能模块 本游戏的软件功能模块如下:五子棋 界面及显示模块 播放音乐模块 轮流下子模块 胜负判断模块 悔棋模块 重新开始模块 保存读取游戏文件模江苏大学测控专业编程及软件应用课程设计说明书 13 3.3 系统功能模块 系统功能模块是对系统的大致功能进行描述,本游戏的系统功能模块如下:第四章 详细设计 根据上面所介绍的本系统的各个模块及其需要实现的功能,下面详细设计如下:4.1.界面的设计 4.1.1 总体界面的设计 程序界面程序在启动运行时,系统会调用在资源视图中导
19、入的围棋背景图片,使程序界面更加友好,在使用上给用户一种直观方便的感觉。4.1.2 界面棋子的设计 在资源视图中导入围棋的黑棋图片、白旗图片,使下子时调用此图片,使游戏更加直观有趣。同时在窗口视图中添加显示透明色图片函数,是棋子图片更加逼真有趣。显示透明色图片函数如下所示:/显示透明色函数 void PutBitmap(CDC*pDC,int x,int y,CBitmap*pBitmap,COLORREF color)五子两人悔棋重新播放输赢保存江苏大学测控专业编程及软件应用课程设计说明书 14 COLORREF oldColor;CBitmap bmAndBack,bmAndObject,
20、bmAndMem,bmSave;CDC memDC,backDC,objectDC,saveDC,pieceDC;BITMAP bm;pBitmap-GetBitmap(&bm);int nWidth=bm.bmWidth,nHeight=bm.bmHeight;memDC.CreateCompatibleDC(pDC);backDC.CreateCompatibleDC(pDC);objectDC.CreateCompatibleDC(pDC);saveDC.CreateCompatibleDC(pDC);pieceDC.CreateCompatibleDC(pDC);bmAndBack.C
21、reateBitmap(nWidth,nHeight,1,1,NULL);bmAndObject.CreateBitmap(nWidth,nHeight,1,1,NULL);bmAndMem.CreateCompatibleBitmap(pDC,nWidth,nHeight);bmSave.CreateCompatibleBitmap(pDC,nWidth,nHeight);backDC.SelectObject(&bmAndBack);objectDC.SelectObject(&bmAndObject);memDC.SelectObject(&bmAndMem);saveDC.Select
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 五子棋 游戏 331
限制150内