五子棋游戏设计方案
绝世美人儿
993次浏览
2021年01月18日 14:53
最佳经验
本文由作者推荐
少儿美术课程-愚人节的英文
百度文库
-
让每个人平等地提升自我
目
录
一、摘要:
................................. 1
二、关键字:
............................... 1
三、程序主流程图
........................... 2
四、需求分析:
............................. 3
五、关键部分设计算法及实现:
................ 4
六、文件清单:
............................. 9
七、使用说明:
............................. 9
八、参考书目:
............................. 10
九、附录:
(源代码清单)
..................... 11
五子棋程序
一、
摘要:
1
百度文库
-
让每个人平等地提升自我
五子棋游戏是一历史悠久,对抗性强,技巧性高的棋类游戏。本文用
VC
设计了五子棋游
戏。并就以下问题进行了探讨:
(
1
)
棋子棋盘在程序中的表示;
(
2
)
如何通过鼠标点击落子;
(
3
)
如何判断输赢,在棋盘的—,
|
,
/
,
,四个方
向进行搜索,超过
5
子以上连成一线 则认为赢了。
(
4
)
如何实现梅棋功能。
(
5
)
如何保存并读入棋谱;
(
6
)
如何让电脑拥有人类的智慧;
(
7
)
编写软件代码应遵守的编写规 范,成对编码原
则和代码的注释
;
(
8
)
其它未详尽处,请参看源代码。
二、关键字:
棋盘数组
搜索算法
人工智能
活
半活
双活三
2
百度文库
-
让每个人平等地提升自我
三、程序主要类结构图
3
百度文库
-
让每个人平等地提升自我
CfiveStoneApp
4
百度文库
-
让每个人平等地提升自我
四、需求分析:
五子棋历史源远流长,发展形势喜人,以下在网络上一篇有关五子棋历史发展的报道:
五子棋是起源于中国古代的传统黑白棋种之一。 现代五子棋日文称之为“連珠”
,英译
为“
Renju
”
,英文称之 为“
Gobang
”或“
FIR
”
(Five in a Row< br>的缩写
)
,亦有“连五子”
、
“五
子连”
、
“串珠”
、
“五目”
、
“五目碰”
、
“五格”等多种称谓。
?
五子棋不仅能增强思维能力,
提高智力,
而且富含哲理,
有助于修 身养性。
五子棋既有现代休闲的明显特征
“短、
平、
快”
,
又有古典哲学的高深学问“阴阳易理”
;它既有简单易学的特性,为人民群众所喜闻乐见,
又有 深奥的技巧和高水平的国际性比赛;
它的棋文化源渊流长,
具有东方的神秘和西方的直
观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。
?
五子棋起源于古代中国,
发展于日本,风靡于欧洲。对于它与围棋的关系有两种说法 ,
一说
早于围棋,早在“尧造围棋”之前,民间就已有五子棋游戏;一说源于围棋,是围棋发展 的
一个分支。
在中国的文化里,倍受人们的青睐。古代的五子棋的棋具与围棋相同,
纵 横各十
七道。
五子棋大约随围棋一起在我国南北朝时先后传入朝鲜、
日本等地。
据日本史料文献介
绍,
中国古代的五子棋是经由高丽
(
朝鲜
),
于
1688
年至
1704
年的日本元禄时代传到日本的。到日本明治
32
年
(
公元
1899
年
)
,经过公开征名,
“连珠”这一名称才被正式确定下来,取
意于
“日月如合壁,五星如连珠”
。
从此,
连珠活动经过了不断的改良,
主要是规则的变化< br>(
即
对执黑棋一方的限制
)
,例如,
1899
年规定 ,禁止黑白双方走“双三”
;
1903
年规定,只禁
止黑方走
“双三 ”
;
1912
年规定,
黑方被迫走
“双三”
亦算输;
1916
年规定,
黑方不许走
“长
连”
;
1918
年规定,黑方不许走“四、三、三”
;
1931
年规定,黑方不许走“双四”
,并规定
将
19
×
19
的围棋盘改为
15
×15
的连珠专用棋盘。
本世纪初五子棋传入欧洲并迅速风靡全欧。
通过一系列的变 化,
使五子棋这一简单的游戏复杂化、
规范化,
而最终成为今天的职业连珠
五 子棋,
同时也成为一种国际比赛棋。
?
目前,
职业连 珠已迅速在国际上发展起来。
1988
年
8
月
8
日,国际连 珠联盟
(RIF)
由日本、俄罗斯、瑞典、亚美尼亚、阿塞拜疆、爱沙尼亚、
法国、拉 脱维亚、白俄罗斯等
9
个成员国在瑞典宣告创立,我国于
1996
年正式加入 国际连
珠联盟,现在全世界已有
47
个国家和地区成为国际连珠联盟的正式会员。职业 连珠的世界
锦标赛从
1989
年起每两年举办一次,现已举办了六届,第三、五、六届 的冠军是爱沙尼亚
人,其余三届的冠军都是日本人。我国最好成绩是团体第七,
个人张进宇第< br>9
名。
就水平而
言,目前以俄罗斯、日本、瑞典最强,其中日本研究也最深,我 国只处于中等水平。日本拥
有自己的五子棋职业棋手,
并且对连珠技术的研究也相当普遍和全面 。
日本每年举行连珠名
人战。
?
五子棋的根在中国, 有着广泛的群众基础。但与世界先进的五子棋技术相比,
我们的棋艺水平还很低,
所以我们要推 广五子棋,
宣传五子棋,
争取在较短的时间内赶上和
超过世界五子棋坛的先进水平。< br>1990
年,由那威和十几名五子棋爱好者,共同发起并成立
了中国第一个现代职业五子 棋的民间组织
----
京都五子棋队,现已发展成为拥有百余名选手
的北京京都五子棋 队。
日本连珠联盟曾多次派代表团访问中国,
与中国广大爱好者进行交流
和友谊比赛, 瑞典连珠联盟也于
1995
年派代表团访问了中国,京都五子棋队曾两次选派选
手代表 中国参加世界杯比赛,
取得此成绩反映了我国五子棋水平在世界上所处的位置,
同时
也 显示了我国在此项运动中的发展潜力。
1997
年
5
月北京成功地举办了第一 届“康柏杯”
5
百度文库
-
让每个人平等地提升自我
国际五子棋名人邀请赛,
引起了国际棋联的极大重视,
并在第四十四届棋联 会议上提出:
“中
国作为五子棋的发源国,
不仅回到了国际大家庭中来,
更重 要的是对五子棋在下个世纪的发
展起到了世界性的推动作用,并将为国际连珠棋成为奥运项目做出贡献。
”
?
随着
1996
年中央电视台
( CCTV-5)
《黑白世界-五子棋讲座》的开播和中国五子棋网上比赛的开通,
将世界连珠五 子棋运动的最新状况及时展现在眼前,为五子棋爱好者提供了尽情参与的机
会,
这无疑对国内的 普及、
发展起到了推动的作用。
北京连珠五子棋体育文化交流中心已拥
有了
2 2
位国际段位棋手,他们肩负着新的历史使命,不断为中国五子棋爱好者提供立足国
内、面向世 界、一展才华的机会。我国于
1998
年
8
月成功地举办了第二届世界杯青少 年锦
标赛,
1999
年
7
月在北京举办了第六届世界杯冠军赛,2000
年将举办第三届世界杯团体赛。
在北京的带动下,
全国其他地区也先后成 立了五子棋组织。
河北廊坊地区成立了廊坊五子棋
协会;
天津市成立了由天津市体委领 导的天津市五子棋工作委员会;上海、
云南、
杭州等地
也都成立了五子棋的组织。五子 棋的发展在中国出现方兴未艾之势。
?
一位哲人说过:
“中国 人的智慧火种,
往往使外国人得以燎原,
反过来,
燎原的火焰必将照亮火种的源头。< br>”
如上文所述,五子棋既简单易学,又有其内涵和深度;集娱乐 性和对抗性为一体,
是一款为
老、少、中各年龄阶段的人所喜欢的棋类游戏。
五、关键部分设计算法及实现:
系统地将五子棋程序完成,是有一定难度的。现将其关键部分的实现过程描述如下:
1
、
如何表示棋盘棋子。
五子棋棋盘由
15*15
横竖线交叉绘制而成,落子点在横竖的交叉点上。
采用
15*15
的二维数组表示棋盘,每个数组元素表示一个交叉点,用数 组的值表示棋子:
以
0
表示未落子;
以
1
表示黑子;
以
2
表示白子。
注:
在程序中棋盘数组在中定义,是一全局数组;
long
FiveChess[15][15];
在主程序中初始化:
for(int
I=0;I<15;I++)
6
百度文库
-
让每个人平等地提升自我
for(int j=0;j<15;j++)
FiveChess[I][j]=0;
刚开始时棋盘中未落一子,故全部交叉点为
0
。
2
、
如何用鼠标落子。
算法:
当程序在棋盘上点击一次后,
捕获这个鼠标点击位置,< br>如果这个点的位置在棋盘在棋盘范围
内,则认可这一鼠标点击,否则,则认为这次鼠标点击无效。 若鼠标点击在棋盘范围之内,
则还要进一步判断,
在这个位置是否已经落下了子,< br>如果是也认为此次点击无效,
如不是,
则在棋盘数组填写相应的数据(或
1或
2
)
,并相应的位置画出一个棋子。
具体实现:
当用户在程序窗口点击一次鼠标后,
松开后,
进入窗口过程的消息分支
WM_LBUTTONUP
;
在这个 消息中的参数
lParam
中带有鼠标点击松开时的位置(
x
坐标,
y
纵坐标)
,放到一个
用
POINT
定义的结构中:
POINT pp;
=LOWORD(lParam); 402||>402) break;//
超出范围而退出,等待下一次按键落子。
下一步:
POINT ArrayPp=PositionToPosition(pp);
把刚才棋盘范围内的有效点击屏幕坐标转为棋盘数组坐标,
7
百度文库
-
让每个人平等地提升自我
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
50,50
8
百度文库
-
让每个人平等地提升自我
9
百度文库
-
让每个人平等地提升自我
10