一旦你知道自己要做什么,编程就很有趣,但达到这一点,可能是一次痛苦的经历。

这就是为什么在上课、听讲座、看教程之间,你应该留出时间玩一玩编程游戏。它们不仅是有趣的放松手段,还能让你亲身实践,这样你会学得更快,记住更多知识。

Robocode

Robocode是个复杂的编程游戏,在这个游戏中,你可以编写机器人坦克的代码,让坦克们互相博弈。你要用Java、Scala、C#等编程语言,编写人工智能程序,驱动机器人。

Robocode安装程序附带开发环境,内置机器人编辑器和Java编译器。你写的是真正的代码!尽管Robocode早在2000年就发布了,但它仍然定期更新和维护,因为它是开源的。

 

Codingame

Codingame是一款类似游戏的Web应用程序,通过编写真实代码来解决难题和挑战。支持超过25种编程语言,包括Java、C#、Python、JavaScript、Lua、Go、Rust等。每一个难题或挑战都有一个主题,例如,编程炮塔击落附近的飞艇,是不是很有趣?

 

Codecombat

Codecombat也是一个用于像游戏的谜题挑战类Web应用程序,只能通过编写代码来解决。不过Codengame更有娱乐性,Codecombat有很强的教育意义,它有一个“课堂版”,老师可以用来帮助学生学习编码。目前有3种课程可供选择:计算机科学、网络开发和游戏开发。

 

Codewars

Codewars与其说是游戏,不如说是一种练习编码和解决算法挑战的游戏化学习方式。解决问题后你可以得到一定点数,点数值取决于你的解决方案的效率。Codewars允许你查看他人提交的解决方案,方便学习和借鉴。

 

Codehunt

Codehunt是一种可以使用Java或C#来玩的游戏。它的目标是教你学会编程语言的基础知识,从训练开始,到循环和字符串等主题,最后是排序、密码和编程难题等挑战。Codehunt的有趣之处在于,它没有告诉你如何赢得每一项挑战。

 

Vim Adventures

Vim Adventures是一个有趣的类似游戏的教程,用于学习如何使用Vim,这是一个功能极其强大的文本编辑器,许多编程专家都喜欢用。然而,它不容易学,这就是为什么有这样的教程。虽然Vim本身不是一种编程语言,但掌握Vim可以帮你更高效地编码。

 

TIS – 100

TIS - 100是一款与众不同的视频游戏,它迫使你学习并使用模拟的低级汇编代码来解决编程难题。这个游戏很难,它是开放式的,只要你没有怒到卸载它,就会发现它的价值。

 

Shenzhen I/O

Shenzhen I/O 与TIS – 100同属一家工作室的作品,这是一款益智游戏,你的任务是创建简化版电路,并编写电路上运行的简化版汇编代码。与TIS – 100相比,Shenzhen I/O更容易学,更令人愉快,不过也同样复杂。

 

Human Resource Machine

在Human Resource Machine中,你要扮演一名办公室工作人员,通过将各种指令组合在一起来完成任务。从某种意义上来说,这款游戏要求通过可视化编程来解决难题,甚至涉及了逻辑流程和内存管理等概念——但以易于理解的、以办公室为主题的方式呈现。这是一个锻炼程序员大脑的好游戏。

Screeps

Screeps是一款大型多人在线策略游戏,你要使用JavaScript来编码游戏中实体的行为,并为自己建立一个帝国。