Photo by Radly J Phoenix
こんにちは。谷口です。
最近は、ゲーム感覚で楽しくプログラミングを学べるサイトやサービスがかなり増えてきました。勉強するのは大変だけど、ゲームやクイズを通して遊び感覚でプログラミングを学ぶことができたらいいですよね。
そこで今回は、あまり勉強っぽくなく初心者でもゲーム感覚で楽しくプログラミングを学べるコンテンツを9個ご紹介します。
↓以前の記事はこちら。今回はこの記事に載っていないサービスばかりを紹介します!
paiza.hatenablog.com
現在paizaではプログラミング×異世界ファンタジーRPG『ロジックサマナー~閃光の召喚プログラマ』を公開しています!
主人公はひょんなことから異世界に迷い込んだITエンジニア。異世界では、なんとプログラミングしたコードが召喚獣を呼び出すための詠唱魔法だった!?召喚魔法(※プログラミング)が使える主人公は急に世界を救う伝説の召喚士として盛大に歓迎されてしまい……
あなたのプログラミングスキルを駆使しながら、世界に平和を取り戻しましょう!
- ■戦略をプログラミングして勝利を目指す美麗グラフィックゲーム
- ■コードを書いて美少女を集めよう!プログラミングが学べる本格無料ゲーム
- ■CPUより早くコード内のバグを発見して修正しよう!
- ■効率いいエレベーターのアルゴリズムを考えよう!
- ■豊富な問題と対応言語で自分の腕試しに最適!
- ■いろんな言語で「Hello World」
- ■誰かが考えたクイズに答える・自分で考えたクイズを投稿する
- ■ゲームを通してVimの操作コマンドが覚えられる!
- ■まとめ
■戦略をプログラミングして勝利を目指す美麗グラフィックゲーム
◆Empire of Code
無料
対応言語:Python、JavaScript
Empire of Codeは、「自分の部隊をどう動かして敵地を攻めるか」をプログラミングしながら進めていく戦略ゲームです。
武器や兵隊等を選択すると、エディタが表示されますので、右側に出るドキュメントを読みながら動きをカスタマイズしていきましょう。
ビジュアルも本格的で美しく、「どうしたら勝てるか?」の戦略を考えていくのが楽しいゲームです。
レベル的にはまったくの初心者には少し難しいかもしれませんが、「基礎的な学習は一通りできたから、次はどうしようかな」「プログラミングで遊びたいな」という方にはぴったりかと思います。
■コードを書いて美少女を集めよう!プログラミングが学べる本格無料ゲーム
◆コードガールこれくしょん
無料
対応言語:PHP、Ruby、Python、Java
paizaが公開している「コードガールこれくしょん」略して「ガルこれ」は、美少女ナビゲーターと一緒にプログラミング問題を解いて「コードガール」を集めながらストーリーを進めていく、これまでにないプログラミング学習ゲームコンテンツです!
ゲーム内ではクエスト報酬やログインボーナス・ミッションクリア等の各種特典として手に入る「コイン」や「ダイヤ」を使って、ガチャでさまざまな「コードガール」を収集することができます。クエストで有利になる特殊スキルを発動させたり、「これくしょん」に入れてマイページに飾ったりと、コードガールをたくさん集めるほど楽しみ方が広がります!!
言語は5/31よりPHP、Rubyに加えてPython、Javaにも対応しました!さらに新たなコードガールを集められる「ドリームアドベンチャー」シリーズが公開となっております!
また、最初のチュートリアル時に選択できなかったコードガール2人もpaizaのスキルチェック問題受験で獲得できるようになりました!
既に遊んだことがある方も初めての方も、ぜひチャレンジしてみてくださいね!
■CPUより早くコード内のバグを発見して修正しよう!
◆CodeFights
無料
対応言語:JavaScript、Python、C++、Java
CodeFightsは、出されたコードからバグが発生している部分を素早く発見し、正しく修正するスピードを競うゲームです。
こんな感じでバグを含んだコードが出題されますので、対戦相手であるCPU(レベルごとにいろいろな対戦キャラクターがいます)より早く正しく訂正しましょう!
出された問題の答えをコーディングするのではなく、バグを見つけて修正するスピードをCPUと競うというのがユニークで楽しいです!
■効率いいエレベーターのアルゴリズムを考えよう!
◆Elevator Saga
無料
対応言語:JavaScript
Elevator Sagaは、エレベーターのアルゴリズムをJavaScriptで書くゲームです。
何秒間のうちに何人を運ぶなどといった条件がステージごとに決まっているので、クリアを目指してコードを追記・修正したりしながら、エレベーターの動きを制御します。
エンジニアの方なら、エレベーターがなかなか来なくて「どんなアルゴリズムで動かしとるんや……」と思った経験があると思いますので(ない?)、効率のよい動きをさせるためにぜひチャレンジしてみてください!シンプルですが意外にハマります。あと、エレベーターが来ないときもやさしい気持ちになれる(気がする)。
■豊富な問題と対応言語で自分の腕試しに最適!
◆Codewars
無料
対応言語:CoffeeScript、JavaScript、Python、Ruby、Java、Clojure、Haskell、C#
Codewarsは、クイズ形式で豊富なプログラミング問題を解くことができます。レベル付けやユーザーランキングもあったりするので、自分の実力をはかることもできますよ。
問題に正解すると、他人の回答コードを見ることができるので勉強になります。とにかくたくさんプログラミング問題が解きたいという人におすすめです。
また、対応言語もすごく多いです!上記以外にもF#、Objective-C、PHP、C、C++に対応予定のようです。
◆CodeEval
無料
対応言語:Java、C、C++、JavaScript、PHP、Ruby、Perl、Clojureなど
CodeEvalはプログラミング問題を解いたエンジニアのスキルを見て採用活動を行うためのサンフランシスコ発のサービスです。もちろん学習や自分の腕試しのために問題を解いてみることもできます。
問題は初級や中級といった難易度に分かれており、かなり豊富に用意されています。対応言語も18言語以上と充実しており、問題はオンラインエディタでその場で解くことができます。
「FizzBuzz」レベルの初心者向け問題からありますので、「まだ初心者だけどいろいろ問題解いてみたいなー」という人にもおすすめです。
■いろんな言語で「Hello World」
◆Hello World Quiz
無料
Hello World Quizはその名の通り、「Hello World」を出力するコードを見て、どの言語で書かれたコードかを当てるクイズに挑戦できるサイトです。回答は三択形式で、5回間違えるとゲームオーバーです。
「Hello Worldの書き方ぐらいどの言語でもわかりそう」って思うじゃないですか……これがやってみると意外と難しいんですよ。めちゃくちゃレアな言語の書き方とかも出てきますし、CかC#かC++かというのも一見では判断がつきにくかったり……。
■誰かが考えたクイズに答える・自分で考えたクイズを投稿する
■ゲームを通してVimの操作コマンドが覚えられる!
◆VIM Adventures
無料
厳密にはプログラミングを学ぶというわけではありませんが……すごくニッチな層に向けたゲーム、VIM Adventuresです。その名の通り、操作は全てVimコマンドでします。移動はもちろんhjklです。
途中で出会うキャラクターにヒントを聞いたり、パズルを解いたりしながら進めていきます。Vimに興味がある初心者の人、Vimの操作を覚えたいけど挫折しそうという人はVIM Adventuresから挑戦してみるのがおすすめです。
■まとめ
初心者がプログラミングを学ぶに当たり、環境構築も書き方の勉強も独学で一から始めるとなるとかなり大変ですよね。上記のようなゲーム感覚でプログラミングを学べるサービスで「気軽に遊んでみる」のは、プログラミングに楽しく触れるよいきっかけになるかと思います。
対応言語やゲーム・クイズの内容など、興味のわいたものはぜひプレイしてみてください!
さらに、勉強してある程度の基礎が身につきましたら、ぜひpaizaでご自分のスキルをはかってみてください!
paizaは、技術を追い続けることが仕事につながり、スキルのある人がきちんと評価される場を作ることで、日本のITエンジニアの地位向上を目指したいと考えています。
自分のスキルを磨いていきたいと考えている方におすすめなのが「paizaラーニング」。オンラインでプログラミングしながらスキルアップできる入門学習コンテンツです。初心者でも楽しくプログラミングの基本を学ぶことができます。
そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。