头像上有个1-
基于
EGE
图形库
五子棋游戏实验报告
目录
1
课程设计
.
............................................ .............................................
3
1.1
课程设计的背景
............ .................................................. ...........
3
1.2
课
程设计的目的
.............................. ...........................................
3
1.3
课
程设计的要求
........ .................................................. ...............
3
1.4
课程设计的开发环境
.
....................... ........................................
4
2
功能描述
.
..................... .................................................. .................
4
2.1
初始界面
.. .................................................. .................................
4
2.2
人机对战
.................................. ................................................
4
2.3
玩家对战
.
.......... .................................................. ......................
5
3
程序实现
..................................... .................................................. ..
5
3.1
界面设计
.
....... .................................................. ...........................
5
3.2
人机博弈
.............................. .................................................. ....
9
4
软件展望
................. .................................................. .................... 10
5
收获心得
........ .................................................. ............................. 10
2
1
课程设计
1.1
课程设计的背景
五子棋相传起源于四千多年前的尧帝时期,比围棋的
历史还要悠久,可能早在“尧造围棋”之前 ,民间就已有五
子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,
因为古代五子棋的棋 具与围棋是完全相同的。在上古的神话
传说中有“女娲造人,伏羲做棋”一说,
《增山海经》中 记
载:
“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。
”
李善注引三国 魏邯郸淳《艺经》中曰:
“棋局,纵横各十七道,
合二百八十九道,白黑棋子,各一百五十枚”
。这段虽没明讲
是何种棋类,但至少知道远古就以漂亮的石头为棋子。因而
规则简单的 五子棋也可能出自当时,并是用石子作棋子。亦
有传说,五子棋最初流行于少数民族地区,以后渐渐演变 成
围棋并在炎黄子孙后代中遍及开来。在古代,五子棋棋具虽
然与围棋相类同,但是下法却是完 全不同的。正如《辞海》
中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,
轮流下子 ,先将五子连成一行者为胜”
。
传统五子棋棋子分为黑白两色,棋盘为
15 ×15,棋子
放置于棋盘线交叉点上。
因为传统五子棋只能实现人人对
战, 而用计算机编程能够实现人机对战,一个人的时候也能
体验五子棋的乐趣。因此我们设计了一款兼具人机 对战与玩
家对战功能的五子棋游戏。
1.2
课程设计的目的
3
1.
加深对
C
语 言数据类型,运算,语句结构及其程序设计的
基本方法理解和掌握;
2.
初步学习和使用图形库;
3.
通过编写一个完整的程序,一方面可以检查我们这学期的
学习情况,为以后
的学习打下坚实的基础;
4.
初步了解
C
语 言游戏编程,在此次程序设计过程中掌握五
子棋游戏开发的基本原理,从而为以后的程序开发奠定
基础
1.3
课程设计的要求
1.
编写程序代码,调试所写程序使其能够正确运行;
2
.能进行基本的五子棋操作,有图形界面,能够用鼠标操
作;
3.
能够实现玩家对战与人机对战。
1.4
课程设计的开发环境
Win10
操作系统下的软件开发工具
Cod e
:
Blocks
与
Visual
Studio 2017
,使用
EGE
图形库进行开发。
2
功能描述
2.1
初始界面
1.
设计了缤纷绚丽的初始界面,充分的吸引的玩家的眼球,
激发玩家的游玩欲望;
4
2.
运行程序经过“
EGE
”启动动画后进入首页, 玩家在菜
单栏中通过鼠标选择进入“人机对抗”与“玩家对战”
游戏模式;
3.
选择一个模式后切换至相应游戏界面,根据提示信息开
始游戏;
4.
色彩分明的菜单栏与大小适中的选项框的设计,再结合
鼠标操控,玩家 使用起来方便快捷;
5.
在右下角表明了班级与姓名,方便程序的交流。
2.2
人机对战
1.
应用来源于网络上“关于五子棋的人机博弈算法” 中最
出名同时也是应用最广泛的“
flat
技术”“打分机制”
“棋型判断和 禁手判断”和“
AI
算法”,根据设计者说
明的引导,将算法移植了进来,使得电脑方 具有相当的
智慧;
2.
游戏界面的棋盘旁边设计有“棋子计数板”,方便玩家
结合以考虑棋盘上的形势;
3.
游戏界面使用木色为背景,让玩家操作起来更具真实感;
4.
当有一方胜出后,会在游戏界面底部分别显示“恭喜您
取得了胜利!” 与“您输了!请再接再厉!”来提醒玩
家游戏结束;
5.
当游戏结束后,玩家可以点击“返回首页”以返回主菜
单来继续下面的游戏。
2.3
玩家对战
5
1.
进入游戏界面后显示提示信息“您已进入玩家对战
白方
先手
请落子以开始游戏”;
2.
使用鼠标轮流落点,操作简单方便;
3.
左上角显示“模式:玩家对面”,提醒玩家当前模式信
息;
4.
和
人机对抗
一样具有“计数板”、“游戏输赢提醒”和
“返回首页”等功能,在此不再赘述。
3
程序实现
3.1
界面设计
1.
首页界面
界面包括几个窗体,第一个窗体是首页,首页使用
E GE
的图形绘制功能绘制了一系列填充了不同鲜艳颜色的
长方形,包括游戏标题栏,模式菜单栏 ,游戏模式选择框
以及备注框;使用
EGE
中的文字打印功能显示出游戏标题,
模式选项,装饰语言以及作者信息;并结合
EGE
中获取鼠
标点击的坐标信息的函数 设计了模式选择函数,是用户可
以通过点击界面上的选项区域来进入与之相应的游戏模式,
操作 简单方便。
此
部
分
主
要
通
过
void
ShouYe
(
)
函
数
与
void
mo shixuanze
()函数实现,下面是这两个函数的代码与相
应注释。
void ShouYe()//
首页界面
{
6
whitewin=0;
blackwin=0;
memset(placeblack,0,sizeof(placeblack));
memset(placewhite,0,sizeof(placewhite));
xuanze1=0;
xuanze2=0;
initgraph(800,600);//
初始化画幅
setbkcolor(EGERGB(0xEE,
0xEE));//
设置背景颜色
setfillcolor(EGERGB(0xAD,
0x2F));//
标题栏
bar(0, 0, 800,150);
setcolor(EGERGB(255, 69, 0));//
文字颜色
化
setbkmode(TRANSPARENT);//
文字填充透明
0x82,
0xFF,
setfont(100,
43,
华文 琥珀
字体高度
,
字体宽度
(
为
0
即为自适 应
),
字形
),
幼圆字体
outtextxy(15,
20,
寒假作业:五子棋
在
坐标为
(10,20)
显示
“
寒假作业:五子棋
”
//
设置装饰文字
setbkmode(TRANSPARENT);
setcolor(EGERGB(0, 255, 255));//
蓝
setfont(100, 0,
华文行楷
rectprintf(50,200,150,500,
休
nn
闲
7
头像上有个1-
头像上有个1-
头像上有个1-
头像上有个1-
头像上有个1-
头像上有个1-
头像上有个1-
头像上有个1-
本文更新与2021-01-27 06:06,由作者提供,不代表本网站立场,转载请注明出处:http://www.xapfxb.com/yuer/429896.html
-
上一篇:本科毕业设计---五子棋游戏的设计与实现
下一篇:C++ 五子棋游戏论文