《十步万度官方网站版》是一款烧脑类休闲益智类手机游戏,游戏主要玩法是,你只能点十次, 但却要引发蝴蝶效应最后达到10000度,折看起来有些不可思议,但是确实可以做到,发挥你的聪明才智,快来体验吧!
游戏简介
【或许婴儿玩得比你好!】
28种模式可选,每种模式都可以不断挑战极限达到最高的度数。
数十种精美的蝴蝶扇动着翅膀向你展示蝴蝶效应的奇妙,一个微小的差别可能就会造成很大的不同。
因为《十字迷阵》太过难了,甚至比《太极迷阵》难,所以我做完的时候良心发现,我应该做个另外的游戏,所以就有了《十步万度》,这是一款可以比智力也可以比运气的游戏。有时候你甚至会发现,运气比智力重要,或许婴儿玩得比你好!
游戏试玩视频
【玩家评价】
良心游戏,怒给五星。
两分钟不到过两关,然后在第三关卡了一个小时。
很简单的游戏,一个红包的钱就能消磨大量时间。
第一次让我有"我在努力的蠢着"的感觉。
试过最后面的关卡,特别喜欢连续转动时的音效。
虽然还没全通关,但是希望更新的时候可以出一些新的难度,比如像出bug时少几个转动的指针。
不说了,我继续蠢着去了。
游戏万步攻略
在论坛里有几个程序跑出了10000度的最优解,但似乎还没人跑出更难的题的一些解。所以我写了一个c++程序,把所有非随机题的解都求了出来。
写这个程序的原因是,之前一个Math Fans群里的大佬跟我讨论了这个游戏,并提出了一个算法的优化思路,利用了一个很巧妙的结论。说实在我之前也没有注意到这个结论,但事实上这个结论是对的,而且可以让搜索速度变快很多。
这个结论表述如下:
十步万度的最终局面、总度数只和每个圈的点击次数有关,而跟点击它们的顺序无关。也就是说,如果我先点圈a再点圈b,跟先点圈b再点圈a的结果是一模一样的。
是不是有点违反直觉?但经过一些尝试就能发现,确实是这样的。这个结论有一个严谨而巧妙的证明。有兴趣的同学可以思考一下。
根据上面这个定理,整个搜索空间就降了很多,即使对于最难的问题(15步20000度那题),总的搜索量也只有C(30+15-1, 15),约为2299亿。c++实现的代码能做到在i7上单线程5秒内搜1亿步,所以求解时间不长。
最后求出的最优解如下:
10步1000度:最优解2070
10步3000度:最优解4410
10步3500度:最优解4320
10步4000度:最优解5040
10步4500度:最优解6480
10步5000度:最优解6570
10步6000度:最优解6930
10步6100度:最优解6390
10步6200度:最优解6390
10步6300度:最优解7740
10步6400度:最优解5670(无法过关)
10步7000度:最优解8100
10步8000度:最优解5940(无法过关)
10步8300度:最优解10530
10步8500度:最优解7830(无法过关)
10步9000度:最优解7380(无法过关)
10步10000度:最优解10800
15步11000度:最优解8820(无法过关)
15步13000度:最优解12060(无法过关)
15步14000度:最优解9000(无法过关)
15步15000度:最优解14130(无法过关)
15步16000度:最优解13410(无法过关)
15步18000度:最优解17100(无法过关)
15步20000度:最优解17280(无法过关)
可以看到有很多关卡中最优解比要求还要低,因此这些关卡是无解的。
有了上述的算法思路,有兴趣的同学应该不难把它实现出来并且搜索出每关的最优方案。当然如果有必要的话,我可以把我的程序和最优方案在这里公开给大家参考。