Kodning handlar om att använda de verktyg som finns tillgängliga för att lösa problem (och sedan, naturligtvis, lösa de problem som uppstår genom att lösa de föregående). Detta är också kärnidén bakom de flesta videospel, så de två smälter samman naturligt. Dessa kodningsspel täcker ett brett spektrum av språk, åldersgrupper och färdighetsnivåer, så oavsett om du är en komplett nybörjare eller letar efter något på nästa nivå, finns det ett spel där ute som hjälper dig att lära dig kodning på bästa sätt: genom att göra det. Här är kodningsspel som hjälper dig att bygga upp dina kodningskunskaper.

För mer information, kolla in vår lista över gratis programmeringssajter.
1. Kodbekämpning
Designad Kodstridighet Code Combat är en medeltida RPG-tema programmeringslektion för nybörjare och barn. Det är ett fängslande koncept: vägled din hjälte genom nivåer genom att programmera deras handlingar. Spelet börjar med enkla koncept och ger gott om vägledning. Även om det lyckas hålla grunderna ganska roliga, är spelupplägget inte mycket att skriva hem om: du kan inte hoppa över nivåer, och det finns en viss dikotomi mellan de färdigheter du lär dig här och verkliga tillämpningar. Spela Code Combat med Python, CoffeeScript, Lua, Javascript, HTML, CSS, C++ och Java.

Positiva
- Högt produktionsvärde vad gäller grafik och ljud
- Det guidade innehållet är utmärkt för att lära sig grundläggande programmeringskoncept.
nackdelar
- Vissa funktioner och språk är endast tillgängliga med en prenumeration.
2. Rubinkrigaren
Ruby kanske inte är det mest relevanta språket att lära sig längre, men det här programmeringsspelet kan vara värt ett försök ändå! Ruby Warrior Det är ett 2D-textbaserat spel som låter dig styra din karaktär med hjälp av Ruby och allmän programmeringslogik. Det riktar sig till mellanliggande och expertprogrammerare och tar dig direkt till den punkt där du har börjat läsa och skriva filer i din textredigerare. Liksom klassiska textäventyr framkallar själva spelet en känsla av äventyr och förlitar sig på din fantasi. Oavsett om du behöver lära dig Ruby eller inte, är spelet ganska roligt och kan få dig att vilja fortsätta förbättra dina lösningar!

Positiva
- Tillgängligt offline som ett nedladdningsbart kommandoradsspel.
- Spelets öppna källkod låter dig lära dig av det eller modifiera det.
nackdelar
- Senast uppdaterad 2012
3. CodinGame
CodinGame Det är i grunden ett pusselspel med fokus på algoritmer och problemlösning med hjälp av kod. Det finns definitivt en rolig/spelmässig aspekt i det (det är kul att se sin laser eliminera svärmar av fiendeskepp), men din hjärna kan börja överhettas när du arbetar dig igenom några av dessa utmaningar. De kan bli ganska rigorösa och kräva en del komplext tänkande och programmeringserfarenhet för att bemästra, vilket gör spelet lämpligt för mellanliggande till avancerade programmerare. Det stöder flera olika språk, inklusive C, C#, C++, Java, JavaScript, Python3, Bash, C#, Go, Ruby, Rust, Swift och PHP.

Positiva
- Flerspelarspel finns tillgängliga.
- Stöd för flera programmeringsspråk
- Allt innehåll är gratis.
nackdelar
- Pussel kräver mycket tänkande.
4. CodeGym
تعد CodeGym Det är mer en kurs än ett spel, men det finns ett riktigt seriöst handlingselement inblandat. Målet är att förvandla dig från nybörjare till en blivande Java-utvecklare med hjälp av handlingsbaserade utmaningar och projekt i IntelliJ IDE (Integrated Development Environment), vilket är en bra introduktion till de programmeringsverktyg du senare kommer att använda. Det finns roliga serieteckningar genom hela handlingsdelen, vilket gör att kursen känns rolig och fantasifull. Även om du måste betala för vissa delar av CodeGym, ger det kostnadsfria innehållet dig en bra smak av om kursen passar din Java-resa.

Positiva
- Lär dig genom en fiktiv berättelse eller utbildningsmaterial.
- Innehåll kan hoppas över baserat på färdighetsnivå.
nackdelar
- Avslutade övningar kan inte upprepas med olika lösningar.
Användbart tips: Lär dig Python med den här guiden..
5. CheckiO
CheckiO Det är en samling robusta programmeringsutmaningar som är utmärkta för nybörjarprogrammerare som börjar med Python eller Javascript. "Spel"-delen av detta är faktiskt ett tunt lager över utmaningarna och dokumentationen, och du kanske undrar "Vänta, när börjar spelet?" efter att du börjat spela det. Till exempel innehåller sidan där du löser pusslen ingen text som kopplar tillbaka till berättelsen (vilket knappt antyds på sidan för nivåval). Att navigera genom de olika programmeringsöarna ger dock lite färg åt upplevelsen.

