Jun 5

有时候会觉得日文很有喜感,印象最深的就是第一次听说“努力学习”在日文中写作“一生悬命勉强”时,真把我笑得前俯后仰。今天网上闲逛,偶入一日文数学网站,惊奇地发现里面的大多数日文数学名词我都能看懂,并且依旧给人带来一种新奇的陌生感:“多边形”叫做“多角形”,“梯形”叫做“台形”,“切线”叫做“接线”,等等。于是我想到了下面这个有趣的游戏:我在日文 Wikipedia 中挑选了一些词汇,看看大家能否猜得到它们的意思。括号里的数字表明对应的汉语名词有几个字。

=== 数学篇 ===
1. 自乗 (2)
2. 確率 (2)
3. 合同 (2)
4. 二進法 (3)
5. 放物線 (3)
6. 背理法 (3)
7. 暗号理論 (3)
8. 天井関数 (5)
9. 数理論理学 (4)
10. 可付番集合 (4)
11. 鳩の巣原理 (4)
12. 半順序関係 (4)
13. 位相幾何学 (3)
14. 連続体仮説 (5)
15. 排他的論理和 (2)
16. 双子素数の予想 (6)
17. ユークリッド原論 (4)
18. 一対一上への写像 (4)
19. 平方剰余の相互法則 (5)
20. ゲーデルの不完全性定理 (8)

查看更多 »

May 24

  我把今天一下午加上一晚上的时间都花在了这个 Flash 小游戏上。这是我所见过的程序设计类 Puzzle 游戏中最好玩的一个。它是真正意义上的程序设计游戏,游戏不但提供了完备的读写和流程控制功能,甚至还引入了随机测试数据。游戏很快就会引入算法的思想,因为玩家渐渐会发现,这些谜题并不是单靠模拟就能解决的;后面的谜题则越发困难,需要相当有技巧性的算法设计,对脑力绝对是一个大挑战。如果你热爱算法与程序设计,你一定会爱上这个游戏的。


 
游戏来源:http://jayisgames.com/games/manufactoria/

May 6

    大家也许想过,如果玩家足够牛 B 的话,俄罗斯方块游戏是不是永远也玩不死呢?不是的。我曾经在这里介绍过,理论上说,俄罗斯方块游戏是不能永无止境地玩下去的,总有一个时候你会死掉。事实上,如果允许电脑不随机出牌,可以有意为难你的话,电脑可以利用一个简单的算法迅速把你整死。倘若电脑真的能故意陷害你,玩俄罗斯方块会是什么样的呢?
    今天,我还真找到了这么一个在线俄罗斯方块游戏 HATETRIS 。在这个游戏中,下一个方块并不是随机给的,游戏将用一套确定性算法精心为你挑选一个对你最不利的方块,让你感受一下想要什么偏没有什么的痛苦。毫不夸张地说,在这个游戏中,即使想消掉一行也是一件很困难的事。
    游戏是用 JavaScript 写的,你可以在下面这个框架中点 start new game 直接开始游戏。游戏没有重力因素(方块不会自动下落),这可以给你充分长的思考时间。技术细节和高分记录请移步这里
    想让俄罗斯方块更变态一些,方法不止一种。如果喜欢这个游戏,欢迎挑战我自己原创的变态俄罗斯方块 PiTetris

查看更多 »

Mar 14

    早上好!今天是 3 月 14 日,一年一度的圆周率日。为了和大家庆祝这个日子,我下载了一个 JavaScript 俄罗斯方块游戏 Js Tetris 的源代码,并且小小地修改了一下。那 7 种四联骨牌已经不复存在了,你将看到圆周率中的数字一个接一个地依次落下。这恐怕有希望成为史上最变态的俄罗斯方块了吧。
    游戏改造完毕后,我自己居然沉迷了好久。把积木换成数字后游戏变得不是一般的困难,有很多小技巧有待大家慢慢去摸索。我个人的最好成绩是第 32 位。你呢?


 

