编辑:这个问题不是重复什么是游戏2048的最优算法?
这让我想到了它的复杂性。对于像国际象棋这样的确定性游戏,它有可能(在理论上)计算出所有导致胜利状态的可能的走法,并向后工作,选择保持导致结果的最佳走法。我知道这导致了大量可能的移动(在宇宙中原子数量范围内的东西)…但2048年是不是比较复杂?
PsudoCode:
for the current arrangement of tiles
- work out the possible moves
- work out what the board will look like if the program adds a 2 to the board
- work out what the board will look like if the program adds a 4 to the board
- move on to working out the possible moves for the new state
在这一点上,我想我会在这里等待这运行一段时间...
让我们来确定有多少种可能的电路板配置。
每个平铺可以是空的,也可以包含2、4、8、...、512或1024个平铺。
这是12个可能性每瓷砖。有16个瓦片,因此我们得到1612=248可能的板状态--这很可能包括一些不可达的状态。
248板状态则需要8*248=2251799813685248html" target="_blank">字节=2048 TB(更不用说为跟踪最佳板而增加的开销)。这有点超出了目前台式计算机的水平,尽管在任何给定时间都可以巧妙地限制所需的电路板数量,以获得适合于例如3 TB硬盘驱动器或甚至是RAM的电路板。
作为参考,国际象棋有一个2155可能位置的上界。
如果我们真的从一开始就计算每一个可能的移动(以广度优先搜索的方式),我们会得到一个巨大的数字。
让我们做一些假设:(为了简单起见,这些假设并不总是正确的)
>
始终有15个打开的方块
你总是有4个动作(左、右、上、下)
一旦板上所有瓷砖的总和达到2048,将需要最少的组合数来获得单个2048(因此,如果放置2使和2048,则组合将是2->4->8->16->...->2048,即采取10步)
2总是会被放置,而不是4-算法不会假设这一点,但是,为了计算上界,我们会这样做。
我们不会考虑这个过程中可能会产生重复板的事实。
要达到2048,需要放置2048/2=1024个瓦片。
计算确切的数字可能需要我们通过所有这些州,这是不可行的。
实现一个简单的2048小游戏。手指上下左右滑动屏幕可以移动方块。 2048游戏是什么:每次控制所有方块向同一个方向运动,两个相同数字的方块撞在一起之后合并成为他们的和,每次操作之后会在空白的方格处随机生成一个2或者4,最终得到一个“2048”的方块就算胜利了。如果16个格子全部填满并且相邻的格子都不相同也就是无法移动的话,那么游戏就会结束。
此为在原版2048的基础上,添加了电脑AI解题,并稍微修改了UI添加按钮来触发AI。 AI的核心在/js/myAI.js里,相关函数在window.myPlugin里 核心算法是用dfs搜3步后使代价函数window.myPlugin.evalCost期望值最小的走法, 代价函数的设计目的是让块尽量按由大到小顺序堆叠在右上角,并合并。 实验效果是基本能保证到2048,偶尔到4096甚至8192(概率较小)。
我正在尝试用C重新创建游戏2048,但我无法让算法移动或合并瓷砖在一起以正常运作。在最初的2048游戏中,你会像这样移动瓷砖: 所以两个相同的瓷砖可以合并成一个两倍大小的瓷砖。我的版本几乎是相同的,但我没有使用数字,而是使用合并时递增1的字符,因此将合并到等。我这样做只是为了不必处理不同大小的瓷砖。 所以我的板存储为一个4*4字符数组,在一个我称之为网格的结构中(我知道可能有点多余) 我曾经尝试过
我已经通过谷歌和堆栈溢出搜索,但我没有找到一个关于如何计算时间复杂度的清晰而直接的解释。 说代码像下面这样简单: 说一个像下面这样的循环: 这将只执行一次。 时间实际上被计算为而不是声明。
本文向大家介绍javascript制作2048游戏,包括了javascript制作2048游戏的使用技巧和注意事项,需要的朋友参考一下 2048.html 2048.css 2048.js 以上所诉就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍javascript版2048小游戏,包括了javascript版2048小游戏的使用技巧和注意事项,需要的朋友参考一下 没有技术含量,只是用来练习代码逻辑的。为了代码结构清晰,我把逻辑控制部分写在全局变量里,用户界面操作封装在UI对象里,大概就这样了。仅供参考。工作时候,我的编码风格有人吐槽太乱了,所以我想试着写一个不是那么乱的东西出来。。 以上就是本文所述的全部内容了,希望大家能