人机对战五子棋设计
——算法设计
一、五子棋基本规则
(1) 五子棋行棋时,黑棋先下第一子,后白棋在黑棋周围的交叉点落子,之后黑白双方相互顺序落子。
(2) 最先在棋盘线交点横向,纵向,斜向形成连续的五个棋子的一方为胜。
二、五子棋程序设计
1.程序设计思想
(1) 本程序要实现五子棋的游戏功能,必须先有一个棋盘。所以,通过LinearLayout线性布局上画出一个棋盘。另外还需要四个按钮:开局、模式(人机对弈)、退出,提醒用户进行相应的操作。
(2) 对于下棋的操作,通过增加鼠标事件监听器MouseListener,每次当用户点击鼠标时,先取得点击的坐标值,然后换算成对应棋盘上(即棋盘数组)的位置(数组的下标)。
(3) 判断此处是否已经有棋子,如果有则提示玩家重新下子,否则通过java里的画图函数在此处画上棋子,重新刷新输出棋盘。
(4) 判断该颜色棋子的上下左右是否满足连续五个,是的话提醒相应玩家获胜,不是的话,更换玩家下棋。
(5) 对于玩家的更换是程序自动的,每次用户点击鼠标后,若本局还未结束则会变换玩家,从而画出对应黑方白方的棋子,直到有一方获胜程序结束。
2.程序设计分析
(1) 本款游戏有开始游戏、人机对战,关于我们、退出游戏四个选项;玩家可以根据具体需要选择使用。
(2) 程序默认对弈模式是人机对弈模式,并且是玩家先手,玩家是黑方,电脑是白方。。
(3) 棋盘处于鼠标监听状态,当鼠标在棋盘上有点击操作的时候,程序会获得鼠标点击的坐标然后换算成对应的棋盘的位置,再判断此处是否有棋子。假如没有,那么在此处画出对应颜色的实心棋子;假如已经有棋子了,则提示玩家此处已经有棋子请重新下棋。
(4) 当选择的是人机对弈模式的时候,轮到电脑下子时,电脑会通过算法来计算每个没有棋子的位置的分数,从而来选择最重要的位置下子。
三、五子棋算法分析
1.人机对弈算法概述
人工智能五子棋游戏最核心的地方就是算法,因为这是整个程序最难的模块。算法的中心思想是:利用分数代表每个位置的重要程度,越重要的位置的分数值会越高,当电脑下棋时会先将电脑和玩家棋型的分数分别计算一遍,然后选择二者中分数最高的点下子。如果玩家的分数高,那么代表电脑应该防守,如果电脑的分数高,那么代表电脑应该进
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库五子棋算法在线全文阅读。
相关推荐: