APP下载

五子棋游戏双人对决的设计与实现

2021-03-24吕橙

现代计算机 2021年3期
关键词:五子棋落子双人

吕橙

(北京建筑大学计算机系,北京100044)

0 引言

五子棋是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。玩法是游戏双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜,双人模式通常是黑子先手,白子后手。五子棋容易上手,老少皆宜,而且趣味横生,引人入胜;它不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋已在各个游戏平台有应用。

文献[1]使用Android Studio 为开发工具,开发了一个基于Android 的五子棋游戏。文献[2]通过电子技术、LabVIEW 技术和投影技术设计投影按键显示五子棋棋盘,真实环境的棋局对弈。文献[3]用Eclipse 工具和Java 语言实现了五子棋游戏单机版的人人对弈的过程,其中对实现双方落子的代码做了详细的描述。文献[4]使用MYSQL 数据库、V-Play 开发框架对五子棋游戏进行了设计与实现,该游戏有三种游戏模式:双人对战模式、联机对战模式与人机对战模式,玩家可以根据自己的需要选择不同的模式进行游戏,并可以和网络上的其他玩家对弈。文献[5]利用了HTML5 新增的Canvas 标签实现了五子棋游戏的开发。

五子棋游戏双人对决模式常用于学生课设、实验等实践环节,本文利用Dev C++软件实现了五子棋游戏双人对决模式。

1 五子棋游戏双人对决模式设计分析

1.1 游戏规则

对局双方各执一色棋子,空棋盘开局,黑先、白后,交替下子,每次只能下一子,棋子下在棋盘的空白点上,棋子下定后,不得向其它点移动,不得从棋盘上拿掉或拿起另落别处。黑方的第一枚棋子可下在棋盘任意交叉点上,无禁手。

1.2 功能分析

游戏功能设计为3 个模块,主要有:

(1)初始化模块,主要包括设置初始化参数和绘制棋盘等;

(2)游戏控制模块,主要包括下子、运行整个对局等;

(3)检查模块,主要是输赢判断。

五子棋游戏功能如图1 所示。

2 五子棋游戏双人对决模式功能实现

2.1 初始化模块

游戏可以设置黑棋先手,无禁手,功能设计主要包括设置初始化参数(如设置棋盘尺寸、棋盘初始数据、先手玩家、回合数、加载背景音乐等)和绘制棋盘。

图1 五子棋游戏双人对决模式的功能模块图

2.2 游戏控制模块

游戏执行过程中,通过键盘上(↑)、下(↓)、左(→)、右(←)方向键操控键盘,通过空格键完成落子,当五子连珠时,本局游戏结束,弹出提示对话框。游戏流程如图2 所示。

图2 五子棋游戏程序流程图

2.3 检查模块

游戏过程中,当玩家一方落子后,随即进行检查判断是否五子连珠,如果五子连珠则游戏结束,否则继续等待移动鼠标或落子。

3 五子棋游戏双人对决模式代码实现

3.1 初始化模块代码实现

绘制棋盘核心代码如下:

3.2 游戏控制模块代码实现

该模块需要进行下子控制,运行整个对局等操作。下子函数:功能是判断该位置是否有下子。代码如下:

3.3 检查功能代码实现

该模块的代码主要是输赢判断,分别检查水平方向、垂直方向、正斜向、反斜向是否五子连珠,核心代码如下:

4 五子棋游戏双人对决模式测试与运行

游戏实现了五子棋游戏双人对决模式的基本功能,可以通过操纵“↑”、“↓”、“←”、“→”实现鼠标的上下左右转动,以及“空格”键进行落子,玩家交替落子,运行界面如图3 所示。

游戏功能还可以进一步完善。例如:

(1)可以设置统计功能,记录玩家胜负盘数。

(2)可以修改为通过鼠标进行控制移动光标和落子,而非键盘“↑”、“↓”、“→”、“←”键和空格进行移动光标和落子。

(3)引入AI 算法,修改为人机对决模式。

5 结语

本文以五子棋游戏为原型,利用DEV C++完成了双人对决游戏模式的基本运行,包括游戏的初始化设置、游戏控制模块和检查模块,游戏操作简单,界面效果良好,基本上能够满足学生课设要求,提高学生的编程兴趣,带给学生具有挑战度的游戏类编程体验。

猜你喜欢

五子棋落子双人
我和爸爸拼棋艺
滑稽五子棋
中国第一个双人滑冰世界冠军
———申雪、赵宏博
琴(外一首)
落子沧州
“双人运球”乐翻天
学下五子棋
夏日五子棋
The Rarest Medal in the Olympies