个性化亚马逊棋的界面设计与实现

2017-05-04 23:34王晨丁濛
智能计算机与应用 2017年2期
关键词:界面设计个性化

王晨+丁濛

摘 要: 本系统以亚马逊棋游戏作为研究对象,在Windows平台下,运用QT语言编写代码实现了一个具有智能、个性化的人机和人人亚马逊棋博弈系统。该系统的界面设计采用卡通的像素风格,除了具有常规的菜单界面、游戏对战界面外,还设置了行棋记录、悔棋位置显示、棋子运动动画显示等界面,实现了用户可根据自己的爱好调节背景音乐、效果音乐音量大小等功能。实验表明该系统是可行并有效的。

关键词: 个性化;亚马逊棋;界面设计;计算机博弈

中图分类号:TP391

文献标志码:A

文章编号:2095-2163(2017)02-0078-03

Abstract:In this system, the Amazon game is the object of study. Under the platform of Windows,the QT language code is used to realize an intelligent and individualized human-computer and person-person Amazon game system. The interface design of the system adopts the cartoon pixel style. Besides the conventional menu interface and game interface, it also sets the interface of row chess record, regret chess position display and chess movement animation display. Users are able to adjust the background music and volume of the effect music. Experiments contend that the system is feasible and effective.

Keywords:individuation;game of Amazon; interface design; computer game

0 引 言

计算机博弈是人工智能一个传统而重要的研究领域。现今以计算机博弈为代表的人工智能技术在计算机游戏中的应用,极大地提高了游戏的娱乐性,已然成为计算机游戏品级确认的核心保障。计算机博弈系统的界面是系统的外在直观表现,是博弈软件系统和玩家交流的门户语言,所以系统界面设计在整个系统研发中发挥着举足轻重的关键作用。

亚马逊棋是由阿根廷沃尔特Zamkauskas 于1988年发明的双人抽象策略游戏,是圈地游戏家族中的一员,同时与国际象棋也形同远亲。亚马逊棋[1]的棋盘由黑白相间的10*10的方格组成,双方右下角为白色格子。棋子每方有4个棋子。时下通用的行棋规则为:

1)每个棋子都相当于国际象棋中的皇后,其行棋方法与皇后相同,可以在8个方向(上、下、左、右、左上、左下、右上、右下)上任意行走,但不能穿过阻碍;

2)当轮到一方行棋时,此方只能、而且必须移动4个Amazons中的一个,并在移动完成后,由当前移动的棋子释放一个障碍,障碍的释放方法与棋子的移动方法相同(8个方向,但不能穿过障碍),同样障碍的放置也是由规则内部生成的;

3)当某方完成某次移动后,对方4个棋子均不能再移动时,对方将输掉比赛;

4)每次开局位于棋盘下方的玩家将执先手行棋;

5)整个比赛中,双方均不能吃掉对方或己方的棋子或障碍。

亚马逊棋不仅能增强思维能力,改善记忆力,而且富含哲理,有助于修身养性。亚马逊棋游戏程序[2-3]的开发使得亚马逊棋同款游戏得到了高效推广及流行,也有越来越多的人开始喜爱并投身于这一游戏活动中。但是,其界面设计在直观视觉上却显得单调无趣、且呆板生硬,这样就使玩家无法尽享棋局中的玄妙与乐趣。

基于此,本文设计开发了一个别样的个性化亚马逊棋游戏,目的是让人们在游戏中享受与电脑激战的乐趣,缓解身心疲劳,开发才智,从而大幅提升亚马逊棋的大众接受度及风靡程度。

1 个性化亚马逊棋游戏主界面设计

一个优秀的游戏系统应该展现一个令人赏心悦目的游戏界面,同时更要具备人性化特质,让玩家操作起来倍感流畅且自然。本文亚马逊棋界面采用卡通生动的像素风格,这样当玩家打开游戏之后,轻松感觉扑面而来,能够惬意地融入到这个游戏的氛围中来。整个界面主要由2个模块组成,分别是:左侧的棋盘模块、右侧的菜单模塊,具体如图1所示。在此,则将对左、右侧模块的功能设计给出如下阐释解析。

1.1 棋盘模块

棋盘模块(chesswidget)是该游戏的主体模块。本文棋盘使用QT中QPaintEvent绘图事件来实现,这样当玩家执行了某一操作后,系统可以即时改变游戏中的元素。为了让界面看起来简约清新并且棋盘划分清晰,棋盘的背景主要是由3个图片拼接而成,视觉呈现则如图2所示。

在960*960像素的界面中,每80*80像素对应着一个位置,在二维数组中正好是12*12,数组中不同的数字代表不同的物件,例如1是红色棋子,2是蓝色棋子,等等……。各种图片由QPixmap组件来装载,随着游戏的进展,图片也会随着数组中值的不同而发生改变。为了让用户更为直接地感受到棋子状态的变化,本程序总共用11个不同图片来表示棋子和障碍,并且使用侵略性更强的红色代表先手方,用偏沉稳一些的蓝色代表后手方,详情如图3所示。

