黑白棋游戏设计1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VC程序设计课程设计

报告书

设计题目:黑白棋游戏设计

院系:

班级:

组别:

学号:

姓名:

起止日期:

指导教师:

目录

前言 (1)

1. 课程设计计划 (2)

2.需求分析 (3)

3.概要设计 (4)

4.详细设计 (5)

5.编码与测试 (13)

6.心得体会 (15)

参考文献 (16)

前言

黑白棋,也称反棋(Reversi)、奥赛罗棋(Othello),苹果棋,翻转棋。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。它的游戏规则简单,因此上手很容易,但是它的变化又非常复杂。

起初,黑白棋在西方和日本很流行,近年来,黑白棋正逐步为中国玩家所接受,并深受喜爱。

本次我们组选择这个题目做大作业,一方面是巩固和提高以前所学的VC++的知识;另一方面是因为这可能是我们中的大多数人第一次完成一个软件的系统设计,选择一个中等难度且相对成熟的软件来设计既易于实现又留有一定的上升空间,符合我们的实际情况。

我们所设计的这种黑白棋游戏有几个特点:程序短小精悍,简洁明了;游戏界面美观,容易操作;功能丰富,趣味性强。

1. 课程设计计划

黑白棋游戏设计所完成的就是一个游戏软件系统。其一般的功能包括:开始新局,对弈方式选择,先手选择,棋力设置,限时设置,计算机演示,保存棋局,载入棋局,导出走棋信息,重温棋局,英雄榜,悔棋,设置属性,帮助信息,关于黑白棋的介绍等,要求设计一个黑白棋游戏软件,通过计算机实现各个功能。其具体设计要求为:

1、位图的导入和棋盘的生成

2、记录双方对弈时间的计时器与记录双方子数的计数器

3、选择人机对战与人人对战的函数及控制堆栈难度的主函数

4、实现悔棋功能的堆栈

我们对项目期望能实现

a 可以实现人机对弈。

b 棋力可调,分初级,中级,高级。

c 提示音功能,下错、下对有不同的提示音。

d 玩家遇到疑问,需要帮助时,给予一定的帮助

e 界面色彩友好,给人以良好的视觉冲击。

f 操作方便,容易上手。

本课程设计工作进度计划为:

表1 课程设计计划

本课程设计任务的分工:陈涛涛完成人机对战中的实现保存棋局、载入棋局、重温棋局、英雄榜、悔棋功能。本人完成人机对战中的实现开始,退出,帮助,难度设计,播放背景音乐功能。

2.需求分析

开发背景:我国是棋文化的发祥地之一,上古的尧时代,围棋就在我国诞生了!在随后的几千年长河里,我国人民不断以自己的聪明才智创造出深受人们喜爱的棋类游戏,像中国象棋,五子棋,军棋等等一直是在民间很流行的棋类项目。同时国外的棋类游戏也流传到中国,比如国际象棋,跳棋等,逐渐在国内盛行。可以说棋类游戏一直是中国人民喜闻乐见的一种休闲方式,由于棋类游戏都是比较注重智力策略的,所以从中也可以折射出我国人民的智慧。

棋类游戏规则简单,对外部要求不高,人们可以随时随地进行对弈。但是,真正能够精通棋类游戏的人却不是很多,主要是棋类游戏具有变化莫测的特点,人们经常得在棋局上深思熟虑才能找到克敌制胜的办法。因此,各种棋类游戏都具有开发智力的效能。在休闲中使自己得到真正的长进,这或许就是其倍受人们青睐的原因所在!

黑白棋游戏,起源于古希腊,在日本和西方国家比较盛行,其独特的游戏规则,对人类智慧进行着不断地挑战和激励,因此人们一直乐此不疲!加上上世纪后期电脑的普及,使黑白棋在全球范围内风靡,人们通过电脑可以轻松地实现人机对弈或者双人对弈!

但是,黑白棋在我国开展的比较晚,流行范围还不够广,很多人对它的规则还不是很了解。为了配合国内黑白棋的普及活动,为广大的人民群众增添一种既能休闲又能益智的娱乐形式,使人们得到身心的全面发展,我们开发了这款PC版黑白棋游戏。现阶段沉迷于网络游戏或者其他游戏的学生不少,作为国家即将的建设者和接班人决不能只是游戏中的高手,我们只有去磨练自己的思维,发挥创造性才能担当得起如此重任,所以我们更希望能将其在学生中加以推广,让我们学生找到真正适合自己的游戏!

选题的意义:本次我们组选择这个题目做大作业,一方面是巩固和提高以前所学的VC++的知识;另一方面是因为我们是第一次完成一个软件的系统设计,选择一个中等难度且相对成熟的软件来设计既易于实现又留有一定的上升空间,符合我们的实际情况。

我们所设计的这种黑白棋游戏有几个特点:程序短小精悍,简洁明了;游戏界面美观,容易操作;功能丰富,趣味性强。

3.概要设计

我们的程序从总体上说分为五个块,希望通过五个类来解决,分别为:

(1)位图的导入与棋盘的生成

(2)记录双方对弈时间的计时器与记录双方棋子数的计数器和每一步的走棋信息(3)选择人机对战与人人对战的函数及控制堆栈难度的函数

(4)设置选项功能和开始退出等简单的实现

(5)任务分工下的保存棋局、载入棋局、重温棋局、英雄榜、悔棋等功能模块的实现

游戏的简单流程为:

图1 游戏简单流程图

4.详细设计

这是一个基于vc++程序。

在这个黑白棋游戏中我们对其作了详细设计,程序没有涉及到数据库方面的知识,其实现的功能模块包括:

CaboutDlg:关于对话框的类

CAddSec:英雄榜加密功能的类

CBestDlg:英雄榜对话框的类

CBWChessApp:主应用程序类

CBWChessDlg:主对话框类

CConfirmSec:密码验证对话框的类

CCreditStatic:自定义文本类

CDemo:计算机对弈选项设置对话框的类

CDigitalPlayer:播放音乐类

CHowToDlg:帮助对话框类

CHyperLink:超链接类

CMemDC:内存DC,基于CDC

CMessage1:自定义消息类1

CMessage2:自定义消息类2

CRecordDlg:设置英雄榜对话框类

CSettingDlg:设置“设置”对话框类

CSetupDlg:设置黑白棋新局开始类

CUndo:设置悔棋功能类

Stack:栈功能的实现

静态设计:

相关文档
最新文档