2048小游戏ai设计


声明:本文转载自https://my.oschina.net/daba0007/blog/1612008,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

最近突然想起来之前一个很火的游戏2048,于是我就做了一个网站,然后希望自己能够写出一个比较好的算法来让这个2048的游戏实现相加最大化。

 

这个是我的2048游戏的网址http://120.77.173.248:16000/index/

有兴趣的朋友可以提交自己的代码(暂时仅限js代码)来看看自己的ai能够走到多少。

2048小游戏规则说明(已经知道规则的朋友可以直接跳过这模块):

2048游戏是在一个16宫格中进行的,每次可以选择上下左右滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢,系统也会在空白的地方乱数出现一个数字方块(2或4),相同数字的方块在靠拢、相撞时会相加。不断的叠加最终拼凑出更大的数字,而它的得分就是每次数字相加之和。

下面是一些关于ai提交代码的说明:

首先玩家需要在ai界面下端上传你的js代码

然后在游戏界面点击开始,就可以看到你的ai跑起来了

js代码要求:

js要求写一个函数AI(score,board),返回值是Left(向左)、Right(向右)、Up(向上)、Down(向下)。比如我写一个一直向左走的函数

function AI(score,board){     return "Left" }

然后它就会一直向左走。其中board返回一个二维数组board[i][j],比如board[2][1]代表第三行第二列的值。score代表目前你的得分。

玩家需要有自己的策略来完成对当前board的判断,然后得出下一步的策略。

我的实现

我自己写了一个ai,是参考知乎上的一个答案写的,基本能跑到1024,但是跑到2048和4096的成功率就不高了,不知道是我的权值定义得有问题还是因为我只推测了走一步的可能性。希望有能力的朋友能够实现更高层次的算法

 

十分感谢以下热心博主的帮助:

http://blog.csdn.net/funj_/article/details/76555889

希望大家能够集思广益,一起来玩一玩2048的游戏

也希望大神们不要骚扰我的服务器,我的代码都在下方github里面,有兴趣可以提走

https://github.com/daba0007/game2048

如果有好的ai算法也可以联系我,我们可以共同讨论研究。

我的手机,微信 18578769095

邮箱:daba0007@126.com

本文发表于2018年01月23日 20:32
(c)注:本文转载自https://my.oschina.net/daba0007/blog/1612008,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2001 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1