プログラミングスキルを磨くための7つのコーディングゲーム

コーディングは、利用可能なツールを使って問題を解決することに関するものです(もちろん、前の問題の解決から生じた問題を解決することも含まれます)。これは、ほとんどのビデオゲームの基本的なアイデアでもあるため、両者は自然に組み合わさります。これらのコーディングゲームは、多くの言語、年齢層、スキルレベルをカバーしているため、完全な初心者であろうと次のレベルのものを探している場合でも、実際に行うことでコーディングを学ぶのに役立つゲームがあります。
さらなる学習のために、無料のプログラミングウェブサイトのリストをチェックしてください。
目次
- コードコンバット
- ルビーウォリアー
- コーディングゲーム
- コードジム
- チェッキオ
- エレベーターサガ
- アンラスト
- その他のリソース
- よくある質問
1. コードコンバット
コードコンバットは、中世のRPGに包まれたコーディングレッスンで、初心者や子供向けに設計されています。魅力的なコンセプトです:コーディングによってヒーローをレベルを通じて導きます。ゲームはシンプルな概念から始まり、多くのガイダンスを提供します。基本をかなり興味深く保ちながらも、ゲームプレイは特筆すべきものではありません:レベルをスキップすることはできず、ここで学ぶスキルと実世界のアプリケーションの間にはいくつかの隔たりがあります。Python、CoffeeScript、Lua、Javascript、HTML、CSS、C++、Javaの言語でコードコンバットをプレイしてください。

メリット
- グラフィックと音声の高い制作価値
- ガイド付きコンテンツは基本的なプログラミング概念を学ぶのに最適
デメリット
- 一部の機能と言語はサブスクリプションが必要
2. ルビーウォリアー
ルビーはもうあまり関連性のある言語ではないかもしれませんが、このコーディングゲームは試してみる価値があるかもしれません!ルビーウォリアーは、ルビーと一般的なプログラミングロジックを使用してキャラクターを制御できる2Dテキストベースのゲームです。中級者および上級者向けに設計されており、テキストエディタでファイルを読み書きすることから始まります。クラシックなテキストアドベンチャーのように、ゲーム自体は冒険感を呼び起こし、あなたの想像力を引き出します。ルビーを学ぶ必要があるかどうかにかかわらず、ゲームはかなり興味深く、解決策を改善したいと思わせるかもしれません!

メリット
- ダウンロード可能なコマンドラインゲームとしてオフラインで利用可能
- ゲームのオープンソースコードを学んだり、変更したりできる
デメリット
- 最後の更新は2012年
知っておくと良いこと: 動画を見るのが好きですか?これらの10のYouTubeチャンネルからコーディングを学びましょう。
3. コーディングゲーム
コーディングゲームは、基本的にアルゴリズムとコードを使用した問題解決に焦点を当てたパズルリポジトリです。楽しさ/ゲームの側面は確かに存在します(敵の船の群れをあなたのレーザーが壊滅させるのを見るのは楽しいです)が、これらの課題を通過するために脳がオーバーヒートし始めるかもしれません。かなり厳しく、複雑な思考とプログラミングの専門知識が必要になるため、中級者から上級者向けのゲームです。C、C#、C++、Java、JavaScript、Python3、Bash、C、Go、Ruby、Rust、Swift、PHPなど、多くの異なる言語をサポートしています。

メリット
- マルチプレイヤーゲームが利用可能
- 多くのプログラミング言語がサポートされている
- すべてのコンテンツが無料
デメリット
- パズルは重い思考を必要とする
4. コードジム
コードジムはゲームというよりもコースですが、かなり真剣なストーリー要素が含まれています。目標は、ストーリー駆動の課題とプロジェクトを通じて初心者からジュニアJava開発者に成長させることです。これは、後で使用するコーディングツールへの素晴らしい導入です。ストーリーコンポーネント全体に楽しいカートゥーンアートワークがあり、このコースは楽しく幻想的に感じられます。コードジムの一部は有料ですが、無料のコンテンツはコースがあなたのJavaの旅に合うかどうかを知るのに良い味を与えます。

メリット
- フィクションのストーリーや教育資料を通じて学ぶ
- スキルレベルに基づいてコンテンツをスキップできる
デメリット
- 完了した演習は異なる解決策で再実行できない
役立つヒント: 無料でPythonを学ぶためのトップ5のウェブサイトをチェックしてください!
5. チェッキオ
チェックIOは、PythonまたはJavascriptを学び始めたばかりの初心者プログラマーに最適な堅実なコーディングチャレンジのコレクションです。「ゲーム」部分は実際には課題とドキュメントの上に薄いシェルが重ねられているだけで、遊び始めると「待って、ゲームはいつ始まるの?」と思うかもしれません。たとえば、パズルを解くページには、ストーリーに戻るテキストが含まれていません(レベル選択ページでほとんどほのめかされています)。それでも、異なるコーディングアイランド間を移動するテーマは、体験に色を加えます。