Positiva
- Tips finns tillgängliga om du kör fast.
- Andra spelares lösningar kan ses.
nackdelar
- UI-designen är lite klumpig och störande med reklam.
6. Hisssagan
Om du redan vet hur du ska resa JavaScript Letar du efter några intressanta problem att lösa för att hålla dina kunskaper skarpa, kan ett program vara en bra matchning. Hiss Saga Kul. Idén är ganska enkel: ge hissregler för att resa till olika våningar, hämta upp och lämna av folk. Det blir dock snabbt komplicerat, så du kan komma att sluta och återvända till det flera gånger. När du väl fått kläm på det är det otroligt tillfredsställande att se ditt hissystem gå som en välsmord maskin. Kolla in Elevator Saga om du är en medel- eller avancerad Javascript-kodningsentusiast.

Positiva
- Låter dig vara kreativ och ständigt förbättra dina lösningar.
- Hastigheten kan ökas för att övervinna utmaningar snabbare.
nackdelar
- Dokumenten måste läsas på en separat sida för att ansöka.
7. Otillförlitlig
Skrivet för JavaScript ES5, Otillförlitlig Det är ett fantastiskt sätt att öva på Javascripts finesser. Det är ett textäventyr där handlingen kretsar kring att du hackar dig ur en knepig situation genom att ändra koden som dina kidnappare använder mot dig. Det är ett roligt grepp som får koden att kännas som en naturlig del av berättelsen. De olika ljudspåren (det finns ny musik på varje nivå) får dig att känna dig som en hacker direkt ur en Hollywoodfilm. Det är inte för nybörjare, och även erfarna kodare kan ha svårt att lista ut vilken lösning spelet vill att du ska använda. Även om Untrusted kanske inte lär dig det mest användbara eller moderna Javascriptet, är det fortfarande en rolig utmaning!

Positiva
- Spelupplägget är unikt och tvingar dig att tänka utanför ramarna.
- Lösningar sparas automatiskt i molnet som ett GitHub-arkiv.
nackdelar
- Det finns inte mycket praktisk programmering att lära sig.
Andra resurser
Vissa webbplatser kom inte med på den här listan eftersom de inte var tillräckligt spellika, inte lärde ut programmering, kostade pengar, var inriktade på yngre elever eller specifikt riktade sig till mycket avancerade programmerare, men de är ändå värda att nämna!
- Skräp
- CodeWars
- Edabit
- CSS för Javascript-utvecklare
- LeetCode
- HackerRank
- Schemavers
- Robokod
- VIM äventyr
- Kryptozombies
- CodeMonkey
- TIS-100
- Hack 'n' Slash
- Cyber-Dojo
- Flexbox Froggy
Alla dessa programmeringsspel hjälper dig att öva. I slutändan innebär det att vara programmerare att bygga sina egna saker. Att använda sajter som CodinGame och Codewars kan hjälpa dig att fortsätta vässa och utveckla dina färdigheter, men när du väl har lärt dig grundstrukturen är det bästa sättet att fortsätta lära sig att gradvis bygga större projekt.
Vanliga frågor
F1. Vilket programmeringsspråk ska jag börja lära mig först?
svar. Generellt sett är det en bra idé att välja ett språk som används flitigt. Listan över de mest populära programmeringsspråken inkluderar vanligtvis JavaScript, Python, Java och C-baserade språk, så dessa är alla säkra kort.
Du bör också överväga att använda specifika språk för specifika användningsfall. Till exempel används Java eller Koitlin för att utveckla native Android-appar, medan Objective-C eller Swift används för native iOS-appar.
F2. Kan dessa spel hjälpa mig att få ett jobb som mjukvaruutvecklare?
svar. Det kan du! Om du är nybörjare kan det hjälpa dig att hålla ut tillräckligt länge för att få ett jobb istället för att sluta, om du lär dig programmera i ett roligt spelformat.
Om du är mer avancerad, kolla in spel som använder kodning och beräkningstänkande. Dessa är mer utmanande och kan hjälpa dig att utveckla ett problemlösande tänkesätt som är bra för att klara frågorna i en jobbintervju om programmering.
F3. Vilket är det bästa sättet att lära sig programmering?
svar. Det finns inget specifikt sätt att lära sig programmera. Vissa lär sig framgångsrikt med en traditionell fyraårig datavetenskaplig utbildning. Andra föredrar att lära sig från saker som online-resurser, bootcamps eller kodningsspel som de som nämns i den här artikeln.
Det är viktigt att känna dig själv. Ta reda på hur du gillar att lära dig: Gillar du att läsa, kommunicera ansikte mot ansikte eller lära dig genom att göra? Har du också starka intressen eller passioner som du kan sammanfläta med din programmering? Om du till exempel älskar spel kan du prova att programmera ett spel.


