APP下载

基于Linux的象棋游戏的设计*

2022-10-31蒋志凤徐家磊

山西电子技术 2022年5期
关键词:敌方方格棋子

蒋志凤,徐家磊

(湖南科技学院智能制造学院,湖南 永州 425199)

0 引言

中国象棋发展到今天,已有近两千年的历史。随着信息技术的发展,棋牌对弈类游戏因其优良的娱乐性、智慧性和方便性深受大众喜爱[1]。2017年4月9日,象棋国际发展研讨会在成都职业技术学院(成都棋艺学院)举行,陈泽兰在会上指出:“目前是智力运动发展的一个关键时期,如何在这个重要的战略机遇期,做好象棋运动的国际推广,实现从民族到世界的跨越,是象棋运动发展面临的一个重大挑战”。针对目前市面上的象棋游戏在不能悔棋,不能认输等游戏功能方面有待优化,本文基于Linux操作系统设计了一款象棋游戏,优化了象棋游戏中的一些功能。

1 软件设计

1.1 棋子的走法

帅(将):可以走任意位置,每次只能移动一格,能翻盖出现在任意位置,作为最强大的兵种,只能被小兵吃掉,其他棋子都不是对手,可以被炮隔子吃掉。

士(仕):作为帅将的门前护卫,精通十八般武艺,排行第二,除了敌方老将之外的棋子,在他旁边都只能被他吃掉,同样炮可以隔子吃掉它。

相(象):保卫国家的一把手,排名第三,除了士和将不能被吃掉,其他兵种都不是他的对手,每次只能移动一个方格,可以被炮隔子跳吃。

马:排名第四,每次只能移动一个方格,可以干掉敌方车、兵、炮,但是遇到炮隔子跳,也是无济于事,只能任人宰割。

车:排名第五,可以吃掉敌方的炮和兵,不能盲吃,每次只能走动方格一步,遇到炮的隔子跳,无济于事,只能被吃掉。

炮:最特殊的一个棋子,因为他的出现,游戏的趣味性才能出来,第一个技能就是盲打,可以在他被翻出来之后,盲打其他棋子,尽管是不知道这个棋子是啥,不论是自己方的棋子,还是敌方的棋子,都会被清除场外;第二个技能,只要两点中间存一颗棋子,炮可以吃掉任意棋子,所以他很需要其他的棋子的配合;第三个技能,他不像其他棋子一样,每次只能移动一个小格,他可以做到横冲直撞,横纵方向只要中间没有棋子,可以移动到任何位置。

兵(卒):它存在的目的只有一个,那就是吃掉对方的将帅。每次只能移动一个小方格[2]。

1.2 棋子的行走规则

棋子的移动规则以“卒”、“炮”为例。如图1是卒(兵)的行走轨迹图,每次行动只能移动一个方格。首先注意的是,兵在过河前只能往前行走,也就是只能挺身往敌方敌营前进,过河间之后,将帅对他的控制相对变小,他开始可以往两边慢慢行走,但是本着杀敌的信念,他只能往前,不能退后,永远做最勇敢的那一个小兵,每次行走之前需要判断,行走的位置是否存在自己的军友。图2是炮的行走轨迹图,可以横纵方向行走多个方格,当行走的终点没有棋子时,可以移动到指定位置。他不能直接吃掉敌方的棋子,如果想吃掉敌方棋子,需要借助其他棋子的帮助,必须在炮和敌方棋子之间存在任意一颗棋子,也仅仅只能是一颗棋子,当然他不能斜着走动。

图1 卒(兵)行走轨迹图图2 炮行走轨迹图

1.3 系统总流程

图3 游戏总体设计流程图

如图3所示,整个游戏一共分为两个模式:一个是传统模式,一个是娱乐模式。从游戏主菜单界面,选择模式开始分为两条通路。传统模式下,玩家双方对战,通过玩家的聪明才智,利用每个棋子的灵活变换,达到将对方将死的状态,玩家获得胜利。在中途下错了,也可以选择悔棋,但是不能一直悔棋,只能悔棋一步,然后觉得自己没有胜算了,可以选择认输或者重新开始游戏。娱乐模式下,每个棋子都是背面朝上的,通过玩家的点击,翻开棋子,随机出现棋子,通过翻开的棋子吃掉对方的棋子,直到最后把某一方的棋子全部吃完后获得胜利[3]。

1.4 系统总体框图

如图4所示,本系统设计共分为四个模块:图片解析映射模块,传统模式模块,娱乐模式模块,触摸屏解析模块。图片解析模块负责分析出所有使用的图片的像素点,传统模式模块负责传统模式的游戏运行,娱乐模式模块负责娱乐模式的游戏运行,触摸屏解析模块负责手指点击屏幕的位置获取[4-5]。

图4 总体模块图

1.5 软件测试

图5 游戏界面图

图5是传统模式的游戏界面图。点击棋子,然后控制棋子吃掉对面棋子,其中返回主菜单可以回到游戏主界面;点击悔棋,可以回到上一步;点击认输,直接显示对手获胜。中间的红方走棋表示轮到红方走子。通过测试,验证了本设计的功能实现,展示了关于游戏的界面图。两个模式下的界面图,解析每个模式中的每个按键的作用;验证传统模式的被将军,悔棋等功能,验证关于传统模式和娱乐模式的胜利判断功能。

2 小结

本文基于Linux设计了一款象棋游戏,该设计主要包括图片解析模块、传统模式实现模块、娱乐模式实现模块、触摸屏解析模块等四个部分。本设计在实现了基本的游戏功能之外,还增加了悔棋,退出游戏回到主菜单,认输等功能。在传统玩法的基础上增加了一些更有趣的娱乐玩法。

猜你喜欢

敌方方格棋子
少林韦陀十八手
4打5,敌方还剩几个人?
方格里填数
棋子多少颗
方格里填数
摆棋子
有趣的棋子
分方格
水果大作战
分方格