プログラマーになりたい子も必見!「CheckiO」を使ったゲーム感覚プログラミング学習法が話題!

公開日: : 最終更新日:2015/07/28 WEBサービス, プログラミング系サービス

checkio

プログラマーになるにはどうすればいい?

ゲームが好きな子であれば、
一度はあこがれる職業の「プログラマー」

最近はPCも安くなり、一家に一台がほぼ当たり前になりつつありますから、
学ぶ気さえあればなんとか独学でも勉強できるプログラミング環境が作れます。

ですが、それでも入口は分かりにくく、
敷居が高いように感じるのがプログラミングの世界。

かくいう私も大学に入るまではプログラミングについては
全くの素人状態からスタートし、特に一年目は苦労した記憶があります。

さて、そんなプログラミングをゲーム感覚でスキルを高めながら学習でき、
開発者同士でコミュニケーションのとれる新感覚サイトが「CheckiO」が
海外を中心に口コミ・話題になっています!

SPONSORED LINK

CheckiOとは

CheckiO公式:http://www.checkio.org/

一言で言えば「開発者のためのゲーム」です。
*The game for developers.

どういった点がゲームなのかと言うと、
MMO系オンラインゲームを想像して貰えると説明しやすい。

MMOっていうジャンルは特に終わりはないですが、
特定のクエストなどをこなしながらレベルあげをして、
ゲームを進行していきます。

それをCheckiO風に表現すると…
特定のプログラミング課題をこなしながら自分のスキルを磨き、
ステージが解放されることでチャレンジできる課題が増えていくイメージ。

なんとも面白い作りになっていますね。

CheckiO対応プログラミング言語-Python

python

数あるプログラミング言語ですが、
現在対応しているものはPythonと呼ばれるものです。

日本でも需要がすごく高まっている言語の一つで、
現役プログラマーの方であれば名前くらいは知っていますよね (:3_)=

Pythonというのは汎用の高級プログラミング言語の一つで、
複数のプログラミングパラダイムをサポートしているため、
他のプログラミング言語が使える人であれば少し勉強すれば対応可能でしょう。

詳しいPythonの解説についてはwikiをご覧ください。(wikipedia:Python

CheckiOの開始方法

CheckiOが話題を呼んだその理由の一つが開始方法!
なんと…「ID登録に簡単なプログラムを作成する必要がある」のだ!

こういったシステムは他のソーシャルサービスでもたまに見る。
例えば、日本で一番人気のブログサービス-アメブロにおいても、
コミュニティー参加条件として問題文を設けることができたりする。

ということで…Python歴1日の私が登録できるかチャレンジ!

checkio-start

まずはCheckiO公式に進み、
“Create account”を選択するのだ!

簡単なPythonプログラムの作成

月ごとにどうやらお題が変わるようだが、
僕が登録を試みた2014年2月のお題はこちら!

checkio-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] ということです。

エラー等々…一切考慮していない解答例はこちら。
*画像をクリックすると拡大表示されます。
*考えて考えて…それでも分からなかった人だけ利用してください。
pythonanswer

ユーザー登録

checkio04
さて…問題が解けるとユーザー登録を行うことができます。
早速登録してみよう!ワクワクテカテカ…。

checkio05
無事登録を済ませると、入力したアドレス宛てに
“Hi! Welcome to CheckiO”というメッセージが届くので確認しましょう。

そして期待のプレイ画面はコチラ!

CheckiOプレイ画面

checkio06

どうみても…完成度の高いブラウザゲームです。
本当にありがとうございました (:3_)= !!!!!

背景の雲は動いてますね。
ということで、早速HOMEというところに入ってみます。

checkio07

どうやら、問題などのクエストを解き進めていくことで
経験値が得られ、機能が徐々にアンロックされていく仕組みのようです。

では試しに、一番上の「Non-unique Elements」というものを見てみましょう。

例:Non-unique Elements

checkio08

実際に開いてみるとこんな感じ。
具体的にどういったプログラミングを行えばよいのか
すごく分かり説明が図で入っているので理解できますよね。

要するに、引数のリストをチェックし、
ユニーク(ただ一つ)の数字を削除するプログラミングですね。

”Solve It”をクリックして、
実際に解いてみようと思います。

checkio09

すると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)していくプログラムです。

これを実行してみた結果…

checkio10

じゃーん!TASK SOLVED!
クリアすることができました。

checkio11

たぶんこれがリザルト画面かな?

checkio12

また、クリアと同時に経験値が入ったみたいですね。
こんな感じで課題をこなし、続けていくことで色々な機能がアンロック。

ゲーム的な要素を交えながらプログラミングが学べる!

そんな面白いWEBサービスです!

基礎の基礎の部分に関しては自ら少し勉強して開始する必要がありますが、
割と初歩的な課題から用意されていますから、初心者でもOKですね!

日本語へのローカライズにも期待。
是非、プログラミングの学習に役立てて下さい (^3^)/

SPONSORED LINK
  • このエントリーをはてなブックマークに追加
  • Pocket

関連記事

line01

【LINEスタンプ作成まとめ】デザイナー個人で製作・販売する方法!

このたびLINEにて個人で自作スタンプの販売が可能になりました。 スタンプ製作の方法及びマ

記事を読む

dot

【かわいいドット絵!】ゲーム機(本体・ソフト)関連のアイコン素材提供サイトまとめ!

ゲームを実際に作ったり ゲームサイトを運営したり そんなことをやってると…探してしま

記事を読む

baiduime2

【激ヤバ!中国ネット事情】検索エンジンbaiduのSEO考察!中国政府の言論規制が想像以上

※できたら普通の人にも読んでもらいたい記事です 「中国人向けにサイトを作りたい」という

記事を読む

igo (13)

【初心者必見!無料ネット囲碁サイト比較】棋力の目安と使い勝手の良いオススメサービスは?

テレビゲームもいいけれど… たまには囲碁などいかがかな? こんにちは。 碁キチの元

記事を読む

pen

kindle個人出版で素人作家の僕が1年で27,120円稼いだ方法

ちょうど2012年の終わり(10月頃?)くらいに、 Amazonの電子書籍サービス『kin

記事を読む

programming

中学生・高校生がプログラミングの勉強を開始するには!オススメ言語と学習に役立つWEBサービス!

ちょいと前にゲームプログラマー時代の記事を書いたところ ありがたいことに次のようなコメントをいただ

記事を読む

kensaku

【SEOやキーワード調査に超便利「特殊Google検索コマンド8選」】競合調査の上級テクニック!

スマホがかなり普及し、インターネット検索が「あって当たり前」の時代になっています。 私

記事を読む

mailinglist

【メール一斉送信】無料と有料のメーリングリストなど4社を比較してみた!

母親が保育士をしており、園にて保護者あてに一斉メールを送りたいとのこと。 「そんなことでき

記事を読む

kimokawa-nezumi

【イライラでもウザ可愛い!おすすめLINEスタンプ2015】鼠・猫・力士わんこ・獣人「与一」スタンプ

こんにちは。 既読スルー多めの管理人です。 LINEスタンプにて誰でも参加可能なクリ

記事を読む

caff

ブログのネタ切れ心配無用!ネタ帳代わりに愛用・GunosyというWEBサービス

最近友達が僕にそそのかされて…笑 新しくブログを始めたまではよかったのですが。 10日ほど経

記事を読む

GAME RANKING
HOBBY

コメントを残す

PAGE TOP ↑