首页 > 前端 > 【练手山寨向】Threes!

【练手山寨向】Threes!

2014年6月10日 发表评论 阅读评论

threes说起来今年我的ipad自从鸟笼关服玩不了之后,就没再上面玩过什么游戏了(虽然上面装了不少。。),然后想想这个学期好像pad除了看电子书,看漫画之外,所剩的就是玩一个叫做《Threes!》的游戏了。。国内翻译过来不知道为什么很恶心,叫《小三传奇》,感觉比把《Matrix》翻译成《黑客帝国》还奇怪。。

说起来这个游戏,有些人可能不是很理解,其实一开始玩你会觉得很像2048,甚至曾经出现很多认为Threes抄袭山寨2048的言论,憋得让作者专门写过文章来澄清此事。。。但其实呢,真相是2048,或者说原型1024是借鉴参考Threes才对的。。至于为什么2048火了,Threes居然没火,网上有不少这方面的讨论;但是看完我虽然可以理解为什么2048可以火,但是不理解为什么Threes不火啊。。

后来总算明白了,因为2048是免费的。。


然后之前觉得好麻烦,每天都要把pad放书包里带去实验室,其实也就晚饭后回实验室不想干活那段时间玩一下,想想这东西逻辑不复杂,还是可以用前端的东西搞一个的。。搞了一个简单的出来。。而且最近正好又在继续研究Jquery。。。正好当练手

游戏在下面,控制即可【本页面已屏蔽了方向键导致的屏幕滚动】,分数下面的无数字的彩色方块点击可以开始新的一局;

6月
11

考虑到IOS上面玩可以通过触摸滑动来测试某一个方向的移动会影响那些方块,但是键盘党就不好办,所以加了一个用W,A,S,D来做类似测试;只要你的浏览器不要像我一样有类似Vimium插件的话应该是可以看到效果的。。

规则大概就是:分数下面的方块指示的是下一个会出现的数字,一般而言是1,2,3,偶尔会出现超大的。每次移动全部可移动的方块都会移动一格【不是2048那种一动到底】;

然后合并规则:1+2=3,此外只有相同的数字才可以合并成2倍;

其实根据下面这幅图后面的说明,我有闲着没事干去实现移动端触摸来控制逻辑的(还有自适应),但是不知道为什么chrome的Emulator模拟是可以的,自己用手机就不行了。。算了,这个再说了

help

游戏·伪 本体

Game Over!!

虽然做了这个,但是其实我还是习惯在IOS上面玩,主要是那个BGM和音效,耳朵简直快要怀孕了。。我每次玩不开声音我就浑身难受!!但是这个就不搞那么高仿了,想必作者也很不愿意。。。所以还是推荐有条件的玩IOS上的;虽然不是免费的就是了。。。

不过话说最新的一次更新变成中文是要闹哪样啊!!还是英文看得爽啊亲!

游戏中有些规则很容易自己推断出来的,比如分数的计算算法,就是\(3\times2^{k-1}\)格子的分数是\(3^k\),不过\(1\),\(2\)不算分就是了。

但是背后还有一些别的算法是查了一下资料(ref:Tips for Playing Threes, the New Mobile Game Everyone’s Talking About)才得知的,因为背后格子生成的一些算法对模仿一个游戏还是很重要的,搞不好别人用某种玩法在IOS上总是可以玩得很高分,到你这就被纯虐或者。。更高分也说不定。。。

比较特殊的几条就是:
1.每次出现的新块肯定会在移动的那几列的其中之一的尾部随机出现【一开始我知道只移动一列下一个必然在那一列尾部出现,但是没想到多列的是随机,不然可以准确的推断出下一个的位置玩起这个来就更加有底气了】;

2.出现的下一个数字12个为一组,包括4个1、4个2、4个3,随机出现。

3.每24个数字会插入一个大块,大块的标记是白色方块上面加一个+的符号。

4.这个大块的值绝对不会超过这个版面上最大值的1/8;

乐趣

个人觉得这一类游戏之所以可以抓住人心有两点:

第一是普通游戏心理,每次看着自己的数字不断合并,不断增长而变得欲罢不能这是很多游戏故意设计的G点;认命吧,即便你看穿了这一点你也无法摆脱,不行你可以试一下这个游戏

第二点很多人玩过2048就很有体会,盘面陷入困境后经过仔细思考而解除后的那种乐趣;就拿2048为例,有可能会出现某种情况逼你打破自己原有的游戏套路,导致了一些非常麻烦的结局(知道2048固有套路的应该都知道我说的是什么情况吧,我就不累述了),但是怎么样把局面拉回原先的轨道就变得很有趣了。

Threes这个游戏个人为什么觉得要比2048要有趣得多呢?个人觉得原因在于,这个游戏不能像2048一样,根据某个固定套路就很容易通关,以后你每次玩都是这个套路(有些人觉得每次这么玩都很有成就感。。)。Threes里面你很难找到一个方法可以一直随意玩弄这个游戏,很多时候你会发现你被游戏玩弄了;即便玩了很多局,还是会出现开局没几手就跪的情形【比如手滑】。

而之所以会产生这种多变的情形,原因还是有二;

第一很明显,引进了1+2=3这个简单的规则,游戏中你就会慢慢发现消不掉的1或者2有多可怕了;更可怕的是一堆111111

