เขียนโค้ดคือการใช้เครื่องมือแก้ปัญหา (และแก้ปัญหาที่เกิดจากวิธีแก้ปัญหาเดิม) แนวคิดนี้ตรงกับเกมวิดีโอหลายอย่าง ทำให้ทั้งสองรวมกันได้ดีเล่นเกมสนุกกว่าอ่านเอกสาร!
เกมเหล่านี้ครอบคลุมภาษา ช่วงอายุ ระดับทักษะต่างๆ ไม่ว่าจะมือใหม่หรือต้องการระดับสูงขึ้น มีเกมช่วยเรียนรู้ได้ดีที่สุด: "ทำจริง"
1. Code Combat
Code Combat = บทเรียนเขียนโค้ดหุ้มใน RPG ยุคกลาง เรียนรู้ concepts: variables, methods, objects ฯลฯ เกมพื้นฐานน่าสนใจ แต่ gameplay ไม่พิเศษ: ข้ามด่านไม่ได้ มีช่องว่างระหว่างทักษะที่เรียนรู้กับการใช้งานจริง
เหมาะสำหรับ: เริ่มต้นอย่างเป็นกันเอง เด็กๆ
ภาษา: Python, JavaScript, HTML, CSS
2. Ruby Warrior
Ruby อาจไม่ใช่ภาษาที่ relevant ที่สุดแล้ว แต่เกมนี้ลองเล่นดูคุ้มค่า! Ruby Warrior = 2D side-scroller ควบคุมตัวละครด้วย Ruby และ programming logic โยนให้เล่นเรียนรู้ทีละนาที ทำได้ดี: ให้ความรู้ เรียบง่าย สนุก ไม่ว่าจะต้องเรียน Ruby หรือไม่ เกมน่ารักและท้าทายพอสมควร
เหมาะสำหรับ: มือใหม่ระดับกลาง/กลาง
ภาษา: Ruby on Rails
3. CodinGame
CodinGame = puzzle repository เน้น algorithms และ problem-solving ด้วยโค้ด ส่วนความสนุก/เกมมีอยู่ (บางปริศนามากกว่าบางอย่าง) แต่มองอาจร้อนจากความคิดซับซ้อนและ programming expertise ที่ต้องใช้
ครอบคลุมภาษาและความยากหลากหลาย แต่ไม่เหมาะสำหรับมือใหม่ แม้งานง่ายก็ต้องมีความคุ้นเคยกับโค้ดและ algorithmic thinking
เหมาะสำหรับ: ระดับกลางถึงสูง
ภาษา: C, C#, C++, Java, JavaScript, Python3, Bash, Go, Ruby, Rust, Swift, PHP, และอื่นๆ
4. CodeGym
CodeGym ใกล้เคียงคอร์สเรียน แต่มี story element ที่จริงจัง เป้าหมาย: นำคุณจากศูนย์ไปสู่ junior Java developer ด้วย challenges และ projects ใน IntelliJ IDE (IDE จริงที่จะใช้ต่อไป) บางส่วนต้องจ่ายเงิน แต่เนื้อหาฟรีให้ลองได้ว่าเหมาะกับการเดินทางเรียน Java หรือไม่
เหมาะสำหรับ: มือใหม่ขึ้นไป
ภาษา: Java
5. CheckiO
ส่วน "เกม" เป็นเพียงเปลือกบางๆ หุ้ม coding challenges และ documentation อาจสงสัยว่า "เกมเริ่มตอนไหน?" แต่ challenges ช่วยได้สำหรับคนมีพื้นฐาน coding แล้ว ธีม hopping ระหว่างเกาะเขียนโค้ดเพิ่มสีสัน
เหมาะสำหรับ: เรียน Python หรือ JavaScript
ภาษา: Python, JavaScript
6. Elevator Saga
หากรู้ JavaScript พอสมควร อยากได้ปัญหาสนุกๆ รักษาทักษะ Elevator Saga น่าสนใจ แนวคิดง่าย: กำหนดกฎลิฟต์ไปชั้นต่างๆ รับ-ส่งคน ซับซ้อนขึ้นเร็วมาก อาจเล่นแล้วหยุด กลับมาเล่นใหม่หลายครั้ง
เหมาะสำหรับ: ฝึก JavaScript
ภาษา: JavaScript
7. Untrusted
แม้เขียนสำหรับ JavaScript ES5 Untrusted ยังคงเป็นวิธี cool ใช้ทักษะ JavaScript ระดับกลาง/สูง เป็น text adventure โครงเรื่อง: hack ตัวเองออกจากสถานการณ์แย่ โดยเปลี่ยนโค้ดที่敵ใช้ противคุณ อุปกรณ์สนุกทำให้โค้ดดูเป็นส่วนหนึ่งของเรื่องราว ไม่สำหรับมือใหม่ ไม่สอน JS ล่าสุด แต่วิธีท้าทายที่สนุก!
เหมาะสำหรับ: ฝึก JavaScript
ภาษา: JavaScript
แหล่งข้อมูลอื่นๆ
บางเว็บไม่อยู่ในลิสต์เพราะ: ไม่ง่ายเกมพอ, ไม่สอนโค้ดโดยตรง, ต้องจ่ายเงิน, เน้นเด็ก, หรือสำหรับ advanced coders แต่ควรทราบ:
- Screeps
- CodeWars
- Edabit
- Schemaverse
- Robocode
- VIM Adventures
- CryptoZombies
- CodeMonkey
- TIS-100
- Hack 'n' Slash
- Cyber-Dojo
เกมเหล่านี้ช่วยแค่ practice จริงๆ การเป็น coder คือออกไปสร้างของตัวเอง ใช้ CodinGame, Codewars รักษาทักษะ แต่หลังเรียน syntax พื้นฐาน สร้างโปรเจกต์ใหญ่ขึ้นเรื่อยๆ คือวิธีเรียนรู้ที่ดีที่สุด