8
KOTH:每个人都喜欢代币
在这个游戏中,两个玩家争夺吃掉最多积分的代币,但是有一个转折!连续吃多个相同颜色的代币会带来越来越多的奖励,但是要当心,否则您的对手会通过吃掉您想要的代币来破坏您的计划! 规则: 1对1 n x n板(随机大小在5x5和15x15之间) 您和您的对手将在同一个随机细胞中产生 整个棋盘将在某些单元格中随机生成数字,范围从1-3 将生成2 *(板的宽度)令牌,但可以覆盖,因此可能会更少。 每个数字都是十六进制RGB格式的三种颜色之一:红色,绿色或蓝色 每回合,玩家1移动并更新棋盘,然后玩家2移动并更新棋盘。因此,每个玩家都可以根据棋盘状态的变化有效地判断前一个玩家的动作。这将一直持续到游戏结束为止,如下所述。 您有6个可能的转弯动作:上,右,下,左,进食和通过 4个移动命令是不言自明的,您可以转弯。如果您退回无意义的举动,我们将假设您的意思是通过。如果您尝试移开电路板的边缘,则不会移动。边缘不包裹。 EAT消耗您当前所在位置与 您获得的积分与您消费的积分一样多 如果您连续吃两个相同颜色的数字,您将获得+1 如果您连续吃3个相同颜色的数字,则得到+2 如果您连续吃相同颜色的m个数字,则得到+(m-1) 这些奖金是累加的,因此在您吃另一种颜色时,连续获得m个数字将导致m *(m-1)/ 2。 游戏结束条件: 所有数字都被消耗掉 任一位玩家(没有任何代币都可以2 *(宽度)到达)进行4 *(棋盘的宽度)转弯而没有有效吃掉(只是说“ EAT”,没有你要的标记没有计数)移动,因此只有在两个玩家都没有单个目标标记的情况下,才会超过此界限) 您的AI只需不到一秒钟的时间就可以采取行动,否则将通过PASS作为您的选择。 锦标赛将是轮巡赛,有很多回合,例如100或1000。将生成一个随机棋盘,并且该棋盘上将运行每个有序对的不同玩家。比赛结束后,我们将按总得分对人员进行排名。因此,即使您是一场比赛的玩家2,您的目标仍然是获得尽可能多的积分。 AI提交:我的控制器支持的语言是Javascript。允许多次提交。每个人都为这样的对象提交构造函数: function (player1) { this.yourMove = function (b) { return "MOVE"; } } 输入的内容player1是布尔值,表示您是否是玩家1。您的构造函数必须具有该yourMove函数,但也可以具有任意数量的其他函数或值。不要定义任何全局变量,只需将它们作为变量放在对象上即可。每次比赛开始时都会创建一个新版本的对象,并yourMove在每次旋转时以当前棋盘为输入在其上调用该对象的新版本 ,并应返回有效的移动。 b,是的输入yourMove,是当前电路板的副本,以下是构造函数以及输入示例,尽管您不能自己调用它们: function token(color, points) { …