JavaScriptって何だか難しい。もっと分かりやすいサイトってないの?
ゲーム感覚で楽しみながら学習できるサービスってないのかな…
独学でJavaScriptの基本的なプログラミング手法を学びたい
これからJavaScriptのプログラミングを学習しようという人にとって、難しい文法やメソッドを1つずつ覚えていくのはあまり楽しい作業とは言えないでしょう。
できれば楽しいゲームで遊んでいるようにプログラムを学習することって出来ないのでしょうか?
そんな都合の良い話なんて無いと思うかもしれませんが、実はネット上にはJavaScriptの学習をゲーム感覚で楽しめるWebサービスがいくつか公開されています。
そこで、初心者の方や独学者でも今日からJavaScriptの学習をゲーム感覚で学べるWebサービスについてまとめてご紹介していきますので、ぜひ最後まで読んで理解を深めて頂ければ幸いです。
一人でも多くの方がJavaScriptの不安を解消できれば幸いです。
プログラミングの仕組みを学習する
この章では、初心者でも無理なくプログラムのしくみや概念を学習できるWebサービスをご紹介します。ブラウザからグラフィカルな画面を操作して、プログラミングの楽しさを身につける方法を学んでいきます。
コードモンキーとは?
サービス名:コードモンキー
子供から大人まで、初心者も独学者も含めて誰でもゲーム感覚でプログラミングの楽しさを教えてくれるWebサービスが「コードモンキー」です。
主人公のサルをプログラムで操作しながら、落ちているバナナをすべて回収するのが目的のゲームになっています。プログラムで操作する…と聞くとなんだか難しそうに聞こえますが、日本語でしっかりと説明をしてくれるので非常に分かりやすいのが特徴です。
プログラムも簡単に設計されており、【前に10歩進め】とか【左を向いて】のような命令をサルに与えるだけなのでとても馴染みやすいと言えるでしょう。
プログラムの概念をゲーム感覚で学習する
コードモンキーはブラウザから気軽にアクセスできて、面倒なユーザー登録なども不要で全30コースを無料で体験できるようになっています。
この無料コースだけでも、プログラムの基本と言える書き方や制御構文などの使い方を学べるように構成されているのも特徴です。
プログラムはゲーム画面に搭載されているコードエディタに直接記述していくことができます。
アイコンをクリックすることで命令を手軽に貼り付ける機能もあるので、誰でも簡単にプログラムを書けるように設計されています。
【RUN】ボタンをクリックすると、自分が書いたプログラムの通りにサルが動くように設計されているので、間違った指示を与えるとバナナを回収できないのがすぐに分かるのも面白い点です。
まだプログラミングの経験が無い方や、プログラムの仕組みを知りたい人には非常に最適なサービスと言えるでしょう。
JavaScriptの基本構文を学習する
この章では、コードモンキーよりもう少しだけレベルアップしたプログラミングの基本をゲーム感覚で学習できるサービスについてご紹介します。JavaScriptの基礎とも言える構文を学習するには最適な内容になっています。
CodeCombatとは?
サービス名:CodeCombat
RPGゲームのようにキャラクターを成長させて装備を強くしていき、プログラムを駆使して待ち構える敵やボスを倒しに行くという内容のサービスです。
このCodeCombatの最大の魅力はゲーム性が非常に高いところでしょう。コードモンキーのようにプログラムを自分で記述するのは同じなのですが、ステージが進むに連れて回答が1つでは無くなっていきます。
つまり、自分が記述したプログラムで結果的に目的(宝物を発見する、敵を倒すなど)を達成すれば良いので、さまざまな攻略法が存在するわけです。プログラムの書き方や効率化など、素晴らしいプログラムであればポイントも高くなるというシステムが特徴的です。
JavaScriptの基本構文をゲーム感覚で学習する
CodeCombatには複数の世界が存在しており、それぞれの世界には20〜100を超えるステージが用意されています。
基本的なステージはすべて無料でプレイできるのも魅力で、中級者向けにはゲーム開発を学習できるステージもいくつか用意されています。
ゲーム画面にはコードエディタも搭載されているので、キャラクターをプログラムで操作しながら敵を倒したり探索したりを楽しむことができます。
また、新しい装備を発見して身につけるとキャラクターに指示できる命令が増えていきます。
これにより、繰り返し処理や条件分岐・関数など、JavaScriptでプログラミングをしていくうえで欠かせない基本的な構文を楽しみながら覚えていくことができるわけです。
海外のサービスですが、日本語にも対応しておりゲームとしても非常に完成度が高いので勉強をしているというよりも遊んでいるという感覚の方が強いでしょう。
ロジックを組み立てるスキルを学習する
この章では、自分でプログラムを組み立てる考え方をゲーム感覚で身につけられるサービスについて見ていきましょう。ロジックを組み立てるスキルは少し難易度も高くなりますが、得られるものも大きいはずです。
CodinGameとは?
サービス名:CodinGame
これまで見てきた【コードモンキー】や【CodeCombat】で基本的なプログラムの書き方や基本構文を十分に学習したら、今度は自分でプログラムを組み立てるのに必要なロジックを考える力を身に付けていきましょう。
このロジックを考える…というのが初心者には難しいのですが、これもゲーム感覚で学習できるサービスがあります。それがCodinGameです!
CodinGameでは、さまざまなゲームを通して何らかの問題点が用意されており、これを解消するための方法を考えて自分でプログラムを書いて修正していくというのが基本的な目的になります。
複数の問題点を何度も解決していくことで、自然とロジックを組み立てるスキルが向上して自分が実現したいことをプログラムで表現できるようになるというわけです。
プログラムを組み立てるスキルを学習する
実際にどのような感じでゲームを進めていくのかもう少し詳しく見ていきましょう。
例えば、序盤のステージではシューティングゲームがあらかじめ用意されています。しかし、敵が近づいてきても自機は攻撃をしてくれない状態なのです。これを近くの敵から次々と攻撃するようにロジックを組み立てるというわけです。
ゲーム画面の下にはヒントが書かれており、どのようなメソッドを使ったら良いのか分かるようになっています。コンソールログなども搭載されているので、どのようなデータを取得してどのメソッドを使えば近くの敵が得られるのか分析できます。
ロジックの書き方は人によってさまざまですが、近くの敵を攻撃するという目的が達成できていればステージクリアになります。
他にも、さまざまな種類のゲームが用意されており、ロジックの考え方だけでなくゲームそのものを楽しめる要素も強いです。
アクションやパズルなど、多彩なジャンルのロジックを考えて問題を解消していけば基本的なプログラミングスキルとしては十分でしょう。
実践的なプログラミングスキルを学習する
この章では、JavaScriptプログラミングをより効率的に学習できるサービスについて見ていきましょう。対戦ゲームを通して自身のプログラミングスキルを向上させることができるようになります。
FightCodeとは?
サービス名:Fight Code
自分だけのロボットをネット上に作り、それがどのように動作するのかをJavaScriptでプログラミングできるのが特徴のサービスです。さらに面白いのは、このロボットを他のユーザーと対戦させることができる点です。
つまり、より強いロボットのプログラムを組み立てることで誰にも負けない最強のロボットを作り出せるということです。
ゲーム性も高いのですが、繰り返し自分のプログラムを改善して修正していくことで確実にプログラミングスキルを向上できるのが大きな魅力と言えるでしょう。
プログラミングスキルの向上を目指す
ロボットの動きをプログラミングすると言っても、まったくのゼロから組み立てるわけではないので安心してください。
ロボットをこんな風に動かしたい…という想いをすぐに実現するために、あらかじめ便利なメソッドが提供されています。
サービス内で提供されているコードエディタで、JavaScriptを使いながらプログラミングしていくのが基本になります。画面右側にはロボットが実際に動くプレビュー画面があるので、プログラムがどのように動作しているのかもすぐに確認できます。
敵が攻撃してきたらどのように回避して、自分が攻撃するタイミングはどこなのか…のようにさまざまなイメージをそのままプログラミングしてみると面白いでしょう。
そして、実際に他のユーザーが持っているロボットと対戦させてみて、もし負けてしまったらプログラムを改良してまた再挑戦してみましょう!
まとめ
今回は、JavaScriptの学習をゲーム感覚で勉強できるWebサービスをまとめてご紹介しました。
最後に、もう一度ポイントをおさらいしておきましょう!
- 基本的なプログラムの学習はコードモンキー、CodeCombatが最適
- ロジックを組み立てるスキルについてはCodinGameが良い
- 実践的なプログラミングスキルはFight Codeで学習できる
上記内容を踏まえて、ぜひ自分でもプログラミングに取り入れて活用できるように頑張りましょう!