2048 Puzzle游戏攻略
2048 Puzzle这是目前手机游戏的很火。
在地铁上经常看到的人玩这个游戏。
首先,简介2048 Puzzle游戏。
游戏界面是4X4广场格,每一方格可以放置在数字。
有四种移动数字的方法,向左、向右、向上、向下。
当向一个方向移动时,全部的数字都会向这个方向移动。直到前面到了边界,或者有数字挡住。
而且在移动方向。相连方格中同样的数字将会被合并。
每次移动后,会随机在空白方格中出现2或者4数字,也有可能不出现。
成功条件:合出数字2048。
失败条件:全部方格中都有数字,而且不管採用哪一种方向移动,都无法合并数字(没有相连格子中数字是一样的)。也就是四个方向都给堵死。
攻略是依照规则说明保持以下四个规则。而且避免出现接下来会提到的两个异常形。
规则1)在左上角方格中总是放置最大的数字,而且在第一列中上面方格中的数字总是不比以下的数字小。
(这个规则是必需要遵守的,另外注意这是镜像对称了,为了表述方便,我就直接以左上角为例了,以下的规则描写叙述是相同)
规则2)第一列中的全部方格都有数字。(这个规则可能不能总是保持。在游戏过程中,有可能会被破坏。但要尽快恢复这个规则)
如形1和形2。
当中形1是满足规则1和规则2。而形2仅仅满足规则1。
形 1
32 |
|||
16 |
|||
8 |
|||
2 |
形 2
32 |
|||
16 |
|||
8 |
|||
2 |
保持规则1和2的方法是在游戏中总是保持仅仅向左。向上和向下移动,而不向右移动。
规则3)尽量控制第二列的数字的大小。理想情况是第二列的全部数字都比第一列的小;最坏情况是第二列的数字出现比第一列第二排数字大的数字。
(这个不是必须。可是假设尽量保持这个规则,能够有利于第一列数字的增长)
如形3,在第二列出现了256和64。
将会阻碍第一列数字的增长。
形 3
512 |
32 |
||
16 |
8 |
||
8 |
2 |
保持规则3的方法是优先向第一列第四行方格中合并数字,而且假设第二列中数字有机会合并到第一列,则进行合并(注意要保持规则1)。
这个仅仅是一个指导方案,游戏中会出现非常多情况。有可能有更好的选择,还须要随机应变。
如形4,先将第二列第四行数字合并到第一列第四行。
形 4
512 |
2 |
||
32 |
16 |
||
16 |
8 |
||
2 |
如形5。将第二列第三行数字合并第一列第三行数字。
形 5
512 |
2 |
||
32 |
2 |
||
2 |
8 |
2 |
规则4)在第四列不要出现大于等于16数字,在第三列不要出现大于等于32的数字。
(这个规则不是必须。可是能够有效防止被堵死)。
如形6。违反了规则4,我们仅仅能合并左下角的两个2了。
形 6
512 |
4 |
2 | |
64 |
2 |
16 | 8 |
32 |
16 |
||
2 |
8 |
2 |
2 |
两种异常形,一个我称为执行形。还有一个称为无奈形。
1)运气形
除了向下以外,其他的方向都给堵死了。
而且在左边仅仅有三个方格有数字(不满足规则2)。
如形7。
形 7
512 |
4 |
8 |
2 |
32 |
2 |
||
16 |
|||
假设运气好。出现的2或者4数字不在左上角,则能够恢复规则1和2(这个也是我称它为执行形的原因)。如形8,是向下移动后运气不好。2出如今左上角。无法恢复规则1。
形 8
512 |
|||
32 |
4 |
||
16 |
2 |
8 |
2 |
2)无奈型
除了向右以外,其他的方法都给堵死了。
一旦向右移动。假设出现数字2或者4,必定在左边出现。那么再想通过向左移动恢复规则1是非常难的(仅仅有一种非常小概率会恢复。但我们无法指望这个发生,全部我称它为无奈形)。如形9。就是这样的形,向左移动后变成形10,之后就无法保持规则1。
形 9
1024 |
8 |
||
512 |
64 |
||
32 |
4 |
||
16 |
8 |
形 10
1024 |
8 |
||
512 |
64 |
||
32 |
4 |
||
16 |
8 |
在我们游戏中要尽量避免出现这两种形,尤其是无奈形。一旦发生就非常难恢复规则1。我想到的一个避免方式是感觉要出现这两种形,能够上下移动数次,多出现几个2和4数字,来避免出现这这两种异常形。
为什么要满足规则1和规则2
分析这个游戏。能够发现出现的数字都是2的n次幂。每次数字增长是幂次加1。如形11。左边一排有上到下依次是2a,2b,2c,2d。满足规则1说明,a>=b>=c>=d。
形 11
2a |
|||
2b |
|||
2c |
|||
2d |
因为每次数字的增长是幂次加1。所以每个数字增长会经过方格中比它大的不论什么数字。所以假设我们保持规则1,就有机会在左边一排依次由下向上合并数字。
假设我们没有能保持规则1,那么就会添加游戏的难度,甚至终于导致四个方向都给堵死。如形12,不满足规则1 ,第一列第二行中的数字u是最大的数字512。第一列第一行中数字v是2。第一列第三行中数字w是256。假设数字u总是最大的数字。那么数字u和v无论以后怎样变化,是非常难合并在一起。就是巧合地合并在一起,但又会出现另外的两个数字被u给分隔。
形 12
8 |
|||
16 |
|||
32 |
2 |
有一个非常特别的形在这讨论一下。如形13。两个512被1024给分隔开。假设没有新的数字2或者4出现。这个两个数字512是无法合并在一起。就算有2和4出现,也非常难非常巧合地合并在一起。尽管两个512非常难合并成1024, 可是形5还是有可能成功的,由于游戏还会不停在移动过程中出现数字2或者4,所以能够合出第三个512和之前的512合并,并终于和1024合并成2048。
形 13
另外保持规则1将有利于规则4的保持。保持规则2能够在上下移动时,第一列不发生变化。
最后要说明的是在游戏过程中假设违反了规则1。不代表不能成功,只是更加困难。假设我们有一个更好的办法,一起分享。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
2048 Puzzle游戏攻略的更多相关文章
- Nazo解密游戏攻略
啊,终于腾出时间来玩这个游戏了,顺手写一下攻略吧…… 第0关:http://cafebabe.cc/nazo/ 第一关:第一关很简单 点一下就好了 http://cafebabe.cc/nazo/le ...
- 游戏攻略 Re:LieF ~親愛なるあなたへ~ (relief给挚爱的你)
箒木 日向子 反対(賛成) ◆セーブ01 図書館へ向かう ◆セーブ02 日向子 食べてあげない もちろん.おいしかったよ コミュニケーション (汉化版显示为:交流) 日向子END ※回想2個目に追加 ...
- hack游戏攻略(梦之光芒黑客小游戏)
2019.2.11 继续玩~~还是黑客游戏闯关类的 地址:http://monyer.com/game/game1/ 直接查看页面代码: first.php就是了: 查看源代码: 这里尝试输入 两个空 ...
- hack游戏攻略(黑吧安全吧的黑客闯关游戏)古墓探秘
2019.2.11 这个是找到的一个黑客游戏,就是一关一关,挺像ctf的,玩玩也挺有意思,还能涨知识. 地址:http://hkyx.myhack58.com/ 入口: 入口就是这样的.提示是 图内有 ...
- Codecombat 游戏攻略——JavaScript编辑语言——关卡(计算机科学四)Ⅱ
第16关:潜伏 // 用findEnemies把敌人存在数组enemies中 // 只攻击萨满巫师,不要攻击牦牛! var enemies = hero.findEnemies(); var enem ...
- Codecombat 游戏攻略(计算机科学三)
第二关 赋值运算符-=字符串拼串循环语句while // 你可以把字符串连起来,或者把数字连接到字符串. // 一起唱歌,使用字符串连接: // X potions of health on the ...
- Codecombat 游戏攻略(计算机科学三)2
第33关 逻辑之路 判断secretB 非真,走上面:否则,走下面(这里面要先自己进行逻辑判断)if…else语句或者这样用(不用自己进行判断) // 如果 secretB 非真,走上面:否则,走下面 ...
- 经典DOS游戏皇帝攻略(曾经的回忆)
最完美攻略>>>>> -------------------------------------------------------------------------- ...
- FC游戏 《三国志2-霸王的大陆》攻略
<三国志2-霸王的大陆>是日本南梦宫公司研发的一款历史战略模拟游戏,于1992年06月10日在红白机平台上发行. 在开始游戏选择君主时(一定要在君主未出现前的画面时进行第二步),按住1P的 ...
随机推荐
- 为Delphi程序增加UAC功能(每个步骤都很详细)
相关资料:http://bbs.csdn.net/topics/320071356# 操作方法: 在Source\VCL目录下应该有这样两个文件sample.manifest和WindowsXP.rc ...
- Android应用中Back键的监听及处理
MainActivity如下: package cn.testnbackpressed; import android.os.Bundle; import android.view.KeyEvent; ...
- DRP之Oracle_11g数据库安装
不知道大家在安装了Oracle数据库的时候有没有这样或那样的困惑,今天这篇文章就把Oracle数据库的安装过程理一下,作为总结,方便以后的学习. 首先,将下载的两个文件放在一个目录下解压,然后打开文件 ...
- ExtJS学习--------Ext.Element中的经常使用事件和其它重要的方法学习(实例)
经常使用事件: 其它重要方法: 详细实例:(实例结果能够将相应的代码取消凝视进行測试) Ext.onReady(function(){ Ext.create('Ext.panel.Panel',{ t ...
- 一二三(The Seventh Hunan Collegiate Programming Contest)
一二三 你弟弟刚刚学会写英语的一(one).二(two)和三(three).他在纸上写了好些一二三,可惜有些字母写错了.已知每个单词最多有一个字母写错了(单词长度肯定不会错),你能认出他写的啥吗? 输 ...
- PowerDesigner中SQL文件、数据库表反向生成PDM
1 反向生成PDM 1) 创建一个空的PDM模型(选择相应的DBMS): 2) 选择[Database]--[Update Model from Database ...
- Linux下搭建tomcat集群全记录(转)
本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...
- poj3268(最短路)
题目连接:http://poj.org/problem?id=3268 题意:给出n个点和m条单向边,现在所有牛要到牛x那里去参加聚会,并且所有牛参加聚会后还要回来,给你牛x,除了牛x之外的牛,他们都 ...
- linux中怎样设置DHCP
linux怎样设置DHCP 环境:RH linux 9.0 使用linux下经常使用的dhcpd包. 最新版本号 dhcp3.0.5 下载地址: 下载 1.安装: 先拷贝dhcp-3.0.5.tar. ...
- [POJ 3735] Training little cats (结构矩阵、矩阵高速功率)
Training little cats Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9613 Accepted: 2 ...