ソースコードの「バグ」を修正する速さを競うWebゲーム「CodeFights」で遊んでみた!
どうも、まさとらん(@0310lan)です!
プログラミングで何らかの「エラー」が発生すると、いつも途中で諦めてしまう人に朗報です!
コード内に潜む「バグ(エラー)」を素早く発見し、正しいコードに修正する速さを競い合うWebゲームのご紹介です。
【 CodeFights 】
世界中の猛者とオンライン対戦し、競い合っているうちにプログラミング能力が飛躍的に高まるとして、海外で話題になっています。
どうやって使うの?
サイトにアクセスし、無料のユーザー登録を済ませると、自分専用の「マイページ」が表示されます。
このページから、さまざまなゲームを楽しむことができるようになっています。
早速オンライン対戦をやってみたいのですが、いきなり「対人戦」だと心配…という人のために「練習モード」が用意されています。
このモードは、簡単に言うと「CPU対戦」となっており、自分のレベルを上げることによって多彩なキャラと戦えるようになります。
まずは、初心者用のキャラクター「Ratiorg」を選択しましょう。
すると、メインの対戦画面が表示されます!
「CodeFights」では、出題された問題に対して、自分でコードを書くのではなく、すでにプログラミングされたコードを「読む」ことから始めるのが大きな特徴です。
そして、面白いことに必ず「バグ(エラー)」が潜んでいるのです!
そう! ユーザーは、このバグを素早く発見し、正しく動作するプログラムに修正しなければいけません。
コードを修正したら、「Run」ボタンをクリックして実行結果を確認することも可能です。
ただし、使用回数が決められているので、不用意に実行するとこの先の戦いが苦しくなってしまうので要注意…。
見事に正しいコードに修正できたら、「Correct!」が表示されます!
また、「Show Solution」ボタンをクリックすれば、答え合わせも出来るようになっています。
対戦が終了すると、結果が表示されて「経験値」と「コイン」を得ることができます。
この経験値を一定以上貯めることで、どんどんレベルアップしていくようになっています。
また、対戦をする度に自分の「ライフゲージ」が減少し、ゼロになると対戦できなくなります。
ライフゲージを回復するには、しばらく待つか「コイン」を使って回復する必要があります。
このあたりは、最近のスマホゲームに近い世界観かもしれません。
ある程度ゲームの基本が分かってきたら、今度は世界中の猛者たちに挑戦してみましょう!
対戦相手は、自動的にマッチングされる仕様となっています。
対戦相手よりも早く「コード」を修正すれば、得られる経験値は多くなります。
見知らぬ相手と戦っても良いし、社内のチームで楽しむのもアリでしょう!
まだある、こんな「ゲームモード」!
「CodeFights」では、対戦モード以外にもユニークなゲームが楽しめるようになっています。
例えば、「チャレンジモード」!
これは、世界中のユーザーが独自に作った問題に挑戦できるモードで、期待通りに動くプログラミングをする必要があります。
難しい問題が多いですが、その分たくさんの「コイン」をゲットできるチャンスとなっています。
他にも、「トーナメントモード」が用意されています。
これは、ほぼ毎日開催されており、複数人が参加して勝ち抜き戦によって「優勝」を目指すモードです。
だれでも参加できますが、すぐに枠が埋まってしまうので、挑戦したい人は注意深くチェックしておきましょう。
また、「フォーラム」も気軽にマイページからアクセスできるようになっているので、分からないことがあればすぐに投稿できるのも便利です。
このように、楽しみながらゲームで遊んでいるうちに、プログラミングのスキルがアップするだけでなく、「問題解決能力」も同時に向上するのが大きな魅力となっています。
「No.1」プレイヤーを目指そう!
自分のマイページからは、ユーザーランキングや国別ランキングなどを随時チェックできるようになっています。
歴代のランキングや、週間ランキングなどを閲覧できるようになっており、現在は「インド」がトップを維持しています。
ユーザーは、経験値を稼ぐ度にレベルが上がっていき、多彩な「バッジ」も獲得していきます。
さらに、対戦成績やトーナメンの状況なども、自動的にプロフィール画面に反映されていきます。
これにより、見知らぬユーザー同士でも、プロフィール画面を見ればだいたいどんな人なのかが分かるので便利です。
しばらく利用していると、他のユーザーから対戦を挑まれるケースもあったりするので、プロフィールの確認は意外と重要だったりします…。
おまけ
今回ご紹介した「CodeFights」のように、プログラミング能力を飛躍的に高めることができる他のWebサービスも合わせてご紹介しておきます。
【ソースコードを解析することで、プログラミング学習が可能になるWebサービスまとめ!】
プログラミング通りにしか動かないロボットを操縦して、世界中の人とオンライン対戦するサービスや、ソースコードを修正しながら遊ぶゲームなど、ちょっと変わった面白いサービスをまとめています。
これらのサービスを上手く活用すれば、もう「初心者」は卒業と言っても良いでしょう。
ご興味ある方は、ぜひ参考にしてみてください!
まとめ
ある程度、基本的なプログラミングが出来るようになってきたら、ぜひ今回ご紹介した「CodeFights」を試してみることをオススメします。
他人のソースコードを「読む」というのは、思った以上にスキルアップすることができます。
さらに、「CodeFights」で多彩なバグを修正していくことで、たいていのエラーは問題なく解決できるようになるでしょう。
スキルアップを目指す方は、ぜひ挑戦してみてください!
<参考>
・「CodeFights」公式サイト
wirtten by まさとらん