Nov 26

    前几天有网友推荐我看一部日剧叫做《欺诈游戏》,据说里面的高智商较量非常强大。最近这几天我看了前面几集,感觉和之前看过的一些推理日剧一样——剧情相当精彩,可惜拍得很烂。或许是不习惯日剧本身的画面风格吧。从第三集起,剧集进入了欺诈游戏第二场比赛之少数决游戏,有一段剧情相当科学。
    欺诈游戏的第二场共有22人参加。这22个人集中在一个阴森的大厅里,参加一个叫做“少数决”的游戏。游戏规则很有意思:主办方随机抽取一个人到台上来,向众人问一个二选一的问题,比如“你信春哥吗”。每个人手里都会得到两张选票,两张选票上都印有自己的名字,但其中一张纸上印有“YES”,另一张纸上印有“NO”。游戏者们有6个小时的时间进行交流和考虑,并要在时间结束前将自己的选择投入投票箱。时间结束后,主办方进行唱票,并规定票数较少的那一方取胜,多数派将全部被淘汰。获胜的选手将进行新一轮的游戏,主办方从剩下的人中重新选一位进行提问,并要求大家在6个小时内投票,唱票后仍然宣布少数派胜出。若某次投票后双方人数相等,则该轮游戏无效,继续下一轮。游戏一直进行下去,直到最后只剩下一人或两人为止(只剩两人时显然已无法分辨胜负)。所有被淘汰的人都必须缴纳罚金,这些罚金将作为奖金分给获胜者。
    这个游戏有很多科学的地方,其中最有趣的地方就是,简单的结盟策略将变得彻底无效。如果游戏是多数人获胜,那你只要能成功说服其中11个人和你一起组队(并承诺最后将平分奖金),你们12个人便可以保证获胜。但在这里,票数少的那一方才算获胜,这个办法显然就不行了。因此,欺诈和诡辩将成为这个游戏中的最终手段。如果你是这22个参赛者中的其中一个,你会怎么做呢?

查看更多 »

Jul 12

    大家在玩俄罗斯方块的时候有没有想过这样一个问题:如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的游戏机,你打算害死你面前的玩家;你知道任意时刻游戏的状态,并可以有针对性地给出一些明显不合适的方块,尽量迫使玩家面对最坏情况。那么,你有没有一种算法能保证害死玩家,或者玩家无论如何都存在一种必胜策略呢?注意,俄罗斯方块的游戏区域是一个宽为10,高为20的矩形,并且玩家可以预先看到下一个给出的方块是什么。在设计策略时,你必需考虑到这一点。

  

    相信很多人有过这样的经历:玩俄罗斯方块时一开局就给你一个“S”型方块,让完美主义者感到异常别扭;结果,第二个方块还是这个“S”,第三个方块依旧是“S”,相当令人崩溃。于是,我们开始猜测,如果游戏机给你无穷个“S”形方块,玩家是不是就没有解了?答案是否定的。如图1,从第10步开始,整个局面产生一个循环;只要机器给的一直都是“S”方块,玩家可以不断重复这几个步骤,保证永远也死不了。

    不过,这个循环是在游戏场地清空了的情况下才产生的。有人会进一步想了,要是在玩着玩着,看着你局势不好时突然给你无穷多个“S”方块呢?事实上,此时局面的循环依然可能存在,如图2。在第5个“S”形方块落地后,循环再次产生。

查看更多 »

Jun 13

当众人都注目于E3上的大作时,我却偏偏热衷于寻找各种有创意的解谜小游戏。07年的E3上,Sony发布了一款独具创意的PSP游戏Echochrome,在该游戏里玩家需要通过空间错觉完成各种任务。时隔两年,在今年的E3大展上,Sony公布了一款Echochrome的续作——Echochrono。这款续作把焦点转移到了时间上,玩家需要利用时间变换来完成各种任务。游戏的基本思想很简单,既你现在的举动将和未来重叠起来,换句话说你需要凭借你过去的“影子”来帮你完成任务。去年年初的一个小小的Flash游戏Cursor*10为游戏界带来了巨大的影响,解密游戏领域中赫然出现了一块从来没有被挖掘过的空间。现在,PC上有了The Misadventures of P.B. Winterbottom(尚未发布),XBOX 360上有了Braid。Echochrono填补了PSP上的这一块空白。

查看更多 »

May 15

21. 一个男人杀死自己的妻子,然后回到自己的房间,而后自杀。
答案:为了庆祝自己50岁生日,男人计划杀死自己的妻子,然后拿走所有的钱,到一个新的城市去过一个崭新的生活。他的妻子带他出去晚餐,回家时男人在房前杀死了她。他打开家门,把妻子的尸体拖进房间,突然屋里的所有灯同时亮起,他的朋友们跳出来大叫“Surprise”。他自杀了。

22. 如果当时他开了灯,他就不会死了。
答案:在一次商店抢劫案中,店主被抢劫犯射伤。店主爬回里屋,拿起电话拨打自己家的号码。由于屋里没开灯,他只能凭感觉按键。电话通后,他低声说“我在商店,我被射中了,快来救我”。他挂断了电话,等待有人来救他,但没有人来。他把电话键盘错当成了收银机的键盘(这两种键盘的数字排列正好相反),因此拨错了电话。

23. 一个男人走进一家餐馆,大吃一顿,却没有支付任何费用。
答案:这个男人是一位知名艺术家。一个专门收集名人签名的女人看到了该艺术家正在用餐,于是待他用餐完毕并用支票支付费用后,从餐厅经理那儿买下了支票。该支票从未被兑现,因此男人并未为这顿大餐支付任何费用。

查看更多 »

« 更早的日志