今天的主角名叫 N-back,起源似乎是某种心理测试,然后碰巧有人发现它碰巧和大多数智力游戏只能提高你在那一个游戏上的表现不同,N-back 的作用可以转移。
关于 N-back,更多的细节可以看这里:N-back FAQ(作者貌似是个大牛),文中提到几点挺有道理的,比如说不管内存(Working Memory)和 IQ 是否有直接的关系,但至少对程序员来说,快速的记住几个变量及其类型、几个函数及其原型什么的可以很大的提高工作效率——也就是说内存这东西还是挺重要的。这个,是当然的了
下面提一下 N-back 怎么玩:
首先,N-back 中的 N 是一个变量,当 N==1 时,你需要判断上一个图形和当前的图形是不是一样的;当 N==2 时,你就需要判断上上个图形和当前的图形是不是一样的,依此类推。
当然,上一句提到的图形也可以不仅仅是图形,还可以是字母、数字、声音等各种刺激;而一种称作 Dual N-back 的变种则是同时施加两种刺激,你需要分别判断它们各自是否和之前匹配。
下面是我乱写的 Single N-back:
(BTW 我显然不会去考虑 IE 用户的感受,读者您自重吧)
其实我觉得 Dual N-back 更好玩一些啦,不过想不到有什么好的操作方式,所以没加上来(用 A,L 操作也实在太囧了吧!),iPhone 上的 IQ boost 的 2-back (Dual) 我已经可以玩到全对了,哈哈,炫一下。
完成度不到 40%,棋力相当差,最核心的在找不到必杀时的局面评价函数完全是瞎掰的……虽说如此当我小放水时它偶尔还是能赢的:

想在五子棋方面找自信的童鞋可以试试: gomoku.7z
竞赛毕竟是竞赛,技术细节源代码神马的就不透露鸟……何况还没写完呢……
BTW 为了保证逆向我的程序的成本比从头开始写一个五子棋程序要高,俺把 exe 文件加密鸟,如果杀毒软件抱怨的话(也不太可能抱怨啦,只是怕有这种可能性)——就请你做一个艰难的选择吧。
第一次见到 Fractal Maze 是在 Matrix67 的博客上,看了一眼直接狠识趣的绕道走了;今天复习开小差的时候木石短信骚扰我说找到“你证明不了这句话是正确的”的来历了,然后我就自然而然的顺着想到了自指,想到了“这句是假话”,想到了“没有任何事情是绝对的”,想到了“我知道我什么都不知道”,想到了“下面一句话是错的;上面一句话是对的”,想到了 —— Fractal Maze.
下图就是一个 Fractal Maze;它作为一个迷宫游戏、你作为玩家,老套的剧情出现了:你要从 S 点走到 F 点。

// 图中间的白色部分是迷宫的复制:

画出来之后当然简单,一眼就可以看出解了;然而就算你知道解,回头看看上面那迷宫,恐怕还是会很难绕出来吧。
后来,我就想到,幸好 INCEPTION 没有用到 Fractal Maze,不然大家都会晕死掉的吧。
【END】
PS. 下面是几个 Fractal Maze,任务都是从负极走到正极,感兴趣的可以看看吧,反正我是不适合玩这玩意儿的。

(http://www.mathpuzzle.com/18Nov2003.html)
解:http://www.mathpuzzle.com/smallFractalMaze.txt

(http://numb3rs.wolfram.com/406/)

(http://www.mathpuzzle.com/18Nov2003.html)
解: http://www.mathpuzzle.com/solutionFractalMaze.gif || http://www.mathpuzzle.com/Fractalsolution-A.gif

(http://www.astrolog.org/labyrnth/equivlnt.htm)

(http://www.mathpuzzle.com/26Jun05.html)
解:http://www.mathpuzzle.com/PullenFractalMaze.txt
总的说,写起来还是挺方便的,就拿上篇的记忆游戏来说,加上
<meta name="viewport" content="width=320,user-scalable=false,device-width=320,minimum-scale=1,maximum-scale=1" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
这样的标记,然后处理一下 rotate 事件,保存到主屏幕,就已经是个像模像样的 app 了——除了必须得要联网。
通过这样那样的途径,我碰巧又发现了其实 HTML 5 具备了离线使用的潜质,于是很迫切的希望让我的程序获得这样的超能力。
好消息是:经过这样那样的努力,我实现了这个愿望:(看!灰行模式!)

坏消息是:由于需要在 .htaccess 或者 apache 的配置文件中添加 text/cache-manifest 的 MIME 类型,而 110mb 不让我这么做;app engine 则似乎根本不让 host HTML 文件,于是目前能使用这个酷功能的有且仅有我自己一人;anyway,你还是可以使用 iSaveWeb 实现同样的效果,Please enjoy:
http://ifyu.110mb.com/memory-game-iPhone.html
最后记几个笔记:
-
在局域网中无法通过 ip 地址访问 apache 服务器是怎么回事呢,原来除了把防火墙好好调教一番之外还需要在 httpd.conf 中加上 Listen 192.168.XXX.XXX:PORT (这么设计有嘛好处?)。
-
用于 host 简单的 Web 页面,AnalogX SimpleServer 是个好东西,比 python -> import SimpleHTTPServer -> SimpleHTTPServer.test() 还要方便。
看到游荡在我这个博客的幽魂们喜欢游戏,我就再放出一个小作品吧……
这次是 HTML+JavaScript 写的, iPhone/iPod Touch 之类的设备玩起来应该都没问题;它真的有点难度哟,我自己最多只能玩到 10 56 74 184 分,欢迎走过路过的生物来鄙视。
玩法:点击 Start Game,会有几个格子显示出蓝色,两秒钟之后颜色消失,然后你需要把它们指出来;答对一轮会增加一个蓝色格子,答错了游戏结束。
另外,写得有点仓促,有 bug 的话欢迎反馈
Press ⇑ Above Button To Start This Game
Update Oct/24th/2010 :
写了个游戏,基本上和 iPhone 上的 >=< 一模一样吧——由于我很喜欢后者,所以自己也做了个,便于在电脑上玩。 玩法很简单:小于 10 的式子丢到左边,大于 10 的式子丢到右边,等于 10 的则丢到下面,看谁速度快。一起来试试吧:
(下载 swf)
还有个更具有挑战性的版本,玩的时候建议把音量开到最大:
(下载 swf)
Update:
其实,还有个比较符合宅男品位的:
(下载 swf)
Update Oct/23th/2010:
Update Oct/24th/2010 :>