但是仔细想想,这个原因不是最重要的,因为1只能和2合并,这跟3只能跟3合并差别不是很大;

第二就是引进了一个随机大块这个东西,相信我,绝大部分很会玩这个的基本都是被这个大块搞死的。。不过话说回来,这个大块有时候会成为你救命的稻草,正因为这样游戏才有趣不是么?

不过不管怎么说,即便再怎么精通这个游戏,最应该佩服的其实还是游戏的设计者,据说这个游戏在设计上就被改版了无数次,我们所享受的是最后的乐趣的精华;

之前看到知乎一个丧心病狂的问题:怎么得到最低分,玩了半天,这个是最低分了【理论上最低分是24】,大家可以比一下。。我见到有30+分的;
threes2

自己山寨游戏来玩的另一大乐趣就是可以自己改设定,比如改成5×5的来试试。。。传送门;【大概明白为什么2048这一类游戏都是4×4的了。。因为5×5根本看不到尽头啊混蛋!】

最后放上这个东西的网页版和Github【我个人觉得。。。应该还有不少BUG,前端太渣没办法,如果觉得游戏玩起来卡,大概是我的错;还有这也不搞那些复杂的分享到社交网络那些东西了,个人最讨厌这种,不过以后可以加个本地记录最高分】

网页版:http://vespa314.github.io/Threes/

http://www.kylen314.com/lab/threes44/index.html

Github:githubfavicon

6月
11

好吧,妈蛋,之前按键逻辑写错导致留不了言。。现在可以了。。
修改之前是:

$(document).keydown(function(event) {
    //....
    event.preventDefault();
    switch (event.keyCode) {
        case 37: //left
            moveleft();
            break
        case 38: //up
            moveup();
            break
        case 39: //right
            moveright();
            break
        case 40: //down
            movedown();
            break
        default:
            break
    }
})

现在是:

$(document).keydown(function(event) {
    //....
    switch (event.keyCode) {
        case 37: //left
            event.preventDefault();
            moveleft();
            break
        case 38: //up
            event.preventDefault();
            moveup();
            break
        case 39: //right
            event.preventDefault();
            moveright();
            break
        case 40: //down
            event.preventDefault();
            movedown();
            break
        default:
            break
    }
})

真是好教训。。。


【完】

本文内容遵从CC版权协议,转载请注明出自http://www.kylen314.com

分类: 前端 标签: , ,
  1. 2014年6月10日16:04 | #1

    沙发抢下,游戏拿走!

  2. 冯大水
    2014年6月11日00:38 | #2

    咦,我在windows phone上玩没有遇到大块呃,难道我太渣在遇到大块前就已经灭了。。

    • 2014年6月11日14:45 | #3

      所以不要吐槽我吐槽你的手机这件事。。。

  3. 2014年6月11日19:02 | #4

    感觉做得很不错啊

  4. 2014年6月14日22:55 | #5

    为什么我打开什么都没有

    • 2014年6月15日10:59 | #6

      诶会么,你是什么浏览器,换一个还是这样么?js没加载上?

      • 2014年6月15日21:26 | #7

        知道了,原来在你引用的jquery没加载上。。估计是谷歌被屏蔽了吧

        • 2014年6月15日22:58 | #8

          是哪个html页面引用了google的Jquery?这个页面我没引用谷歌的啊。。

          • 2014年6月17日12:49 | #9

            就是你写的那个http://www.kylen314.com/lab/threes44/index.html

            • 2014年6月17日15:08 | #10

              那个我忘记改了。。我还以为是这个页面的jquery。。

  5. 2014年6月14日23:37 | #11

    好复杂的样子

  6. 2014年6月15日16:29 | #12

    不愧是菊苣……

  7. 2014年6月16日15:16 | #13

    你真是玩这个玩疯了。。

  8. 2014年6月22日10:55 | #17

    对游戏还是有另一番感受

  9. 2014年6月22日21:45 | #18

    平生四十年,惟著白布衣。

  10. 2014年6月24日09:51 | #19

    看上去还不错呀,果断留下痕迹。

  11. 2014年6月24日11:50 | #20

    这个游戏好玩。

  12. 2014年6月24日22:41 | #21

    一不小心点到无效的链接,貌似与本文无关了。但我想说的是,你们404页面做得太漂亮了!

    • 2014年6月25日02:14 | #22

      我四个月前做的,你大概是第一个步入那个地方的吧。。所以我的问题只有一个:无效页面在哪。。

      • 2014年6月26日22:29 | #23

        本页导航:“首页>前端”,点前端的时候,就到404页面了,地址:http://www.kylen314.com/category/coding/%E5%89%8D%E7%AB%AF这个真心很漂亮,得找个时间好好学学,不知道能不能学会。

        • 2014年6月26日23:08 | #24

          已修复;你指那个长草的字么?那个是个html5的一个小代码;你查看页面源码就可以看到代码了;那个也不是我原创的,修改自某个1kbjs比赛的作品;

  13. 2014年6月25日13:54 | #28

    这游戏没有点之上压根驾驭不了啊。上海贷款http://shanghai.yiqirong.com/

  14. 2014年7月6日15:23 | #29

    网页版啊。。膜拜。。

验证码:3 + 6 = ?

友情提示:留言可以使用大部分html标签和属性;

添加代码示例:[code lang="cpp"]your code...[/code]

添加公式请用Latex代码,前后分别添加两个$$