另外,考虑到用户可能会因为边界不清导致误操作,本程序在用户操作棋盘时将鼠标改为黑色方框如图4所示,与此同时方框上下左右对准的坐标元素会特别加重显示,设计细节可见于图5,这样即可使用户知道光标的所在位置,实现方法是先在移动事件中获取当前鼠标位置,通过计算找到上下左右四个字符数字组件,而后将关联图片做出指定改变。

1.2 菜单模块

游戏过程中,用户可能会想看到自己或对手的行棋记录,或者重新开始游戏等等,添加这个模块的目的是让该游戏系统功能更趋完善,并主要由5个按钮集结构成,分别为:开始游戏、游戏记录、悔棋、选项、展开菜单。其中,开始按钮设计提供了系统状态的总体控制,也就是:单人游戏、双人游戏和欢迎界面间的切换均由其实施选择操纵。

在游戏过程中,如果菜单界面始终前置,势必会在视觉上对玩家造成影响,所以引入展开菜单按钮即是旨在当需要时实现菜单隐藏。同时,声音调节也至关重要,选项按钮可以用来调节音量的大小,用格子填充的形式可以使调节过程显现生动视觉效果,用QMediaPlayer中的setmedia函数可以开发生成这一功能。在细节上,为了使用户感受到按钮是“活”的,当鼠标移动到按钮上时,按钮组件的图片会发生改变,点击之后又会有不同变换,这是通过QT中的MouseMoveEvent()来支持获得的,系统会接收光标的位置,当位置到达按钮范围内时,通过逻辑选择启动函数。

2 个性化亚马逊棋游戏子界面设计

为了让用户更多地融入并享受游戏过程,一些重点细节上的功能研发是必不可少的,为此本系统加入了记录模块和提示信息模块。详情论述阐析如下。

2.1 记录模块设计

棋类游戏功能运行的控制关键就是记录,用户可以看到自己和对手的行棋记录,在这个窗口中将会显示出从游戏开始以来所有的行棋步骤。记录方式是根据横向坐标A-J,纵向坐标1-10来设计展开的。这些记录的来源是一个三维数组,三维数组用来存储行棋步,行棋记录处理即如图6所示。

2.2 提示信息模块设计

考虑到玩家想看到更详细的行棋记录,本系统加入了提示信息模块。基于亚马逊棋的特殊性,棋子移动会有一些重复的位置,只有障碍的位置是不变的,因而本系统在设计给出的提示信息模块中就可以看到所有之前施放过的障碍,再通过点击其中的某一个障碍,玩家就会看到曾经施放此障碍的完整过程,这种可视化的方式明显便于玩家观察行棋记录。

除上面论及的功能之外,信息模块还提供一些行棋过程中的提示信息,显示棋子下一步可移动位置:当光标点击或者指定至可以移动的棋子时,在棋盘可以显示出其能够移动到的位置,效果展示如图7所示。在激活这个功能之后,光标在这些位置上移动时将会显示出路径,其风格设计模式则如图8所示,这样可以方便玩家观察能移动到的位置,实现方法是通过调用规则算法来筛选这些一步能走到且中间无障碍的点。如果悔棋的位置不能在界面上形成标识,就可能给玩家制造现实繁琐,所以模块的另一个功能:显示悔棋的点。在鼠标移动到悔棋按钮之上时,显示可悔棋的点。若在双人游戏中,显示的是上一步棋(包括初始点、落棋点、落障碍点);若在单人游戏中,显示的就是双方上一步的位置。单双人视景影像的不同主要是考虑到单人游戏只悔一步的话是没有意义的。

3 结束语

亚马逊棋计算机博弈系统的研究还在不断发展中,本文给出一种个性化亚马逊棋博弈游戏系统的设计思想,同时提供一些独特的功能设计,进而开发论述了系统中重点模块的设计与实现方法。亚马逊棋博弈程序的研究,不但会给计算机博弈带来有益推动,甚至在一定程度必将给整个人工智能領域构迼、并开启新的进程及方向。

参考文献:

[1]Technical Committee of Computer Games, Chinese Association for Artificial Intelligence. University Computer Games Championship & National Computer Games Tournament[EB/OL].[2016-11-21].http://www.caaigames.net/.

[2] 王静文,吴晓艺. 全国大学生计算机博弈大赛培训教程[M]. 北京:清华大学出版社,2013:1-161.

[3] 郭琴琴,李淑琴,包华. 亚马逊棋机器博弈系统中评估函数的研究[J]. 计算机工程与应用,2012,48(34):50-54,87.

猜你喜欢
界面设计个性化
基于OBE的Java程序设计个性化教学研究
个性化护理在老年病患者中的应用效果观察
为小学英语个性化合作学习单做加法
中国传统元素在界面设计中的应用
界面设计中的图形创意方法
新媒体界面设计对当代报纸版面设计的启示
基于博物馆APP界面视觉艺术元素的探究
介于多设备时代下的界面设计表现方式上的差异性
任务驱动法在《界面设计》课程中的应用探索
同桌宝贝