游戏推荐:Human Resource Machine
App Store地址:https://itunes.apple.com/cn/app/human-resource-machine/id1005728312?mt=12
一款神作,对计算机底层原理,图灵机感兴趣的小伙伴可以挑战下。游戏说白了就是科普版的汇编语言练习,通过11条最精简的汇编指令集合(弹栈,压栈,读,写,加,减,自增,自减,无条件跳转,零跳转,负跳转)以及指针运算,操作寄存器,地址寄存器(地砖),将左侧传送带(参数栈)上的数据依次弹栈,处理后压入右侧传输带,以通关的形式由易入难解决问题。从最简单的分支,循环,到加法器,计数器,乘法器,除法器,取模器,再到一些更复杂的实际问题比如字符串操作,费波那契数列等的实现。每一关除了直接解决外,还能挑战最少指令数和最少执行步骤,即对算法按不同维度进行优化(我觉得可以再加一个最少空间使用的挑战)。这个游戏的科普意义在于通过图形化游戏的形式告诉大家计算机虽然越来越快,但也只是以更高的执行频率在图运机读-指针移动-运算-写的框架内进行数据处理;计算指令虽然越来越复杂,也只是对这11条指令(加上与或非等位操作)进行封装和优化,比如乘法运算在计算机底层实现就是个累加器,所以肯定比加减运算要慢,得多。视频是最后一关实现排序算法,花了半个多小时实现了一个泡排序并完成最少指令挑战,看来汇编还没全还给北航 8-) 有空挑战一下最少步骤~