《Windows程序设计》信技01 柯学(1)(3)
武汉工程大学计算机科学与工程学院 综合设计报告
第一章 概述
1.1 课题背景
娱乐是人类不可或缺的生活内容,目前市场上的游戏种类繁多,将所学的语言应用到实际,用学习的c++语言编程开发一个简易的计算机单机游戏,即五子棋游戏。 中国民族原创网络游戏为中国网络游戏产业所做出了巨大贡献,民族原创网络游戏已经成为产业发展的主导力量。同样在中国自主研发的民族原创网络游戏已经真正成为中国游戏市场的主导力量。
网络游戏是通过信息网络传播和实现的互动娱乐形式,是一种网络与文化相结合的产业。近年来,网络文化市场发展很快,随着互联网的迅速普及、宽带的接入社区和家庭,我国网络游戏市场发展迅速并进入了一个高速增长期,并已经创造了较大的产值,带动了相关产业的发展,对促进我国网络经济和娱乐业的发展、丰富互联网时代人民群众的文化娱乐生活起到了积极作用。
1.2 课程设计目的
在程序设计中,通过设计、编制、调试一个五子棋的程序,加深对语法及语义分析原理的理解,并实现对命令语句的灵活应用。在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进的面向对象程序设计方法。
而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为C++程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。
1.3可行性分析
游戏设计已经成为现在社会的一种热门行业。五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。这里设计和实现了一个简单的五子棋单机游戏。主要应用了Visual C++编程来完成这个游戏的设计的。本文主要介绍了本游戏开发环境Microsoft Visual C++ 6.0,使用当前优秀的开发工具VC++编程。包含了五子棋程序的棋盘初始化、游戏规则、胜负判断。思路简单明了,程序也较为简单。可以灵活运用一学过的c++ 知识来编写程序。
1
武汉工程大学计算机科学与工程学院 综合设计报告
第二章 系统总体设计
2.1 总体分析
软件需求分析是软件开发周期的第一个阶段,也是关系到软件开发成败的关键一步。对于任何一个软件而言,需求分析工作都是至关重要的一步。只有通过软件需求分析,才能把软件的功能和性能由总体的概念性描述转化为具体的规格说明,进而建立软件开发的基础。实践表明,需求分析工作进行得好坏,在很大程度上决定了软件开发的成败。
软件需求分析的任务是:让用户和开发者共同明确将要开发的是一个什么样的软件。具体而言,就是通过对问题及其环境的理解、分析和综合,建立逻辑模型,完成新软件的逻辑方案设计。
基于本游戏,首先得为整个棋盘建立一张表格用以记录棋子信息,我们使用一个19*19的二维数组wzq[19][19](19*19是五子棋棋盘的大小),数组的每一个元素对应棋盘上的一个交叉点,用‘0’表示空位、‘1’代表白方的子、‘-1’代表黑方的子;这张表也是今后分析的基础。
2.2功能需求分析
2.2.1 功能模块图
五子棋游戏判断棋盘是否已满判断是否出错并提示判断那方获胜交替循环双方下棋 图2.1 功能模块图
2
武汉工程大学计算机科学与工程学院 综合设计报告
2.2.2 功能说明
该五子棋程序基本上实现了五子棋的游戏功能,有双方下棋的界面及最终判定结果的界面。同时该游戏采用二维坐标实现,明了易懂,方便玩家在游戏过程中的基本操作,使游戏更加简便。在细节方面,该系统提供实时存储功能,随时记录为完成的游戏,使用户可以很好的处理意外中断的情况。该游戏基本实现了游戏的一些要求和特征。在游戏的源程序及文档方面,我们也严格遵守软件工程思想,立足实验要求,确定任务,需求分析,设计和编码,每个步骤力求清晰易懂。原代码注释详尽,各功能模块功能分明,可移植性强。当然该系统也有很多不足的地方,进行独立的课程设计,也有很多细节方面是考虑到的,这款游戏也是在不断的调试和修改中产生和完善的。
2.2.3 需求分析
近年来,随着网络的发展,游戏成为许多人关注的焦点。与传统的影音产业一样,游戏产业也是娱乐行业的一个重要组成部分,基于数字化的网络游戏更让人们找到了前所未有的感受,并已经成为全球互联产业的热点。五子棋,亦称“连五子”、“串珠”、“五目”、“五格”等等,日文称之为“连珠”,英文则称之为“Gobang”或“Renju”或“FIR(Five In a Row)”,是起源于中国古代的传统黑白棋种之一,是一种体现民族特色的休闲游戏,同时能较好的锻炼人的思维,具有广阔的开发前景。
2.3设计方案简述
开发一个五子棋游戏需要从两方面入手。一是游戏规则,二是技术。其实,任何软件开发都是这两大类。根据项目的特点,将不相关的功能分块份阶段进行。大致流程如下:1.画棋盘;2画棋子;3增加下棋制约条件;4.每下一步,判断输赢;5.调试运行。
3
武汉工程大学计算机科学与工程学院 综合设计报告
第三章 详细设计
3.1 窗体设计
利用MFC AppWinzard生成五子棋游戏应用程序框架具体步骤如下:
(1)执行VC程序,选择File|New命令,弹出New对话框.单击Projects标签,转到Projects选项卡,选择MFC AppWizard(exe)选项,然后在Project name文本框中输入TacTic ,如图3.1 窗口设计界面1。Lacation文本框是指项目的本地路径。
图3.1 窗口设计界面1
(2)单击按钮,弹出MFC AppWinzard_Step1对话框。选中单文档按钮,如图3.1 窗口设计界面2。
图3.2 窗口设计界面2
4
武汉工程大学计算机科学与工程学院 综合设计报告
(3)因为五子棋的窗体不需要很多功能,为了达到简洁的目的,把初始的选项都勾除掉,如图3.1 窗口设计界面3。完成后运行程序就可以得到一个没有任何内容的窗体了。
图3.3 窗口设计界面3
(4)最后可以通过添加适当的代码修改MFC默认的窗体大小、风格、标题,在MFC中控制窗体的这些属性很简单,只需要在CMainFream类中的PreCreateWindow函数中添加以下代码:
cs.style = WS_OVERLAPPED|WS_MINIMIZEBOX|WS_SYSMENU; cs.lpszName = _T(\五子棋\cs.cx = 450; cs.cy = 500;
再运行程序后,窗口的大小会是450*500像素大小,标题为五子棋。
3.2 游戏流程分析
本程序定义了各种操作函数、各种状态判定,思想明确,思路清晰。各个判断选择了不同路径,因此继续进行或输出结果。程序中,“循环”的利用非常直接和清晰,双方交替下棋,因此循环往复。最终决出胜负或最终平局。分析时,也考虑了许多种情况,针对各个情况均作出了相对措施和解决方案。
程序采用循环进行双方交替下棋,并进行了很多判断。首先判断棋盘是否已满,若棋盘已满,则输出平局,结束游戏;若棋盘未满,则继续进行。如果白棋方下棋,然后判断白棋方是否胜出,若白棋方获胜,则输出白棋方获胜,结束游戏;若白棋方没有获胜,则继续进行,黑棋方下棋,再判断黑棋方是否获胜,若黑棋方 …… 此处隐藏:1473字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文




