基于C#的五子棋游戏开发

玛丽莲梦兔
750次浏览
2021年01月27日 22:28
最佳经验
本文由作者推荐

共青团员入党申请书-中国旅游路线

2021年1月27日发(作者:奋斗姐)
..
















































.

















































.. .


..












青岛理工大学琴岛学院













课题名称:基于
C#
的五子棋游戏开发






院:计算机工程系



专业班级:计科(专升本)
14-21







号:







生:



指导教师:


青岛理工大学琴岛学院教务处

2015


12


18






































v














































.. .










2







课题名称


基于
C#
的五子棋游戏
开发


指导教师

设计时间


2015.11.23-2015.12.18
设计地点

动漫
1
课程设计的目的就是培养学生的理论联系实际的能力。通过课程设计,
使得学生能够加深对讲授 内容的理解、累积经验、学会独立上机调试程序;
并且逐步达到综合运用网页相关知识,
真正掌 握
.NET
技术的精华,
从而达到
熟练应用程序设计语言的目的。也为将来做 较大的系统打下坚实基础。

通过本次课程设计,应该达到以下教学任务:


设计目的

巩固所学知识,培养学生的上机实践能力以及独立调试程序的能力,更主要的是使学生了解做项目的大体流程。

每一个小组制定一题,项目成员要在项目经理的带领下,完成项目的所
有内容。
重点掌握

网站设计开发流程,界面要友好,功能齐全,完成一
个综合项目。






指导教师

评语









2


2



需求分析

1.
选题:

通过学习
window
窗体应用程序的开发与 实现,对
C#
程序开发逐渐产生了浓厚的兴趣
,
心中有了设计游戏的想法, 通过学习和查资料慢慢对游戏制作有了一定的了解,后来通过深
入学习,对五子棋游戏设计有了进一步了 解,慢慢理清了其中的开发过程与原理,最终确定
了基于
C#
五子棋游戏的设计与实现 项目。

2.
界面:


1
)通过上网学习,对游 戏界面风格有了一定的认知,于是决定走界面美观风。手游中
的主界面给人一种简单明了的感觉,通常有 模式关卡,让玩家越玩越带感,于是决定模仿它
们,游戏主界面有四个模式,玩家可以选择不同模式进行 对弈。如图
1
所示:


模式一

模式二

模式三

模式四



1.
主界面


2
)游戏模式一,双人对战模式 。界面右侧有悔棋、返回、排行榜、关于、重新开始等
功能按钮,点击各按钮,执行各功能。如图
2
所示:


2













































































































































































































































悔棋按钮

重新开始按钮
返回按钮

排行榜按钮

关于按钮



































2.
模式一界面










3
)游戏模式二,人机对战模式。
游戏界 面中左部是棋盘,悔棋、
返回、排行榜、关于、
重新开始等功能按钮,此模式实现了人和电脑的 交互。如图
3
所示:


2
























































































































































































悔棋按钮














重新开始按钮
返回按钮

排行榜按钮

关于按钮



































































3.
模式二界面


4

游戏模式三,
让子挑战模式。
游戏界面中左部是棋盘 ,
右部有悔棋、
返回、
排行榜、
关于、重新开始功能选项按钮。和模式二不同 的地方是让子,开局后棋盘中布好了让给电脑
的白子。正所谓有人的地方就会有争斗,游戏中有菜鸟就会 有高手。高手喜欢挑战,于是挑
战模式应运而生。此模式的界面和模式二界面相同,在此不再重画。

5
)游戏模式四,收拾残局模式。游戏界面中左部是棋盘,右部有摆棋、对战 、悔棋、

2

返回、再来一局功能选项按钮。和模式二不同的地方是开局 ,开局后玩家需先摆放棋子,然
后点击对战按钮开始游戏。此模式界面设计参造模式二,不再重画。
3.
功能划分:

通过对五子棋游戏的分析与了解,可知其基本功能有 开始、保存、打开、悔棋、认输、
和棋、返回、退出及聊天等功能。在这里,由于条件时间有限,仅实现 悔棋、返回、重新开
始及模式选择等功能。


1
)模式选择功能: 在打开游戏后,出现在玩家面前的是模式选择窗口,即主窗口。玩
家可通过点击相应按钮进入相应模式进 行对弈。此功能参照手游及单机小游戏主界面简约美
观的特性制作的,多模式的增加符合广大玩家的喜好 。


2
)悔棋功能:在每个模式中都有悔棋功能,在模式一中每次悔棋退后 一子,模式二到
模式四每次悔棋退后两子,棋盘开局后就有的让子的棋子悔棋无效。人无完人,谁能不犯 错,
根据玩家的棋艺高低程度难以把握,为了让玩家不至于因电脑太强对开发者产生怨言,从而
有了悔棋功能,进而对五子棋菜鸟起引导作用,使其怀着开心的心情与保持兴趣走向棋圣之
路。对于高手 而言,棋品也是要有的,悔棋功能形同虚设而已。


3
)从新开始功能:此 功能是菜鸟提升棋艺的首选功能,当玩家进行游戏到中途时,因
棋势不明,或要败时,不能接受这一现状 ,导致心情低落,怎么办?只需轻轻一点,一切回
归起点,也就是初始化而已。

(< br>4

返回功能:
此功能的作用是退出当前模式,
回到游戏主窗口,也就是模式选择窗口。
方便玩家在各个模式自由出入,尽情的展现自己的风采。


5
)人机对弈电脑下棋功能:在模式二到模式四中,玩家的对手都是电脑,电脑棋力取
决于开发者,在某中意义上来说,玩家在和开发者对弈也是正确的。此功能是程序按照一定
的算法循环 扫描,算出己方和敌方最佳落子点,再判断出攻守,选出最终的落子点,落子后
等待玩家落子。


2


6
)让子功能:在模式三中,为了增加游戏难度 ,对棋艺大成者量身打造了让子功能。
开局后,一般都是黑棋先行,在这里玩家执黑,让电脑
1
子,棋盘上变成了电脑执白先行
1
子,白棋落在天元位置上,难度一般。玩家赢后,挑 战难度
+1
,玩家让电脑
2
子,棋盘上电
脑执白先行
2子,白棋落在天元位置左右两侧,难度适中,适合一段棋手挑战。玩家赢两局
后,挑战难度
+1
,玩家让电脑
3
子,棋盘上电脑执白先行
3
子,考录到一般玩家 没有如此高
深棋力,因此白棋分散落在棋盘交叉线上,难度相对适中,适合一段及以上棋手挑战。让4
子和
5
子也是一样的原理,难度较高,适合二段及以上棋手挑战。对战后,会在 棋盘中部上
方显示让子数目,为迎合玩家的虚荣心理而设计。


7
)判断胜负功能:
在每个模式中都需要对对局进行胜负判断,
进而产生了胜负判断功
能 。其功能原理是对玩家或电脑下的棋子进行循环扫描,对各个方向扫描黑白子双方是否形
成五子连珠,根 据形成五子连珠方判断胜负,根据判断弹出对应的胜负提示框。再根据所属
模式对胜负后的对局进行参数 修改,如:模式一和模式二,不论胜负只需对其进行初始化;
模式三,玩家胜出,让子加一,难度增加, 需对其让子参数进行修改,反之则不进行任何处
理操作;模式四,玩家胜出,对局胜出参数加一,呼应必 胜模式的让子布局功能,玩家失败
则不进行参数修改操作等。


8
)初始化界面功能:
在每个模式中都需对窗口界面进行初始化,
考录到原有界面运行
后 的效果略显呆板,为增加美观性,需要对各窗口进行导入图片处理,美化界面。根据对局
情形,在棋盘中 部上方显示提示文字,并在棋盘上显示存在的棋子,对各参数进行初始化处
理。

4.
自定义类描述、各类方法描述及添加的命令响应。如表
1
所示:

































































1.
用到的类



































类名

描述说明


2

Form3
模式一游戏窗口类,
该类主要对该模式下的窗口初始化并对鼠标等事件消息进行处理,
实现悔棋功能、
返回功能、
排行榜功能、
关于功能、< br>重新开始功能等。

