プログラマーになりたい子も必見!「CheckiO」を使ったゲーム感覚プログラミング学習法が話題!
公開日:
:
最終更新日:2015/07/28
プログラミング系サービス, WEBサービス CheckiO
プログラマーになるにはどうすればいい?
ゲームが好きな子であれば、
一度はあこがれる職業の「プログラマー」
最近はPCも安くなり、一家に一台がほぼ当たり前になりつつありますから、
学ぶ気さえあればなんとか独学でも勉強できるプログラミング環境が作れます。
ですが、それでも入口は分かりにくく、
敷居が高いように感じるのがプログラミングの世界。
かくいう私も大学に入るまではプログラミングについては
全くの素人状態からスタートし、特に一年目は苦労した記憶があります。
さて、そんなプログラミングをゲーム感覚でスキルを高めながら学習でき、
開発者同士でコミュニケーションのとれる新感覚サイトが「CheckiO」が
海外を中心に口コミ・話題になっています!
CheckiOとは
CheckiO公式:http://www.checkio.org/
一言で言えば「開発者のためのゲーム」です。
*The game for developers.
どういった点がゲームなのかと言うと、
MMO系オンラインゲームを想像して貰えると説明しやすい。
MMOっていうジャンルは特に終わりはないですが、
特定のクエストなどをこなしながらレベルあげをして、
ゲームを進行していきます。
それをCheckiO風に表現すると…
特定のプログラミング課題をこなしながら自分のスキルを磨き、
ステージが解放されることでチャレンジできる課題が増えていくイメージ。
なんとも面白い作りになっていますね。
CheckiO対応プログラミング言語-Python
数あるプログラミング言語ですが、
現在対応しているものはPythonと呼ばれるものです。
日本でも需要がすごく高まっている言語の一つで、
現役プログラマーの方であれば名前くらいは知っていますよね (:3_)=
Pythonというのは汎用の高級プログラミング言語の一つで、
複数のプログラミングパラダイムをサポートしているため、
他のプログラミング言語が使える人であれば少し勉強すれば対応可能でしょう。
詳しいPythonの解説についてはwikiをご覧ください。(wikipedia:Python)
CheckiOの開始方法
CheckiOが話題を呼んだその理由の一つが開始方法!
なんと…「ID登録に簡単なプログラムを作成する必要がある」のだ!
こういったシステムは他のソーシャルサービスでもたまに見る。
例えば、日本で一番人気のブログサービス-アメブロにおいても、
コミュニティー参加条件として問題文を設けることができたりする。
ということで…Python歴1日の私が登録できるかチャレンジ!
まずはCheckiO公式に進み、
“Create account”を選択するのだ!
簡単なPythonプログラムの作成
月ごとにどうやらお題が変わるようだが、
僕が登録を試みた2014年2月のお題はこちら!
問題文を日本語に訳すと…
■”checkio”という名前の関数を作成せよ。
■この関数は、リストの最初の3つの数字の合計値を返す。
#python3.3 is inside def checkio(els): return els if checkio([1, 2, 3, 4, 5, 6]) == 6: print('Done!')
関数checkioを作成。引数として[1,2,3,4,5,6]というリストを入力し、
この場合であれば 1+2+3=合計6 であれば”Done!”をプリントすればOK!
…ということだろう。
難易度的には何かしらのプログラミング言語が使える人であれば、
ちょっと調べればなんとか解けるんじゃね?・・・ってレベルですね。
逆に、プログラミング未経験者だと意味が分からないと思います。
ですが、難易度的にはものすごく高いものではありませんから、
色々調べながら、是非、挑戦してみて欲しいですね。
解き方のヒント
今回の問題のヒントとしては
「Python リスト」というキーワードでググってみるといいでしょう。
elsというのがリストですね。
elsに入っている一番目の数字が els[0] になります。
先頭の三つの数字を足し合わせるということは
els[0]+els[1]+els[2] ということです。
エラー等々…一切考慮していない解答例はこちら。
*画像をクリックすると拡大表示されます。
*考えて考えて…それでも分からなかった人だけ利用してください。
ユーザー登録
さて…問題が解けるとユーザー登録を行うことができます。
早速登録してみよう!ワクワクテカテカ…。
無事登録を済ませると、入力したアドレス宛てに
“Hi! Welcome to CheckiO”というメッセージが届くので確認しましょう。
そして期待のプレイ画面はコチラ!
CheckiOプレイ画面
どうみても…完成度の高いブラウザゲームです。
本当にありがとうございました (:3_)= !!!!!
背景の雲は動いてますね。
ということで、早速HOMEというところに入ってみます。
どうやら、問題などのクエストを解き進めていくことで
経験値が得られ、機能が徐々にアンロックされていく仕組みのようです。
では試しに、一番上の「Non-unique Elements」というものを見てみましょう。
例:Non-unique Elements
実際に開いてみるとこんな感じ。
具体的にどういったプログラミングを行えばよいのか
すごく分かり説明が図で入っているので理解できますよね。
要するに、引数のリストをチェックし、
ユニーク(ただ一つ)の数字を削除するプログラミングですね。
”Solve It”をクリックして、
実際に解いてみようと思います。
するとPythonのエディター画面に移行しました。
上記の画像は、試しに「Run&Check」を押してみた時の様子です。
そりゃ何も解いてない状態ですから、
当然のごとく FAIL!!! という結果になりました。
ということで
Pythonについてちょいと調べてきました。
いやー3年ぶりのプログラミングなのと、
全くPythonを触ったことがなかったのでちょっと疲れました…w
作ったコードはこんな感じ。
def checkio(data): #Your code here #It's main function. Don't remove this function #It's using for auto-testing and must return a result for check. data_ret = [] for num in data: if data.count(num) > 1: data_ret.append(num) #replace this for solution return data_ret
戻り値用の空リスト(data_ret)を作成。
if文にて、引数リストの要素の中で重複する物が存在する場合、
data_retの要素として追加(append)していくプログラムです。
これを実行してみた結果…
じゃーん!TASK SOLVED!
クリアすることができました。
たぶんこれがリザルト画面かな?
また、クリアと同時に経験値が入ったみたいですね。
こんな感じで課題をこなし、続けていくことで色々な機能がアンロック。
ゲーム的な要素を交えながらプログラミングが学べる!
そんな面白いWEBサービスです!
基礎の基礎の部分に関しては自ら少し勉強して開始する必要がありますが、
割と初歩的な課題から用意されていますから、初心者でもOKですね!
日本語へのローカライズにも期待。
是非、プログラミングの学習に役立てて下さい (^3^)/
関連記事
-
【LINEスタンプ作成まとめ】デザイナー個人で製作・販売する方法!
このたびLINEにて個人で自作スタンプの販売が可能になりました。 スタンプ製作の方法及びマ
-
kindle個人出版で素人作家の僕が1年で27,120円稼いだ方法
ちょうど2012年の終わり(10月頃?)くらいに、 Amazonの電子書籍サービス『kin
-
【旅行先でスマホを無くした時の探し方】電池が残っているうちにネカフェからGPS検索!
結婚式関連の用事で 今月も東京にお出かけ。 マグロ入刀なんて 初めて見ましたよ(=
-
【かわいいドット絵!】ゲーム機(本体・ソフト)関連のアイコン素材提供サイトまとめ!
ゲームを実際に作ったり ゲームサイトを運営したり そんなことをやってると…探してしま
-
中学生・高校生がプログラミングの勉強を開始するには!オススメ言語と学習に役立つWEBサービス!
ちょいと前にゲームプログラマー時代の記事を書いたところ ありがたいことに次のようなコメントをいただ
-
ニュースネタ・キーワードの探し方-WEBサービスを利用したネタ探し方法
インターネットの普及なんて言葉は既に過去のものか…。 近年ではWEB技術も向上、結果的に様々なWE
-
ココナラで稼ぐには?WEB屋が利用してみた感想…手数料が高いっす…
「どんなお願いも500円」 ちょっとした挿絵が欲しい 今年の運勢を占い師の方に見
-
【かわいいLINEスタンプ発見】クリエイターズスタンプを作成・販売してるデザイナーさんに10個の質問してみた!
最近話題の自作LINEスタンプ・クリエイターズスタンプがあります。 6月11日の日経新
-
【メール一斉送信】無料と有料のメーリングリストなど4社を比較してみた!
母親が保育士をしており、園にて保護者あてに一斉メールを送りたいとのこと。 「そんなことでき
-
ブログのネタ切れ心配無用!ネタ帳代わりに愛用・GunosyというWEBサービス
最近友達が僕にそそのかされて…笑 新しくブログを始めたまではよかったのですが。 10日ほど経