メリット
- 行き詰まった場合にヒントが利用可能
- 他のプレイヤーの解決策を表示できる
デメリット
- ユーザーインターフェースデザインは少し不格好で、広告で気が散る
6. エレベーターサガ
すでにJavaScriptに慣れていて、スキルを維持するための興味深い問題を解決したい場合、エレベーターサガは楽しいかもしれません。アイデアは非常にシンプルです:異なるフロアに移動し、人を拾い、降ろすためのルールをエレベーターに与えます。しかし、すぐに複雑になりますので、何度かやめて戻ってくることになるかもしれません。しかし、慣れてくると、エレベーターシステムがうまく機能するのを見るのは非常に満足感があります。中級者から上級者のJavaScriptコーダーにとって、エレベーターサガをチェックしてください。

メリット
- 創造的になり、解決策を継続的に改善できる
- スピードを上げて課題を早く進めることができる
デメリット
- 進行するためにはドキュメントを別のページで読む必要がある
7. アンラスト
JavaScript ES5用に書かれたアンラストは、JavaScriptの詳細を練習するための非常にクールな方法です。これは、あなたが捕らえられた状況から脱出するために、捕らえた者が使用しているコードを変更することでハッキングするというプロットのテキストアドベンチャーです。コードがストーリーの自然な一部のように感じられる楽しいデバイスです。異なるサウンドトラック(各レベルに新しい音楽があります)は、あなたをハリウッド映画のハッカーのように感じさせます。初心者向けではなく、経験豊富なプログラマーでも、ゲームが求める解決策を見つけるのが難しいかもしれません。アンラストは最も役立つまたは最新のJavaScriptを教えるわけではありませんが、それでも楽しい挑戦です!

メリット
- ゲームプレイはユニークで、箱の外で考えることを強制する
- 解決策はGitHubのギストとしてクラウドに自動保存される
デメリット
- 学ぶべき実用的なプログラミングはあまりない
ヒント: プログラミングをモバイルに保ちたい場合は、プログラミングラップトップで探すべきことをチェックしてください。
その他のリソース
このリストには、ゲームのように十分ではない、コードを教えない、費用がかかる、若い学習者に焦点を当てている、または特にかなり上級のコーダーを対象としているため、含まれていないサイトもありますが、それでも言及する価値があります!
- スクリープス
- コードウォーズ
- エダビット
- JavaScript開発者のためのCSS
- リートコード
- ハッカランク
- スキーマバース
- ロボコード
- VIMアドベンチャー
- クリプトゾンビ
- コードモンキー
- TIS-100
- ハック‘n’スラッシュ
- サイバードージョ
- フレックスボックスフロッギー
これらのコーディングゲームは、練習を助けるだけです。最終的には、コーダーであることは自分のものを作ることです。CodinGameやCodewarsのようなサイトを使用することで、スキルを磨き成長させることができますが、基本的な構文を学んだ後は、徐々に大きなプロジェクトを構築することが学び続ける最良の方法です。
ヒント: プログラミングの基本を学ぶために質問すべきことを学びましょう。
よくある質問
どのプログラミング言語から学び始めるべきですか?
一般的に、広く使用されている言語を選ぶのが良いアイデアです。最も人気のあるプログラミング言語のリストには通常、JavaScript、Python、Java、C系言語が含まれるため、これらはすべて安全な選択です。
特定のユースケースには特定の言語を使用する必要があることも考慮すべきです。たとえば、JavaやKotlinはネイティブAndroidアプリを開発するために使用され、Objective-CやSwiftはネイティブiOSアプリ用です。
これらのゲームをプレイすることでソフトウェア開発者としての仕事を得ることができますか?
可能性があります!初心者の場合、エンターテイメントゲーム形式でコーディングを学ぶことで、辞めずに仕事を得るまで続けるのに役立つかもしれません。
より上級者の場合は、コードパズルやアルゴリズム的思考を含むゲームをチェックしてください。これらはより挑戦的で、プログラミングの仕事の面接質問を通過するのに役立つ問題解決のマインドセットを育むかもしれません。
コーディングを学ぶ最良の方法は何ですか?
コーディングを学ぶ方法は一つではありません。ある人は、伝統的な4年間のコンピュータサイエンスの学位から成功裏に学びます。他の人は、オンラインリソース、ブートキャンプ、またはこの記事で紹介されたコーディングゲームのようなものから学ぶことを好みます。
自分自身を知ることが重要です。自分がどのように学ぶのが好きかを見つけてください:読むのが好きですか、対面でのコミュニケーションが好きですか、それとも実践することで学ぶのが好きですか?また、コーディングと絡めることができる強い興味や情熱がありますか?たとえば、ゲームが好きなら、ゲームをプログラムすることに挑戦することで大きな成果を上げることができるかもしれません。
画像クレジット:Pexels。すべてのスクリーンショットはBrandon Liによるものです。