黑白棋游戏设计1
温柔似野鬼°
852次浏览
2021年01月18日 14:44
最佳经验
本文由作者推荐
狗市场-青李子
VC
程序设计
课
程
设
计
报
告
书
设计题目
:
黑白棋游戏设计
院
系:
班
级:
组
别:
学
号
:
姓
名
:
起止日期
:
指导教师
:
目
录
前
言
.................................................. .................................................. ................. 1
1.
课程设计计划
.... .................................................. ............................................ 2
2
.需求分析
........................... .................................................. ............................ 3
3
.概要设计
.............................................. .................................................. ......... 4
4
.详细设计
............... .................................................. ........................................ 5
5
.编码与测试
.......................... .................................................. .......................
13
6
.心得体会
.............................................. .................................................. .......
15
参考文献
.................. .................................................. .........................................
16
前
言
黑白棋,也称反棋
(Reversi)
、奥赛罗棋
(Othello)
,苹果棋,翻转棋。游戏通过相
互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。它的游戏规则简单,因此上
手很容易 ,但是它的变化又非常复杂。
起初,黑白棋在西方和日本很流行,近年来,黑白棋正逐步为中 国玩家所接受,并
深受喜爱。
本次我们组选择这个题目做大作业,一方面是巩固和提 高以前所学的
VC++
的知识;
另一方面是因为这可能是我们中的大多数人第一次完成 一个软件的系统设计,
选择一个
中等难度且相对成熟的软件来设计既易于实现又留有一定的上升 空间,
符合我们的实际
情况。
我们所设计的这种黑白棋游戏有几个特点:程 序短小精悍,简洁明了;游戏界面美
观,容易操作;功能丰富,趣味性强。
1
1.
课程设计计划
黑白棋游戏设计所完成的就是一个游戏软件系统。其一般的功能包括: 开始新局,
对弈方式选择,先手选择,棋力设置,限时设置,计算机演示,保存棋局,载入棋局,
导出走棋信息,重温棋局,
英雄榜,悔棋,设置属性,
帮助信息,关于黑白棋的介绍等,要求设计一个黑白棋游戏软件,通过计算机实现各个功能。其具体设计要求为:
1
、位图的导入和棋盘的生成
2
、记录双方对弈时间的计时器与记录双方子数的计数器
3
、选择人机对战与人人对战的函数及控制堆栈难度的主函数
4
、实现悔棋功能的堆栈
我们对项目期望能实现
a
可以实现人机对弈。
b
棋力可调,分初级,中级,高级。
c
提示音功能,下错、下对有不同的提示音。
d
玩家遇到疑问,需要帮助时,给予一定的帮助
e
界面色彩友好,给人以良好的视觉冲击。
f
操作方便,容易上手。
本课程设计工作进度计划为:
表
1
课程设计计划
序
号
1
2
3
4
5
起止日期
2011
年
6
月
20
日
-2011
年
6
月
2 1
日
工
作
内
容
完成实验任务书,制作程序图形界
面
2011
年
6
月
21
日
-2011
年
6
月
22
日
制作帮助文档,添加代码,实现人
机对战的游戏算法
< br>2011
年
6
月
22
日
-2011
年
6
月
23
日
实现添加音乐的功能,改进算法,
测试程序
2011
年
6
月
23
日
-2011
年
6
月
24
日
撰写课程设计报告
2011
年
6
月
24
日
-2011
年
6
月
24
日
答辩
本课程设计任务的分工:陈涛涛完成人机对战中的实现保存棋局、载入棋局、重 温
棋局、英雄榜、悔棋功能。
本人完成人机对战中的实现开始,退出,帮助,难度设计,
播放背景音乐功能。
2
2
.需求分析
开 发背景:我国是棋文化的发祥地之一,上古的尧时代,围棋就在我国诞生了!在
随后的几千年长河里,我 国人民不断以自己的聪明才智创造出深受人们喜爱的棋类游
戏,像中国象棋,五子棋,军棋等等一直是在 民间很流行的棋类项目。同时国外的棋类
游戏也流传到中国,比如国际象棋,跳棋等,逐渐在国内盛行。 可以说棋类游戏一直是
中国人民喜闻乐见的一种休闲方式,由于棋类游戏都是比较注重智力策略的,所以 从中
也可以折射出我国人民的智慧。
棋类游戏规则简单,对外部要求 不高,人们可以随时随地进行对弈。但是,真
正能够精通棋类游戏的人却不是很多,主要是棋类游戏具有 变化莫测的特点,人们经常
得在棋局上深思熟虑才能找到克敌制胜的办法。因此,各种棋类游戏都具有开 发智力的
效能。在休闲中使自己得到真正的长进,这或许就是其倍受人们青睐的原因所在!
黑白棋游戏,起源于古希腊,在日本和西方国家比较盛行,其独特的游戏规则,
对人类智慧进行着不断地挑战和激励,因此人们一直乐此不疲!加上上世纪后期电脑的
普及,使黑白棋在 全球范围内风靡,人们通过电脑可以轻松地实现人机对弈或者双人对
弈!
但是,黑白棋在我国开展的比较晚,流行范围还不够广,很多人对它的规则还
不是很了解。为了配合 国内黑白棋的普及活动,为广大的人民群众增添一种既能休闲又
能益智的娱乐形式,使人们得到身心的全 面发展,我们开发了这款
PC
版黑白棋游戏。
现阶段沉迷于网络游戏或者其他游戏的学 生不少,
作为国家即将的建设者和接班人决不
能只是游戏中的高手,
我们只有去磨练自 己的思维,
发挥创造性才能担当得起如此重任,
所以我们更希望能将其在学生中加以推广,让我 们学生找到真正适合自己的游戏!
选题的意义:本次我们组选择这个题目做大作业,一方面是 巩固和提高以前所学的
VC++
的知识;另一方面是因为我们是第一次完成一个软件的系统设计 ,选择一个中等难
度且相对成熟的软件来设计既易于实现又留有一定的上升空间,符合我们的实际情况。
我们所设计的这种黑白棋游戏有几个特点:程序短小精悍,简洁明了;游戏界面美
观 ,容易操作;功能丰富,趣味性强。
3
3
.概要设计
我们的程序从总体上说分为五个块,希望通过五个类来解决,分别为:
(
1
)
位图的导入与棋盘的生成
(
2
)
记录双方对弈时间的计时器与记录双方棋子数的计数器和每一步的走棋信息
(
3
)
选择人机对战与人人对战的函数及控制堆栈难度的函数
(
4
)
设置选项功能和开始退出等简单的实现
(
5
)
任务分工下的保存棋局、载入棋局、重温棋局、英雄榜、悔棋等功能模块的实
现
游戏的简单流程为:
图
1
游戏简单流程图
4
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
:栈功能的实现
静态设计:
5
图
2
静态设计图
棋盘的信息保存为主窗口类
COthelloDlg
类 的成员变量,
重要的几个成员变量与成
员函数个数庞大,附在源码中指示。
在我负责的模块主要包括:游戏开始时对话框中新局和退出功能的设计,游戏难度
(棋力)的设置,游戏 开始后背景音乐的播放,以及帮助对话框的制作。其他的功能我
们从别人的例子中借鉴而实现。
主要有三个菜单和各自的子菜单:
游戏
(G)
:新局
(N )
,计算机演示(
M
),保存棋局
(V)
,载入棋局(
O< br>),导出走棋
信息(
D
),重温棋局(
W
),英雄榜(
B
),退出
(X)
。
选项
(O)
:悔棋
(U)
,提示(
T
)
,
查看可以下子的地方(
C
)设置(
S
)。
帮助(
H
):黑白棋帮助(
R< br>),关于黑白棋(
A
)。
每个子菜单都是通过在
CBWCh essDlg
下添加事件处理来实现其功能的。
在界面设计中,我们设计了十二个对 话框模块。分别用以实现各个功能的人机交互
功能。其中的部分模块是允许多个功能去调用实现的。
初始界面:
6
图
3
游戏界面
菜单选项:
刚打开程序,可对程序进行设置,设置菜单如下:
图
4
设置界面与新游戏界面
设置:其中显示声音效果的添加与否。可以选择声音效果,如 果选择了声音效果,
当你在游戏时,如果每次下对或者下错都会有不同的声音进行提醒。
在开始新局进行游戏时,
会有黑白棋基础的游戏设置。
你可以根据自己的技术选择初级、< br>中级、专家级进入游戏。此时系统会根据游戏程序算法适应的做出对应处理对策。
7