Programming is fun once you know what you’re doing, but getting to that point can be a grueling journey.
Which is why you should set aside time to play these coding games and challenges. Not only do they serve as fun breaks, but you’ll learn faster and retain more info thanks to the hands-on practice and experience.
Robocode is a complex programming game where you code robot tanks that fight against each other. Your job is to write the artificial intelligence that drives your robots to success—using real languages like Java, Scala, C#, and more. To get started, check out the Robocode Basics and Tutorials.
The Robocode installer comes with a development environment, built-in robot editor, and Java compiler. You’re actually writing real code! Despite launching back in 2000, Robocode is still regularly updated and maintained, helped along by the fact that it’s open-source and addictive.
Codecombat is another web app for game-like puzzles and challenges that can only be solved by writing code. But whereas Codingame is more entertaining, Codecombat has a significant educational bent with a “Classroom Edition” that teachers can use to help their students learn how to code. As of this writing, three course paths are available: Computer Science, Web Development, and Game Development.
Codewars isn’t so much a game as it is a gamified way to practice coding and solving algorithmic challenges. You get points for completing puzzles and point values are determined by how efficient your solutions are. Codewars lets you view solutions submitted by others, which you can study and learn from. I believe it’s one of the best ways to learn a new programming language and its idioms