Form4
模式二游戏窗口类,
该类主要对该模 式下的窗口进行初始化并对鼠标
等事件消息进行处理,实现人机对弈功能、悔棋功能、返回功能、排行榜功能、关于功能、重新开始功能、提示胜败功能等。

Form5
模式三游 戏窗口类,
该类主要对该模式下的窗口进行初始化并对鼠标
等事件消息进行处理,实现让子功能 、人机对弈功能、悔棋功能、返
回功能、排行榜功能、关于功能、重新开始功能、提示胜败功能等。
Form6
模式四游戏窗口类,
该类主要对该模式下的窗口进行初始化并对鼠 标
等事件消息进行处理,实现摆棋功能、人机对弈功能、悔棋功能、返
回功能、排行榜功能、关 于功能、重新开始功能、提示胜败功能等。


二、总体设计

1.
游戏功能概述

打开程序,游戏开始运行,登录进入模式窗口,选择游戏 模式窗口弹出,窗口中有四个
模式选择按钮,点击按钮,分别弹出对应的模式一、二、三、四窗口,完成 具体模式的跳转。

对于模式一,玩家点击鼠标进行下棋操作,判断点击点在棋盘内且无子时, 在点击点画
出棋子;如果点击点在棋盘外或有子时,则不处理,返回等待鼠标命令。然后判断是否存在< br>五子连珠,如果不存在五子连珠,则返回等待鼠标命令;如果存在五子连珠,则进行判断胜
负并提 示胜负信息,再调用
OnStart()
函数初始化模式一窗口,重新开始游戏。
< br>玩家点击悔棋按钮,调用悔棋功能函数
OnHuiqi()
,在窗口中重画棋盘,去掉最 后下的一
个棋子,把悔棋后存在的棋子重新画在棋盘上。


2

玩家点击重新开始按钮,程序调用
OnStart()
函数,初始化模式一窗口,重新 开始游戏。





对于模式二、三、四,玩家点击鼠标 进行下棋操作,首先调用
MouseMove
函数。此函数
的作用是判断点击点在棋盘 内且无子时,
在点击点画出棋子,
如果点击点在棋盘外或有子时,
则不处理,返回等待 鼠标命令。然后调用
gameOver()
函数判断是否存在五子连珠,如果存在
五子 连珠,则进行判断胜负并提示胜负信息,再调用
OnStart()
函数初始化这一模式窗口, 重
新开始游戏;如果不存在五子连珠,则调用
AiGo()
函数,进行电脑扫描最佳落 子点完成电脑
下棋操作。再调用
Over()
函数判断是否存在五子连珠,如果不存在 五子连珠,则返回等待鼠
标命令;如果存在五子连珠,则进行胜负判断并提示胜负信息,再调用
OnStart()
函数初始化
这一模式窗口,重新开始游戏。玩家点击悔棋按钮,程序调用悔 棋功能函数
OnHuiqi()
,在窗
口中重画棋盘,去掉最后下的两个棋子,把悔棋 后存在的棋子重新画在棋盘上。玩家点击重
新开始按钮,程序调用
OnStart()
函数,初始化模式一窗口,重新开始游戏。

1.
绘制游戏进程图,如图
4
所示:

模式选择窗口

































模式一选择按钮

模式二选择按钮

模式三选择按钮

模式四选择按钮

模式一窗口

模式二窗口

模式三窗口

模式四窗口

退出

排行榜

2






等待鼠标命令



鼠标点击弹起







判断点击点在棋盘内且无子






在点击点画出棋子





判断是否存在五子连珠







弹出胜负提示框






































悔棋

等待鼠标命令

鼠标点击弹起

关于



从新开始



在点击点画出棋子

判断点击点在棋盘内且无子

判断是否存在五子连珠





弹出胜负提示框

电脑扫描最佳落子点





判断是否存在五子连珠


4.
流程图


2

共青团员入党申请书-中国旅游路线


共青团员入党申请书-中国旅游路线


共青团员入党申请书-中国旅游路线


共青团员入党申请书-中国旅游路线


共青团员入党申请书-中国旅游路线


共青团员入党申请书-中国旅游路线


共青团员入党申请书-中国旅游路线


共青团员入党申请书-中国旅游路线