通过玩这些游戏学习编码

除了有志成为一名程序员并有一份有趣的高薪工作的雄心之外,即使对于那些在其他行业中独树一帜的人,也有很多原因来学习编码。 Programmingcanbehelpfulinmanyareas.Itdevelopsastructuredandcreativeapproachtoproblem-solving.Ifyouknowhowtocode,youalsoknowhowtobreakaproblemdowntosmallertaskswithspecificactionsandmeasurableresults. Yourwayofthinkingbecomesmorelogicalandorganized.Codingbroadensyourmind,soyoustarttoseeproblemsinthelightofsolutions.Andofcourse,itteachestobepatient.Logic,problem-solving,persistence:soundslikeagreatsetofskillsforalmostanyprofessional. Ofcourse,codingisn’tsomethingyoucaneasilymasterbysimplymemorizingtheory.Itisimportanttopracticeprogrammingskillsfromtheverybeginning,especiallyifitisyourdreamjob.Ittakeshundredsofhoursofpractice,beforeyoucanapplyfortherealjob.So,whatoptionsarethereinlearninghowtocode? Therearevariousopportunitiestolearnprogramming,suchasself-teachingguides,offlineandonlinecourses.Thetrendofrecentyearsisgamifiedonlinelearning.Itmightbethebestwaytolearnprogrammingfromscratchbecauseyouneedtobehighlymotivatedtolearnprogrammingtheold-fashionedway,whilegamificationallowsyoutoplayandstudy. Herearesixgamificationplatformsforlearningthemostpopularprogramminglanguageswithdifferentapproaches.Choosetheonethatsuitsyouthemost.

1. Java: CodeGym.cc


qeIv6rNygoYrUXBwG7uA2lPpLSj2-b0239j4.png

It’s a gamified online course strictly for learning Java. The course is divided into four quests, each one has 10 levels. A user begins with level 0, in alternative futuristic reality. It is the year 3018, a galactic team crushes on a planet inhabited by wild robots. The only way to get out is to teach the young robot how to code, so he can educate others and help the team pull the spaceship out of the stone heap and return to Earth. The space crew teaches Amigo the basics of Java programming and gives tasks to complete.

The course contains lectures with just a fair share of theory and 1200+ tasks of different complexity. All tasks have instant verification option. After a student writes a solution, he gets an immediate review of every stage and suggestions how he can improve his code. If the task is tough, a user can get help from other students in “Help” section.

The course is entertaining, with constant progress and motivation. A big plus is a lively community. CodeGym is just right for beginners with zero experience in programming and for those who have a background in other programming languages.

2. JavaScript: Screeps


qeIv6rNygoYrUXBwG7uA2lPpLSj2-aajz39rq.png

This is an MMO for players who already know the basics of JavaScript and want to become better at programming. Screeps is the real-time strategy game, where a player needs to develop his own colony by mining resources, building new units, protecting his territory and conquering new.

The main game resource is energy, collected by “creeps”. The colony center is a “spawn”. Each user has one spawn at the beginning and can increase their number. The thing is that there's no need to play 24/7: a player can write commands for his spawns and creeps in advance. It is the game without a certain finishing point, because the universe is endless, and everyone can continue playing, conquering new territories and changing landscapes as they want. It seems to be a good simulator where a user can practice coding. Subsequently, as he becomes more proficient, his colony will grow.

The game reality is thought out to the last detail. Before you start, it’s recommended to read well-prepared manuals which explain the nature of game objects, possible actions and strategies a user can choose, types of commands one needs to write the story of expanding colony.

3. CheckiO: Python and JavaScript


qeIv6rNygoYrUXBwG7uA2lPpLSj2-jclk39or.png

CheckiO is a gamified project for beginners and advanced programmers, that aim to learn Python and JavaScript (clearly, right now Python’s world looks more advanced). The storyline for both languages is basically the same. A user begins the game on his home island, where he already has a set of tasks he needs to solve to move on.

The islands are scattered in the ocean. They are temporarily closed, until user solves tasks on his home island (or, later, buys a subscription to get access to the most complicated tasks). Each task is marked with a level of complexity like “elementary”, “simple”, “moderate”, “challenging” labels and navigation tags: “math”, “matrix", “logic”, “parsing”, “array”, etc.

Tasks have instant verification and “hints” to help a user out. The unique feature of CheckiO is that the project develops partnership relations with different IT companies, so, for example, if you choose to learn Python, you’ll have a chance to discover Sendgrid. Dropbox, Hubspot islands, etc.

CheckiO allows not only to have a single play, but also to create separate educational classes, where every student’s progress counts.

4. VIM adventures: VIM


qeIv6rNygoYrUXBwG7uA2lPpLSj2-jxof39wq.png

VIM isn't actually a programming language. It is a text editor, which is often described as an editor that comes with its own language and certain commands. VIM adventures game teaches a player how to use VIM’s keystrokes. It was quite popular a few years ago. Though the graphics is very simple, the game is still engaging. It has 13 levels, during which users learn more than 60 commands and motions. The main aim is to use the right commands, use them quickly and do as little actions as possible.

A user appears in a text-based world inhabited by tiny people (but ruled by bugs) as a blinking cursor. From the very beginning, he discovers that there is an old prophecy that he’s expected to bring order to the world. On the first level user learns how to use h, j, k, l buttons to move, and gradually, on each stage, he practices using other commands. If something looks complicated, try typing :help for any hint.

"VIM adventures” is an entertaining game, despite of its simplicity, and suitable for anyone who wishes to learn how to work with VIM from scratch.

5. JavaScript, Java, Python, PHP, Ruby and many more: Cyber-Dojo


qeIv6rNygoYrUXBwG7uA2lPpLSj2-yls6390c.png

Cyber-Dojo is a gamified platform with exercises and challenges for practicing almost 30 programming languages with at least one or several testing frameworks per each. There are more options for popular languages like Java, JavaScript, and Python.

Each task has a described challenge to complete and an example of how user’s solution might look. A student can either start an individual or group session, choose language he wants to practice and choose exercises. Other users can join a group session.

During the session, users write code and click test to see if they pass. Each test has a traffic light: red means that one or more test failed, amber means that tests have syntax errors and green means that all tests have passed.

Unlike other gamified courses, the aim of Cyber Dojo is not to finish the game by reaching the final level but to improve skills. It is widely used for coding sparring and group competitions, as it created for programmers who are familiar with coding at least on the basic level.

6. Ruby warrior: Ruby


qeIv6rNygoYrUXBwG7uA2lPpLSj2-ufu139fe.png

This is a game for those who want to learn Ruby programming language. A player can choose whether he wants to start with a beginner or an intermediate track. He plays as a warrior who needs to reach the top of a high tower and get the Ruby.

The main feature is that on each level a student needs to write a code that meets the requirements, push the button and see what happens next. The first level is simple: a warrior needs to walk through the hall and climb up the stairs. Then the challenges get more complicated, with battling enemies and rescuing captives. This requires more advanced coding skills. At the beginning user’s warrior has a limited set of skills, but with each level, he advances his “actions” and “skills” abilities.

The good thing is that the game is clear and consistent. You write code – the warrior executes commands. A player can’t change the code in the middle of the level. If it fails, a player needs to restart, so one should think of every option that might happen. The game can help to learn Ruby, even from the basics, but it’ll be easier for a player who’s familiar at least with a programming logic, so he could redeploy the conditions of passing a certain level into a code.

Considering that motivation and persistence are the major soft spots in self-education, engaging gamified courses seem to be the right choice for beginners in programming world. Obviously, they cannot completely replace traditional education, but practice is extremely important in coding.

(Originally published here)

from: https://dev.to//selawsky/learn-to-code-by-playing-these-games-4618

CodeCombat 是一个通过游戏学习编程的网站,也是GitHub上最大的开源CoffeeScript(一种脚本语言,类似JavaScript)项目,构筑在几十个开源项目之上的,有上千程序员和家为其编写程序、测试游戏。到目前为止,已经翻译成17种国外语言。       它是一款多人编码游戏,该款游戏的任务就是教会大家如何编程,并且通过游戏来提升开发者的技能水平。因为开源,我们可以为孩子们定制我们希望的样式。人们不需要任何编程知识即可了解程序的运行逻辑,并编出实用的代码。      游戏总共超过9千关,每个步骤都会有语音操作提示(非中文),无论你是新手还是编程精英都可以加入到这款游戏中。最重要的是,你是写代码执行游戏。你要扮演得是一名非常有力量的魔法师,要通过你写代码魔法,让你的人去消灭怪兽(其实是怪物)。看起来像是塔防游戏——《王城保卫战》,但却是一款即时战略游戏。每关都会有对话讲解如何操作(遗憾没有中文)左侧是游戏界面,右侧是代码界面,通过在右侧输入关键语句代码,控制左侧角色的移动和攻击等动作。前几关非常简单,几行“上下左右”和“攻击”的代码即可完成通关。每关结束后都有个回顾,告诉你在上一关学到了什么。当输入错误,比如大小写错误,在代码下方会提示具体的出错信息,家可以据此Debug。第二关中,你要先去右边吃蘑菇变强,再去击杀怪物。(点击图片查看具体代码,其实向右移动一步即可迟到蘑菇,代码中是两步)第三关,在击杀第一个怪物后,角色的血也不多了,所以要先去下方喝药瓶。下去喝药瓶,输入代码按回车,角色就会照做。第四关前N关都是编程中最基本的顺序语句,随着关数的提升,像“if…else,then”等判断、循环语句也会逐渐加入,可性越来越高。家在不知不觉也就具备了编程思维。 标签:编程游戏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值