8 款编程游戏助你提升编程技能
编程是全球雇主最青睐的职业之一。随着新技术和初创企业的不断涌现,全球合格的开发人员供不应求。这个职业竞争激烈,要求极高,即使你已经是一名专业的开发人员,也需要不断学习和拓展知识。
当然,学习编程的方法有很多,有数百本教材、视频课程和指南可供选择。实践是帮助你学习一门新的编程语言或库的最佳途径。而这正是许多人经常遇到的障碍:拥有大量的学习资料,但却严重缺乏实际运用理论的经验。
计算机理论学习的另一个障碍是——你会被理论淹没,甚至失去学习动力。没有实践,你的学习曲线就不会有显著的进步。
对于这些问题,有一个解决方案,它适用于学习一般的编程知识或提高你对特定语言的掌握。那就是编程游戏!今天,我们将列出一些市面上最好的编程游戏。
1. Robocode
在 Robocode 中,您可以通过控制一辆坦克与其他坦克战斗来学习编程,并在此过程中练习编写代码。
优点
- 简单易学,快速上手。
Robocode 是一款老游戏(2000 年推出),它有非常详细的教程,可以讲解游戏的方方面面。它的机制比较简单,所以还没到开始玩的时候。
- 这个游戏很有趣,甚至会让人上瘾。
机器人坦克大战总是妙趣横生。Robocode 凭借其引人入胜且平衡的游戏流程,拥有庞大的粉丝群。想想看,这款 2000 年推出的游戏至今仍在定期更新和维护。
- 它让你编写真正的代码。
在 Robocode 中,你需要使用多种流行的编程语言(包括 Java 和 C#)为你的机器人坦克编写 AI。因此,每次玩游戏时,你都能练习真实且实用的编程技能。
- 这是一款开源游戏。
Robocode 是一个完全开源的项目,这意味着你可以重复使用它来制作几乎任何你想要的东西。多年来,Robocode 的爱好者们一直在为 Robocode 创建各种各样的模式和插件。
- 您可以在玩游戏时使用不同的编程语言。
在 Robocode 中,您可以提高技能并学习多种不同的编程语言,而不是某一种特定的语言。
缺点
- 简约的设计。
前面提到过,Robocode 是一款老游戏。它的画面、设计和界面都非常基础,没什么特别出彩的地方。
- 卸载困难。如果你想从电脑中删除 Robocode,可能并不容易。Robocode 没有卸载文件。你必须手动找到游戏目录(这可能比较棘手),然后删除其中的所有文件。
2. CodeGym
Java
CodeGym 是一款游戏化的编程课程,旨在让用户学习和练习 Java 编程。
优点
- 您可以从头开始学习 Java 编程。
玩家不需要了解任何有关 Java 编码的知识即可开始游戏,因此它适合初学者。
- 该平台提供大量示例和解释,以简化学习过程。
如果您无法弄清楚如何完成其中一项任务,CodeGym 提供了各种示例来帮助您找到解决方案。
- CodeGym 教您将 Java 用于不同的目的和平台。
课程包含超过 1200 个谜题。它们会教你如何为不同的任务编写解决方案,如何根据不同的需求修复或调整现有代码,以及其他应用。
- 它不仅仅是一个游戏化的学习课程。
CodeGym 是一款精彩的在线游戏,它拥有真实的科幻情节、有趣的角色和丰富的幽默元素。所有这些都让 Java 学习过程充满乐趣和吸引力。
- 虚拟导师。
您的解决方案将由虚拟教师验证,您可以立即获得结果。虚拟教师会针对您的解决方案提供建议,帮助您纠正错误,并为您提供清晰的作业要求清单。
- CodeGym 可免费使用。
缺点
- 您可能需要额外的学习材料来了解 Java 的某些方面。
有时,谜题提供的内容可能不够,你可能需要寻找更多信息和教程。好消息是,你不需要费力寻找。网上和平台上都有大量的 Java 资料。
- 该游戏尚未针对移动平台进行完全优化。
CodeGym 确实可以进行一些调整以更好地适应移动平台。
3.代码战争
Clojure、C、C++、C#、Crystal、Dart、Elixir、F#、Go、Haskell、Java、JavaScript、PHP、Python、Ruby、Rust、Shell、SQL、Swift、TypeScript
Codewars 是一个游戏化的在线平台,具有编码挑战,用户可以在其中解决难题并比较他们的解决方案。
优点
-
你可以将你的解决方案与其他玩家进行比较。Codewars
允许你将你的解题思路与其他玩家进行比较。这有助于你快速找到代码中的错误,并学习如何从完全不同的角度解决同一个问题。 -
您可以通过完成挑战来练习编码。
解决不同的难题和算法挑战是快速学习编程语言的最有效方法之一。
- Codewars 可免费使用。
缺点
- 需要一些基本的编码知识才能开始。
Codewars 对新手不太友好,例如 CodeGym。在开始使用它之前,你需要学习一些编程基础知识。
- 挑战的主题有限。
使用 Codewars 一段时间后,您会发现该平台并没有提供那么多种类的谜题。
4.深圳I/O
深圳I/O是一款益智游戏,它教导未来的工程师如何根据提供的要求构建电路和编写汇编代码。
优点
- 深圳 I/O 为一般 IT 工作建模。
这个游戏并不像之前的游戏那样专注于编程语言,但是你通过它训练的技能将适用于该领域的许多不同工作和目的。
- 对于那些对传统编程方式感兴趣的人来说,这是一个完美的选择。
以前,没有那些花哨的 IDE 和框架,代码必须更加复杂。而这款游戏可以让你练习这些。
缺点
- 深圳的I/O相当困难。
该游戏没有完整的用户手册,并且其谜题通常相当困难,因此很多人可能会觉得它太过硬核。
- 它的学习曲线很陡峭。
深圳工业园区(Shenzhen I/O)的学习难度相当高。一开始只有几个相当简单的任务,但谜题却突然变得复杂起来。游戏没有给你太多时间去适应。
5. Vim 冒险
Vim Adventures 是一款用于学习或提高您对流行的 Unix 文本编辑器 Vim 的了解的游戏。
优点
- 这是学习所有主要 Vim 概念的简单方法。
通过玩这个游戏,您将快速学习所有 Vim 的键盘快捷键、主要概念和功能。
- 对于学习编程逻辑很有用。
虽然严格来说,Vim 不是一种编码语言,但知道如何使用它会对你作为一名程序员有很大帮助。
- Vim Adventurers 是一款有趣且具有娱乐性的游戏。
缺点
- 有些用户可能很容易感到无聊。
Vim Adventurers 过于简单,这很快就会使游戏过程变得无聊。
6. CodeMonkey
Code monkey 是一款在线编码游戏,主要针对编码知识非常有限或为零的小学生和中学生设计,这使其成为初学者的不错选择。
优点
- 非常适合编码知识为零的学生。
CodeMonkey 是教儿童和青少年学习编程的绝佳起点。如果它对他们有用,那么它对任何年龄段的人都适用。
- 它提高了逻辑和解决问题的能力。
你在玩这款游戏时所培养的技能,例如逻辑思维和解决问题能力,几乎可以应用于生活中的方方面面,而不仅仅是编程。对于那些有兴趣提升这些技能并学习编程的人来说,CodeMonkey 是一个不错的选择。
- 它的编码语言类似于 JavaScript。
在CodeMonkey中使用这种语言使得玩游戏后学习JavaScript变得更容易。
缺点
- 这款游戏不太适合在家学习的学生。
它经常需要技术支持和帮助。CodeMonkey 更适合作为课堂互动活动。
7.弹性盒青蛙
Flexbox Froggy 是一款简单的游戏,旨在帮助用户学习 CSS 代码。玩家需要掌握 CSS 弹性框布局模块,才能将 Froggy 带回家。
优点
- 专为不具备 CSS 知识的用户打造。
专为 CSS flexbox 初学者制作,以便您可以使用 Froggy 学习 CSS 基础知识。
缺点
- 该游戏非常简单,只适合初学者。
简单也是 Flexbox Froggy 最大的缺点。它更适合完全的初学者,对于要求更高的用户来说,学习空间并不大。
8. CodeCombat
CodeCombat 是一款在线游戏,由玩家需要通过编写 JavaScript 代码来解决的谜题和挑战组成。
优点
-
本书是面向初学者的 JavaScript 语法和逻辑入门指南。
您可以从非常简单的谜题入手,循序渐进地学习 JS 语法。 -
它很有趣并且很吸引人。
CodeCombat 为玩家提供了丰富的谜题和挑战,乐趣十足。玩这款游戏一段时间都不会感到无聊。
缺点
- 仅教授基本的 JavaScript 概念。
CodeCombat 仅涵盖 JavaScript 的最基本概念,如果您已经掌握了它们,则需要寻找另一个工具来进一步学习。
包起来
边玩边学并非新鲜概念,游戏也是学习或提升技能的可靠途径。编程也不例外。市面上有很多优秀的编程游戏,适合各种类型的玩家。无论你正在学习哪种语言,无论你目前的水平如何,都能找到适合自己的游戏来提升你的编程技能,同时享受其中的乐趣。
本文最初发布于GitConnected 博客。
文章来源:https://dev.to/selawsky/8-coding-games-to-improve-and-level-up-your-programming-skills-3fc0