有,大概接触过一些有趣的puzzle game,能够锻炼人的思考能力或者掌握一些知识。
不过知识的定义很广泛,而且通过游戏来学习效率并不高(无法代替专业学习),但重在趣味性。
有三类游戏:
一者是本身游戏过程中出现真实的知识(如大航海,P社四萌)
一者是游戏某些问题的解决需要玩家去查找学习知识,或自行想出算法(如Minecraft的红石电路,各种策略游戏的布阵)
一者是游戏无真实知识考察,但能够锻炼玩家通过逻辑思考解决问题的能力(如Valve的Portal,braid)
(注:这三类并不是互不重叠的,下面主要侧重于前两者)
————————————分割线——————————————————————
1.编程算法设计相关
之前答案已经说过的CodeCombat就很不错,适合娱乐性学习。
下面是几个有趣的非直接编程游戏,难度逐渐上升。
所谓的非直接编程,就是你可以控制放置某些基本物件,然后要合理组合物件可以完成任务。
不过其编程方式是非常原始的,更没有C++,python那种便利性
甚至你根本不能输入自己的代码!!
而只能组合已有的元件,所以很考验逻辑和算法设计能力。
这种游戏就和OJ一样,会有给定的输入,要求得到给定的输出。有时会有几组数据,全过了才能到达下一关。
玩家可以在游戏中体会一下从0,1进制开始搭建到完成简单的输入A,B输出A+B的函数功能的过程(游戏过程有时甚至会出现堆栈等数据结构)。
不夸张地说,能够独立完成这些游戏的大部分关卡后,你也学到了很多经典而巧妙的设计方法,逻辑思考能力应该有所提升,这些对于数学,CS等学科的理论学习是有帮助的。
★
编程机器人
lightbot 1 & 2