开发工具:
文件大小: 557kb
下载次数: 0
上传时间: 2019-10-11
详细说明:爱恩斯坦棋开发文档,包括很详细的代码开发,是使用JAVA!爱恩斯坦棋介绍
爱恩斯坦棋,德语为 Ein Stein wurfelt nicht!,简称EWN,是德国的教授Ingo
Althofer为纪念爱因斯坦相对论诞生100周年而发明的游戏,于2005年德国爱
因斯坦年官方展览。爱恩斯坦棋的德语直译为“爱因斯坦不投骰子!”,它的发明
来源于爱因斯坦说过的一句话:“我相信上帝不玩骰子”。
爱恩斯坦棋的棋盘由5×5大小的正方形棋位组成,且对弈方分别标记为红
方和蓝方,红蓝双方分别有标记为1~6号数字的棋子。双方走子前需要对棋盘布
局,布局位置如图1.1(a所示,红方的棋子可在棋盘左上角的六个棋位随意放置,
蓝方的棋子在右下角的六个棋位随意放置。
项[口
Xa
(蓝3X(红6
蓝3红6
红3
蓝3)(红2
红2
蓝2
蓝5蓝1
蓝4X(蓝2蓝6
(a)初始布局(b)合法移动方向(c)到达角部位置(d)吃掉全部棋子
图1.1爱恩斯坦棋规则
完成棋盘布局后,双方轮流行棋,先行方即可以是红方也可以是蓝方。行棋
分为两个步骤:投骰子和走动棋子。
首先,行棋方投掷骰子,根椐骰子点数来确定本次行棋可走动的棋子。如果
棋盘上存在编号与骰子点数相同的棋子,则只能走动该棋子,否则可在大于或小
于骰子点数并且接近该点数的棋子中选择一个走动。例如在图1.1(b)中,假设投
掷到的骰子点数为3,蓝方只能走动蓝3棋子,红方可走动红2和红6中的仁意
个棋子
其次,行棋方走动指定的棋子。允许的移动方向如图1.1(b)所示,红方棋子
可向右方、下方、右下方走动,监方棋子可向左方、上方、左上方走动。每次行
棋只能走动一格棋位,且不允许眺格。如果目标棋位上存在棋子,则该棋子被移
出棋盘(即该棋子被吃掉),既可吃口方棋子也可吃对方棋子。
对弈获胜的方式有两条,满足任意一条即可获胜:第一,已方的棋子率先走
动到对方角部棋位,如图1.1(c)所示,蓝3走动到左上方顶点位置后获胜;第二,
己方率先吃掉对方全部棋子,如图1.1(d所示,蓝2吃掉红1后获胜。
中国大学生计算机博弈大赛对比赛时间和先后手进行了限制。甲乙双方共对
阵7局,第1、4、5局甲方先手,第2、3、6、7局乙方先手,先胜4局者为胜
(此为国赛规则,并非校赛规则)。每局每方限时4分钟,超吋判负。
环境配置与系统运行
2.1硬件环境
EWNavaSyetem可在个人电脑上进行开发,其硬件配置需求如表2.1所示。
表2.1硬件运行环境
硬件需求
推荐配置
CPU
ntelR) CoreTM i3及以上CPU
内存大小
4GB及以上
硬盘大小
10GB以上
显示器分辨率
建议1920*1080
22软件环境
操作系统: Microsoft windows10、8、764位
编程语言:Java8
开发环境: Apache Maven36.0
开发工具(IDE): Eclipse Photon Release(4.8.0)
23项目导入
打开 clipse IDE编程工具,点击工具栏中的“文件”→“导入”按钮,会弹
出“导入”窗口。在该窗口中选择“ Maven”→“ Existing Maven Projects”选项
(最新的 Eclipse默认安装了 Apache maven工具,如果没有“ Maven”选项,则
需要手动安装 Maven或下载最新版 eclipse),并单击“下一步”,此时会弹出
“ Import maven Projects”窗口,如图2.1所示。之后,单击“ Browse..”按钮,
选择“ EWNJavaSystem”文件夹,并点“完成”按钮即可导入项目。导入后的
项目文件可在“包资源管理器”中查看,如图2.2所示。
包资源管理X四
Maven Projects
Select Maver proje"1s
A srr/ma n/jau
p盟 ahu ewr
Ruv! Diretvry国习我成果博平台建思坦WNay丬
D翻 ahu ewr. board
〓 ahu ewn, game
M/ewn/pcm.xml ahu: n: C0.1-SNAPSIIOTjar
噩 abu ewr. record
b E ahu ewn strategy. d ce
Select Tree
t H ahu cwr stratcgy evaluation
Deselect ree
b E ahu ewn strategy. initial
t di ahu ewr, strategy,move
翻 ahu ewn,i
p s src/test/java
D副东统库2Sk-1
A project(s)to working sat
色du
>Advanced
targe
自 hs err pid 10048log
自 hs err pid5404l
自 newfile eld
p。 mxl
图2.1 Maven项目导入
图22项目文件
24系统运行
木系统的执行入口位于 ahu ewn包的App类,运行Ap类后即可显示系统
界面,如图2.3所示
色安前大学
赛日期03.26:7
布局渐随机布局
:○红◎篮
二等
随机直仙值超等路
搜宾不衰C
F测试:厂
对冶轮热C
红方O巩家日防○玩冢◎申
蓝方且轮C
o旦脐玩家电
下
红
骰子01203C405
每楫
双堂数1
图23 EWNJavaSystem主界面
3系统使用说明
如图3.1所示,系统界面分为六个功能面板:棋盘显示面板、游戏控制面板、
数据显示面板、棋谱面板、簑略配冒面板和白动对弈面板。
安大学
2)(1
比费日期2019.0321
红巧
布后策机布局
棋盘显示实我°
数据显示和物
执行于旧2
估值
策略配置
搜突采度3
42
代久款
出行间
4)(5
铁代3
游戏空制
游戏控制
布同
t[RED] [BLUE ][null]
余轮数7
D:D2-1;E2-2;E3-3;I1
蓝力获胜化菜
红方获胜轮
图3.1功能面板分布
31棋盘显示面板
棋盘显示面板负责棋盘的显示和玩家下棋功能。由于爱恩斯坦棋分为布局和
行棋两个阶段,游戏开始后,该面板会显示初始的棋盘布局情况,布局结束后显
示当前的对弈棋盘。
如果用户在游戏控制面板中设置了“玩家布局”或“玩家走子”,那么用户
可以通过拖动棋子实现布局或走子。在“玩家布局”中,用户可以通过鼠标“拖
动”一方的所有棋子,并且被拖动的棋子可以覆盖目标位置上的棋子,以实现恢
复残局功能(如果对弈中途系统意外崩溃,可以恢复棋局)。在“玩家走子”中,
用户以能拖动符合规则的棋子,并且棋子只能拖动刭符合规则的棋位上。例如在
图3.1中,如果蓝方的骰子点数为2,那么用户只能拖动蓝2棋子到左、上、左
上方三个棋位上,蓝4和蓝5无法拖动。
3.2游戏控制面板
游戏控制面板负责控制对弈的进程,设置红蓝方“玩家、电脑”走子,以及
骰子点数
该面板右排第一个按钮为开始/重置按钮。游戏未开始时显示“布局”字样,
点击按钮后进入布局阶段,按钮显小“确认”字样,此时可以进行布局。布局完
成后点击“确认”进入行棋阶段,接钮显示“重置”字样。点击“重置”时直接
结束当前游戏,开始新游戏的布局阶段。第二个按钮为投骰子按钮,点击后可以
随杋生成一个骰子点数。第三个按钮为下棋按钮,如果是“电脑下棋”,则点击
下棋按钮后系统就会根据指定的策略行棋,如果是“玩家下棋”,用户可以拖动
符合规则的棋子,确认无误后点击下棋按钮即可行棋。第四个按钮为悔棋按钮,
点击一次悔一步棋,直至悔至初始布局棋盘。
游戏控制面板的左上方包含红蓝双方的人/机布局和人/机走子按钮组,用于
切换人-人、人-机、机-机对弈。左下方包含骰子点数按钮组,可以直接指定一个
骰了点数
33数据显示面板
该面板用于显示对弈的数据,能显示红蓝双方的走子策略数据(执行时间、
估值、搜索深度、迭代次数,详见 MoveStrategy类的APl文档)、比赛信息.(吋
间、地点、名称)、先手方和行棋方。
34棋谱面板
棋谱面板用于显示和保存棋谱,即对弈过程,棋谱格式参考2018国赛棋谱
标准(htp:/ computergames caal. cn/info/, newsl80708htm)。棋谱中的比赛吋间由
系统白动设置,比赛地点和名称在数据显示面板中手动输入
35策略配置面板
策略配置面板用于配置红蓝双方的队名、布局策略和走了策略
系统提供两种布局策略:随机布局和定布局ε随机布局是指六个棋子随机
敚置。固定布局中,用户需要手动输入6个数字1~6,并点击确认按钮。系统会
按从上往下,从左往右的顺序摆放棋子。例如:如果红蓝双方都输入:123456,
则生成的初始布局如图3.2所示。
123
4X5
6
23
4
5X6
图3.2固定布局策略的摆放顺序
系统提供三和走子策略:随机走子、直接佔值和自定乂策略,对应的界面如
图3.3所示。随机策略:在所有合法走法中随机选择一个走法进行行棋。直接估
值:模拟所有的合法走沄进行行棋,对行棋后得到的新棋盘进行佔值(给棋盘打
分),最终选择估值最髙的走法。估值方法有两种:随机估值和超级估值,超级
估值是系统为用户提供的接凵,用户可以自己设计估值函数(输入是一张棋盘,
输出是一个数字,详见 ahu ewn strategy evaluation. MySuperEvaluate类)。
系统提供的第三种超级策略是白定乂的策略接口,用户可以白己设计算法,
从合法走法中选择合适的走法(详见 ahuewn. strategy, move. MySuperMove类)
匯机直接估值超级策略随机直接估值超级策略随机直接估值超策暗
◎随机估值
注:超级策略调用MyS
perMove. getmove
○超级估值
超级估值会调用M
ySuperEvaluate g
evalue(
(a)随机策略
(b)直接估值策略
(c)自定义策略
图3.3走子策略
36自动对弈面板
自动对弈面板可以实现机机对弈的自动化,可用于测试红蓝双方的胜率。如
果想使用此功能,用户需在“剩余对弈轮数”中输入自动对弈的轮数,并将红监
双方的“获胜轮数”清零(输入“0”)。点击“开始”按钮后,系统会设貿红监
方为“电脑布局”和“电脑下棋”,并自动地布局→下棋→布局→…,统计胜负情
况。自动对弈期间会自动切换先行方,可以随时点击“暂停”按钮暂停下棋。
自动对弈面板中的观察毫杪数用于控制自动对弈的速度,即两次行棋会间隔
一段时间,毫秒数设置范围:[0-200001
注:自动对弈期间不建议使用其他面板,可能会出错。
37对弈操作过程
一局对弈的完整操作过程如下:
输入比赛地点、名称;
输入红蓝方队名,选择布局策略和走子策略;
选择先手方;
设置红蓝双方是“玩家”还是“电脑”来布局/棋;
点击“布局”按钮,按3.1节所述并完成布局操作;
点击“确认”按钮,进入行棋阶段;
点击“投骰子”按钮或手动输入骰子点数:
如果“电脑”行棋,直接点击“下棋”按钮,完成行棋动作;如果“玩
家”行棋,按规则拖动棋子,确认无误后点击“卜棋”按钮,完成行棋
动作
返回第7步,直至游戏结束
行棋过程中,可以点击“悔棋”按钮悔一步棋,可以随时点击“重置”按钮
重置游戏,也可以随时调整双方的策略,随时设置“玩家”、“电脑”下棋
自动对弈的完整操作过程如下
输入比赛地点、名称
输入红蓝方队名,选择布局策略和走子策略:
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.