📜  提高编程技能的 10 款最佳编程游戏

📅  最后修改于: 2021-10-20 11:15:39             🧑  作者: Mango

你还记得小时候你花一整天,有时甚至不吃饭去玩任天堂游戏的旧时光(啊,马里奥和康特拉的日子!!!)

10 项最佳编程游戏提升您的编程技能

尽管如此,从那时起,游戏经历了巨大的转变,人工智能、虚拟现实、云等先进技术的结合使其更加广泛和革命性。据报道,全国约有3 亿游戏玩家,而且这个数字还在显着增加。

可是等等…!!有什么给你的?

好的,如上所述,游戏本身已经成为一个如此广阔的领域——你需要明白,现在游戏不再只是一种爱好(是的,你没听错)。从程序员的角度来看,网络上有很多编码游戏可用,您可以使用这些游戏平台以更有趣的方式学习和提高您的编程技能。您可以在学习过程中利用这些编码游戏作为有趣的休息时间,同时练习您的编码技能。

此外,它还将帮助您增强创造力和解决问题的能力,因为您需要解决各种具有挑战性的问题,并且必须与世界各地的各种熟练的程序员竞争。

在这里,在本文中,我们已经找到了几个有价值的编码游戏,它们肯定会帮助您提高编程技能:

1. 不可信

埃瓦尔博士的持续冒险!

Untrusted 是一款在线冒险游戏,专为想要练习和测试 JavaScript 技能的个人而设计。在这个游戏中,您需要使用 JavaScript 命令引导 Eval 博士通过机器连续体并改变他的现实以获得自由。该游戏为您提供了一个类似 rogue 的游戏环境和一个控制台窗口,其中包含生成每个级别的 JavaScript 代码。您将能够访问所有源代码,但为了保护自己,您需要对源代码进行必要的更改。

游戏有多个级别,例如cellBlockA ,您需要在其中找出生成墙壁并将其移除的代码,在LongWayOut中您需要创建一个新的出口,等等。如果您对 JavaScript 概念和编程有一定的了解,那么这款游戏将是一次非常有趣的旅程。游戏界面如下图:

不受信任

2. 机器人代码

通过编程相互对抗的机器人坦克来练习你的编码技能不是很好吗(听起来很令人兴奋,对吧?)。

是的,您可以使用这款著名的游戏 – Robocode 做同样的事情。 Robocode 允许您使用Java或 .NET等编程语言开发机器人战斗坦克,以与其他坦克作战。您需要为机器人编写 AI,让它知道要做什么以及如何对战场上发生的事件做出反应。

本场比赛是学习与实践几种编程语言如C#是非常有用的。它还可以帮助您进入人工智能领域。此外,Robocode 为您提供完整的开发环境,并提供自己的安装程序、内置机器人编辑器和Java编译器。此外,Robocode 是一个开源项目,欢迎大家提出自己的附加组件或模式来展示您的开发技能。

机器码

3.电梯传奇

Elevator Saga 可帮助您在编写电梯运动以高效运送人员的上下文中展示您的 JavaScript 技能。有各种各样的挑战,例如在 60 秒或更短的时间内运送 15 人等,挑战逐渐变得更加困难。你需要想出一个优化的算法来减少乘客的等待时间。该游戏确实对您的 JavaScript 技能和算法优化方法的工作非常有益。

此外,Elevator Saga 的界面非常简单,您只需在输入窗口中输入代码,然后单击“应用”按钮即可开始挑战。下面给出了 Elevator Saga 的一些代码示例,让您有一个大致的了解:

  • 通知电梯到1楼: lift.goToFloor(1);
  • 如果电梯正在移动,则停止电梯: lift.stop();
  • 获取电梯当前所在的楼层号: lift.currentFloor();还有很多。

电梯传奇

4. Vim 冒险

如果您经常难以使用 VIM 代码编辑器,那么 Vim Adventures 肯定适合您!! Vim Adventures 是一款在线游戏,可让您借助类似塞尔达 (Zelda) 的游戏环境,以有趣且有趣的方式学习 VIM 键盘快捷键和其他突出的 VIM 概念。这个游戏让学习和理解这个强大的文本编辑器 Vim 变得更容易,它随后可以帮助你成为一个更有效率的程序员。

同时,在游戏开始时,您只能向四个方向(左、右、上、下)移动,随着游戏的进行,您会遇到其他方面,例如与人交谈、收集物品和键盘按钮等。每个键盘键都被添加到您可以提供光标的命令集中,直到您成为 VIM 专家。此外,每当您拿起键盘琴键时,每次都会向您展示该键的工作原理及其用途说明,以便您更好地理解。

Vim 冒险

5. CodeCombat

CodeCombat 主要推荐给那些编程经验很少甚至为零的人,因为它不仅可以帮助您练习编码技能,还可以在游戏格式中为您提供卓越的学习过程。通过游戏可以学习Python、JavaScript、CoffeeScript、Lua等多种编程语言。你需要用这些语言中的任何一种编写代码来告诉字符它需要做什么。此外,游戏从简单的谜题和挑战开始,然后难度级别逐渐提高。是的,游戏中还包含各种教程,以精通语言语法。

