原来通过玩游戏也可以学会编程,这里有六款编程游戏让你尝试
myzbx 2025-05-15 20:01 35 浏览
前言
除了想成为一名程序员并拥有一份高薪工作之外,还有很多理由让你去学习编程。即使是那些认为自己在其他行业工作的人也可以学习编程,因为它在很多领域都有作用。如果您知道如何编写代码,那么您也知道如何将问题分解为具有特定操作和可度量结果的小任务。你的思维方式变得更有逻辑性和组织性。编码开阔了你的视野,所以你开始从解决方案的角度来看待问题。
当然,通过简单记忆,你不可能轻松掌握编码。在你工作之前,你需要数百个小时的练习。那么,有哪些选择呢?这里有6个游戏化平台,可以用不同的方法学习最流行的编程语言。
Java:CodeGym.cc
这是一个游戏化的在线课程,用于学习Java。该课程分为四个任务,每个任务有10个等级。用户从0级开始,在未来的现实中进行选择。故事发生在公元3018年,一支银河战队在一个由野生机器人居住的星球上展开了一场殊死搏斗。唯一的出路是教这个年轻的机器人如何编程,这样他就可以教其他人,并帮助团队把宇宙飞船从石堆中拉出来,返回地球。宇航员们向Amigo教授Java编程的基础知识,并让他完成一些任务。
这门课包含了相当一部分的理论和1200多个不同复杂度的任务。所有任务都有即时验证选项。在学生编写解决方案之后,他可以立即查看每个阶段,并提出如何改进代码的建议。如果任务艰巨,用户可以在“帮助”部分得到其他学生的帮助。CodeGym非常适合没有编程经验的初学者和有其他编程语言背景的人。
JavaScript:Screeps
Screeps是一款实时战略游戏,玩家需要通过挖掘资源、建造新单位、保护领土和征服新地方来开发自己的殖民地。
游戏的主要资源是能量,由“creeps”收集。蚁群中心是一个“卵”。每个用户在开始有一个衍生,并可以增加他们的数量。问题是没有必要每周7天每天24小时地玩:玩家可以提前为他的怪物和怪物写命令。这是一款没有终点的游戏,因为宇宙是无限的,每个人都可以继续玩下去,征服新的领域,改变他们想要的景观。它似乎是一个很好的模拟器,用户可以在其中练习编码。随后,当他变得更熟练,他的殖民地将增长。
在你开始之前,建议你阅读一些精心准备的手册,这些手册解释了游戏对象的性质,用户可以选择的可能的行动和策略,以及编写殖民地扩张故事所需要的命令类型。
CheckiO:Python JavaScript
CheckiO是一个面向初学者和高级程序员的游戏化项目,目标是学习Python和JavaScript(显然,现在Python的世界看起来更高级)。两种语言的故事情节基本相同。用户在自己的家乡岛开始游戏,在那里他已经有了一组需要解决的任务以继续前进。
这些岛屿散布在海洋中。它们暂时关闭,直到用户在自己的主岛解决任务(或者,稍后,购买订阅以访问最复杂的任务)。每个任务都有一定的复杂程度,如“初级”、“简单”、“中等”、“挑战性”标签和导航标签:“数学”、“矩阵”、“逻辑”、“解析”、“数组”等。
任务有即时验证和“提示”来帮助用户。CheckiO的独特之处在于,该项目与不同的IT公司建立了伙伴关系,因此,例如,如果您选择学习Python,您将有机会发现Sendgrid。Dropbox、Hubspot等。
VIM adventures:VIM
VIM实际上不是一种编程语言。它是一个文本编辑器,通常被描述为带有自己的语言和特定命令的编辑器。VIM冒险游戏教玩家如何使用VIM的按键。几年前它很流行。虽然图像很简单,但游戏仍然很吸引人。它有13个级别,在这13个级别中,用户可以学习60多个命令和动作。其主要目的是使用正确的命令,快速地使用它们,并尽可能少地执行操作。
一个用户出现在一个基于文本的世界中,这个世界由小人居住(但被虫子统治),它是一个闪烁的光标。从一开始,他就发现了一个古老的预言,他希望给世界带来秩序。在第一级,用户学习如何使用h、j、k、l按钮来移动,然后逐渐地,在每个阶段,他练习使用其他命令。如果有些东西看起来很复杂,试着输入:help for any hint。
“VIM adventures”是一款有趣的游戏,尽管它很简单,但适合任何希望从头开始学习如何使用VIM的人。
Cyber-Dojo
Cyber-Dojo是一个游戏化的平台,它提供了练习和挑战来练习近30种编程语言,每种语言至少有一个或多个测试框架。流行语言如Java、JavaScript和Python有更多的选项。
每个任务都有一个描述要完成的挑战和一个用户解决方案的示例。一个学生可以开始单独或小组会议,选择他想要练习的语言和选择练习。其他用户可以加入组会话。
在会话期间,用户编写代码并单击test以查看是否通过。每个测试都有一个红绿灯:红色表示一个或多个测试失败,黄色表示测试有语法错误,绿色表示所有测试都通过了。
与其他游戏化课程不同的是,网络道场的目标不是通过达到最终级别来完成游戏,而是提高技能。它被广泛地用于编码对抗赛和分组比赛,因为它是为至少在基础水平上熟悉编码的程序员创建的。
Ruby warrior:Ruby
这是一个适合那些想要学习Ruby编程语言的人的游戏。玩家可以选择从初级赛道开始还是从中级赛道开始。他扮演一个战士,需要爬到高塔的顶端去拿红宝石。
它的主要特点是,每个级别的学生都需要编写符合要求的代码,然后按下按钮,看看接下来会发生什么。第一层很简单:战士需要穿过大厅,爬上楼梯。接下来的挑战会变得更加复杂,包括与敌人作战和营救俘虏。这需要更高级的编码技能。一开始,玩家的战士只有有限的技能,但是每升一级,他的“行动”和“技能”能力都会提高。
幸运的是,这场比赛是清晰和持续的。玩家不能在关卡中间更改代码。如果它失败了,玩家需要重新启动,所以应该考虑每一个可能发生的选项。这个游戏可以帮助学习Ruby,甚至从基础开始,但是对于至少熟悉编程逻辑的玩家来说会更容易,这样他就可以重新部署将一定级别的代码传递给代码的条件。
考虑到动机和坚持是自学的主要软肋,参与游戏化课程似乎是编程初学者的正确选择。显然,它们不能完全取代传统教育,但实践在编码中是极其重要的。
参考:
https://dev.to/selawsky/learn-to-code-by-playing-these-games-4618
相关推荐
- vue3和web网页直接操作微信小程序云开发数据库
-
我们开发好小程序以后,有时候需要编写一个管理后台网页对数据库进行管理,之前我们只能借助云开发自带的cms网页,但是cms网页设计的比较丑,工作量和代码量也不够,所以我们今天就来带大家实现用vue3编写...
- WebCurl:极致轻量的跨平台 HTTP 请求调试工具
-
在接口开发与测试领域,工具的轻量化、兼容性与安全性往往直接影响工作效率。WebCurl作为一款纯原生、无依赖的网页版API测试与调试工具,凭借极简架构与全场景适配能力,重新定义了接口调试工具的使...
- webapi 全流程_webapi项目
-
C#中的WebAPIMinimalApi没有控制器,普通api有控制器,MinimalApi是直达型,精简了很多中间代码,广泛适用于微服务架构MinimalApi一切都在组控制台应用程序类【Progr...
- Nodejs之MEAN栈开发(四)-- form验证及图片上传
-
这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...
- CodeSpirit.Amis.AiForm 智能表单使用指南
-
概述AiForm是CodeSpirit.Amis框架的智能表单功能,专为AI驱动的长时间处理任务设计。它自动生成一个多步骤的用户界面,包含表单输入、进度监控、日志显示和结果展示等功能。功能特点...
- 初级、中级、高级前端工程师,对于form表单实现的区别
-
在React项目中使用AntDesign(Antd)的Form组件能快速构建标准化表单,特别适合中后台系统开发。以下是结合Antd的最佳实践和分层实现方案:一、基础用法:快速搭...
- Bun v0.7 大版本发布,与 Vite 牵手来破局?
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。今天给大家带来...
- 「前端」界面可视化开发框架formio.js
-
简介formio是一个前端可视化开发框架,无需写css/js就可以开发一套前端界面。直接在界面内拖拽就可以完成界面的布局及开发。数据交互也是固定的,表单校验也可以配置,功能非常强大。特性使用ES6...
- 小伙给同事爬取数据竟获取不到,竟要使用这种请求方式才能获取?
-
Http请求中FormData和RequestPayload两种参数的区别?AjaxPost请求中常用的两种的形式:formdata和requestpayload一、默认的表单方式...
- WinForm + Win32 API 自定义无边框窗口实战(工业软件必备)
-
前言随着.NET9.0AOT(Ahead-of-Time)的发布,便萌生了用代码测试AOT编译效果的想法,同时评估未来是否为NanUI开发支持AOT编译的新版本。关于NanUI项目,若大家尚未了...
- DeepSeek从入门到精通(11)——网页版、APP、API使用方式比较
-
DeepSeek提供了三种主要的使用方法:网页版、手机APP和API调用。这三种方式各有特点,适用于不同的使用场景。下面从使用方法和主要特点两方面进行比较:一、网页版使用方法:直接通过浏览器访问De...
- 初略Web API Notification 桌面通知
-
HTML5WebNotificationsAPI通知接口用于向用户配置和显示桌面通知弹窗。例如,Email邮件通知、来电提醒、聊天信息提醒或任务提醒等。关于Web开发技术中Notificat...
- 什么是API网关?——驱动数字化转型的“隐形冠军”
-
什么是API网关API网关(APIGateway)是一个服务器,位于应用程序和后端服务之间,提供了一种集中式的方式来管理API的访问。它是系统的入口点,负责接收并处理来自客户端的请求,然后将请求路由...
- .NET 7使用 Entity Framework Core 制作增删改查(CRUD) Web API 教程
-
在本文中,我们将使用EntityFrameworkCore(EFCore)实现一个.NET7WebAPICRUD示例。WebAPI是一个构建HTTP服务的框架,可以从浏览器、移动设备和...
- C# ASP.NET Core Web Api 与 MVC 模式下 body 参数传递,post 参数方式
-
在ASP.NETCore中,WebAPI和MVC模式在处理HTTP请求时,特别是POST请求,使用body参数来传递数据的方式非常相似。两者都使用模型绑定来自动将请求体中的数据映射到C#对象上。下...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)
- SVG 文本 (32)
- 时钟启动 (33)
- HTML 游戏 (34)
- JS Loop For (32)