博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你以为我在玩游戏?其实我在学编程!
阅读量:7047 次
发布时间:2019-06-28

本文共 1080 字,大约阅读时间需要 3 分钟。

阅读本文大概需要 1.8 分钟。

作者 | 八知道也

前几天休假的时候接触了几款挺有意思的小游戏,写出来安利一下,也许能搏同行一笑。

程序员升职记

《程序员升职记》是一款送给宅男们的智力游戏。 在每一层,老板都会派给你一份工作。你可以通过编写小程序自动把工作搞定!一旦你成功了,恭喜!你升职了!

实际上这是一个非常不错的编程启蒙游戏,指令集与汇编类似,作为一个没有学过汇编的弱鸡,这就是我的汇编基础课啦:)

程序的关卡界面长这样,一看就十分硬核,难度阶梯型递增:

简单的加减乘除 -> 斐波那契 -> 去重排序, ......

随便挑选一关进去瞅瞅,可以看到能利用的主要指令包括:

copyfrom, copyto, add, sub, bump+(相当于++),bump-(相当于--),jump/jump if zero/jump if negative等。和汇编比较类似。

我们能做的就是用拖拽的方式组合不同的处理步骤,左上角的小人会根据你的设计去读取InBox的数据,借助中间的地毯(内存)可用空间缓存中间结果,输出最终结果到OutBox中。

当组织好右边的工作流之后,就可以按那个绿色的执行键进行测试,执行键左右两个按键可以进行正逆方向的单步调试,最右边的滑块可以用来控制是否快进。运行起来的效果如下图所示,还是很可爱的。

即使最终通过了右上角上级的考核,也不代表你就完美过关了。

因为游戏还会对你的代码长度和耗时进行评估,并且告诉你哪里还有改进空间。

优化诊断和效率诊断有时候不可兼得,真是逼死强迫症啊。

后者更多时对程序设计的考验,但前者有时难以捉摸,由于指令集有限,即使逻辑一样,jump的时机不一样会导致程序长度有那么一两行的差异,总之要达到前者请尽量复用代码。

游戏还有一个个人欣赏的优点:支持答案以伪代码的形式导入导出,这个特性很体现程序员思维方式,非常有利于爱好者分享讨论自己的解法,已经发现github上有人上传了自己的解法大全,并有几百个star。

7 Billion Humans

比较详细介绍了上面那个游戏,再简短地介绍一下它的续作:7 Billion Humans

和前作最大的不同是移除了input和output,但是引入了并行,同步,随机,变量,循环,条件判断和更复杂高级的计算指令,难度比第一代有所上升,使得寻找同时满足效率和长度的解法愈加困难,运行起来的效果也是更加忙碌。

以上游戏Steam均有销售,支持Win和Mac,如有兴趣,请尽量支持正版。

往期精彩回顾

欢迎关注我的公众号「程序员的成长之路」,阅读更多精彩!  

转载地址:http://ibkol.baihongyu.com/

你可能感兴趣的文章
Windows安全认证是如何进行的?
查看>>
dll文件
查看>>
C# 多线程详解 Part.04(Lock、Monitor、生产与消费)
查看>>
HTTP协议之chunk介绍
查看>>
误区1:数据是可靠的
查看>>
根据IP找到计算机名字(小技巧)
查看>>
遍历jquery的对象
查看>>
system app 下面的apk 修改后不需要重新签名
查看>>
openoj的一个小比赛(F题解题报告)poj3978(dp+素数筛选)
查看>>
【转载】动态代理DynamicProxy 介绍
查看>>
读写cookie的方法
查看>>
淘宝技术发展(Oracle/支付宝/旺旺)
查看>>
分布式版本控制工具 Mercurial 使用教程
查看>>
使用Keil MDK运行第一个STM32程序
查看>>
同时寻找最大数和最小数的最优算法
查看>>
【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类
查看>>
GDI+在VS2008 编译不过的解决方法
查看>>
强烈推荐一个超酷的wordpress状态信息图
查看>>
分区表、分区索引3(海量数据测试)
查看>>
AIX查看CPU核数
查看>>