此外,CodeCombat 是一个开源项目,您将无法学习和玩耍,但您还可以贡献源代码以添加新功能、修复错误等,以提升您的编程游戏水平。你还需要什么?

代码战斗

6. 弹性盒防御

Flexbox Defense 确实是加强您的 CSS Flexbox 知识和技能的最佳方法之一!它实际上是一个塔防游戏,您需要通过将塔移动到位来阻止来袭的敌人越过您的防御,以便这些炮塔可以在入侵的敌人越过您之前将其射杀。您需要使用塔组容器上的“justify-content”属性来定位您的塔。 ‘justify-content’ 属性接受的几个最常见的值如下:

  • flex-start:在主轴开始处对项目进行分组
  • flex-end:在主轴末端对项目进行分组
  • 中心:在中心对项目进行分组
  • space-around:沿主轴均匀分布项目,使所有项目周围的空间相等,等等。

游戏中还使用了许多其他 CSS Flexbox 属性,例如align-items、flex-direction、order和其他一些属性。

弹性盒防御

7. 代码搜索

列表中可以帮助您在游戏环境中练习和提高编程技能的另一个提及是 Code Hunt。这是一款来自 Microsoft Research 的编码游戏,您可以在其中解决一系列编码难题以完成各个回合。同时,它以一种创造性和独特的格式工作,其中每个谜题只提供测试用例,不提供规范。您首先需要识别模式,然后对解决方案进行编码。 Code Hunt 让您可以精通 2 种著名语言Java和 C# 。它实际上是以这样一种方式设计来教你这两种语言的基础知识的。

由于来自领先的玩家Microsoft ,Code Hunt 受到全球数百万学生(甚至专业人士)的青睐,如果您希望以更有趣的方式加强Java或 C# 编程技能,你一定可以试一试。

代码搜索

8.检查IO

CheckIO 是一款编码游戏,可让您提高编程技能,尤其是对于两种语言Python和 TypeScript 。该游戏推荐给初学者和高级程序员以提高编码技能,因为它为您提供了许多不同复杂程度的令人兴奋的挑战来解决。每组这些挑战都位于一个不同的岛屿上,用户需要解决所需的编码挑战或难题,才能从一个岛屿穿越到另一个岛屿。此外,CheckIO 丰富和支持的社区可帮助您与世界各地的各种聪明人分享知识和经验。

甚至,您也不会相信 CheckIO 被各种教师和讲师在他们的培训计划或课程中用于帮助学生练习编码技能。此外,该游戏是高度可定制的,欢迎大家对游戏进行任何形式的贡献或合作。

检查IO

9. Screeps

这是所有程序员的另一个流行的编码游戏 – Screeps!这是一款在线即时战略游戏,需要您至少具备一些编程基础知识。在这个游戏中,您需要在与所有玩家共享的特定世界中创建自己的殖民地。殖民地将能够开采资源、建立单位和征服领土。此外,需要对单元进行编程以对事件做出反应,您可以使用JavaScript 编程语言对它们进行编程。您还需要知道为 Screeps编写脚本与为任何其他 JavaScript 应用程序编写脚本没有什么不同。您还可以通过 Node.js 之类的语法脚本划分为模块,以使其更方便。

此外,您还可以使用C++等其他语言,也可以通过WebAssembly编译它们。此外,Screeps 允许您为游戏引擎开发做出贡献,您可以修改游戏对象的行为。

爬虫

10. CSS 晚餐

最后是 CSS Diner – 一款帮助您练习和掌握 CSS 技能的编程游戏。该游戏可帮助您通过游戏中包含的所有 32 个级别来控制CSS 选择器。并且随着游戏的进行,每一轮的难度会逐渐增加。游戏包含各种令人兴奋的关卡,具体取决于几个突出的属性,例如id、classname、empty、first-child、only-of-type等等。此外,如果您想要提示来解决特定级别,您需要做的就是将鼠标悬停在表格上的项目上并查看它们的HTML标记。

该游戏将让您更好地理解在 HTML 和 CSS 中定位特定元素,随后它将帮助您在涉及 JavaScript 时遍历DOM元素。最好的部分是您可以在浏览器中玩 CSS Diner,无需任何费用或麻烦,如登录、帐户创建等。

CSS 晚餐

也可以考虑的其他几个编程游戏是 Codewars、SQL Murder Mystery 和 Duskers。毋庸置疑,几乎每个技术爱好者都以某种方式倾向于游戏。借助上述这些著名的编程游戏,您可以以更有趣和更冒险的方式提高您的编程技能。但是,建议您不要在持续的学习过程中妥协,并在有限的时间内使用这些游戏,因为任何东西过多总是不利的。请记住,如果您有效地使用这些游戏,它们一定会帮助您磨练您的编程能力!!