游戏推荐:图灵完备
前言
借用游戏官网的介绍。
《图灵完备》(Turing Complete)是一款以计算机科学为核心的解谜游戏。如果你享受抽丝剥茧的推理快感,渴望在看似熟悉的概念中获得更深层次的认知突破,这款游戏将是你的绝佳选择。你将学习到:
逻辑门:逻辑门是计算机构建的基本单元。从最简单的与非门出发,您将亲手构建出完整的逻辑门体系。
元件设计:在逻辑门基础上引入存储功能后,即可实现更复杂的计算组件架构。
体系结构:将模块组合成真正的计算机系统。图灵完备计算机是衡量计算能力的黄金标准——这意味着该计算机能够执行与图灵机完全等同的算法运算。
汇编语言:计算机通过二进制代码运行程序。创建专属汇编指令集,在自主设计的硬件上通过编程谜题挑战。
虽然这个游戏还在抢先体验环节,但各功能都已经非常完善,非常值得一试!
游戏体验
这个游戏我也是中间弃过一次坑,总体来说,游戏分以下几个阶段:
-
在逻辑门、元件设计这一块都还是比较友好的,虽然设计的不一定是最高效的,但如果肯动脑筋是一定能设计出来的。部分成就会提示你一些元件的可能优化的方向(想挑战自己的朋友可以尝试一下,单纯只是想全成就的话,可以参考 steam 攻略)。
-
在第一个架构阶段,虽然小有难度,但构建完你的计算机,并解决一小部分问题时,是最有成就感和满足感的。
-
在第二个架构阶段,会加入内存、栈,实现函数功能,这部分指引弱化,汇编指令不再有硬性要求,是你独自设计的开始。在这一部分你将不得不推翻你之前的架构设计,很容易让人弃坑(我当时就是这个阶段弃坑了很久),时不时还需要缝缝补补,甚至修改架构 BUG 也让人感觉枯燥,这个阶段的反馈太慢,坐牢较久。如果感觉到困难,不妨先放一放,或者参考他人的设计,这并不可耻(因为修补的过程中排线很麻烦,一个好的设计思路会帮你避免不必要的工作)。
-
在汇编挑战阶段,你的架构已经定型,你将使用你的计算机去解决若干经典的算法题。爽点会集中爆发。当你在汇编挑战阶段编程时体会到当时关卡设计引导时的良苦用心时,你将会心一笑大喊原来如此,若是你有一些计算机知识,你也会明白这样的设计对应的到底是什么目的,心里暗暗称妙。比如汉诺塔问题是一个经典的递归问题,之前设计的栈和函数调用返回如何配合就成了关键,当你把寄存器值和函数地址都压到同一个栈里(而不是寄存器值放在其他存储中)时,你会发现,这不就是个栈帧吗(虽然并不是栈帧的标准定义和用法,说不定在玩游戏之余你还会去学习一遍汇编)。总之,这部分绝对是你玩得最轻松也最激动的环节了!
游戏包含排行榜,可以比较玩家之间各关卡的延迟量、元件数(关卡分数)。在汇编挑战环节,你甚至可以用硬件实现算法,跳过你的计算机架构去解决问题。同时游戏提供了一些额外元件如显示元件、键盘输入元件甚至是网卡,帮助你实现更多看起来不可能的东西。你可以将自己的设计上传,也可以体验其他大神设计的神仙电路。
总之,对于喜欢编程和计算机的同学,这是款不可多得的好游戏!还能帮助你复习知识点,何乐而不为呢?
总结
当水世界的算法执行时,电路不停地闪烁着 8 bits 信号。计数器累加跳转,控制着程序运行输出包含操作码和参数的宽指令。计算单元不知疲倦地计算着,读写开关忙碌地切换着,数据在寄存器、内存和栈之间跳跃。问题输入结果输出,你意识到你手中的这个玩具,拥有着图灵机的一切,它正在一台真正的计算机,一台集人类无数科学智慧与高精加工技术于一身的、只有一本书大小的、完美的机器上运行。而这个玩具,正是它为你准备的动人情书。