create every day - 福野泰介の一日一創

「きょうりゅうゲームをつくろう」はじめてのゲームプログラミング! オープンデータデイ福井ワークショップ資料

2016/03/06 23:55:00
#KidsIT #IchigoJam #IODD2016 

オープンデータデイ福井の一部で開催したはじめてのゲームプログラミングワークショップ「きょうりゅうゲームでつくろう」の教材です。 小学生2年生から5年生、はじめてプログラミングする大人を想定し、大人で30分、キーボード初めての子供で1時間半くらいの内容です。(配布資料

「きょうりゅうゲームをつくろう」 CC BY http://fukuno.jig.jp/

はじめてのゲームプログラミング
きみの1億倍、計算が速いコンピューター、こどもパソコンIchigoJam、スイッチオン!

LED1

LED1(エル、イー、ディー、いち)とキーボードで打ち込んで、最後にエンターキー
IchigoJamのLEDがつきました?

LED0

LED0でエンターで、消えますね。コンピューターはきみに変わってスイッチを入れたり切ったりしてくれます。

10 LED 1:WAIT 30 20 LED 0:WAIT 30 30 GOTO 10 RUN

1行打ち込んだらエンター押すのを忘れずに!RUN(ラン)エンターで、LEDがチカチカします!
止めるときにはキーボードの左上「ESC」エスケープキーを押しましょう。
10行でLEDを点けて、WAITで30数えるまで待つ、20行でLEDを消して、WAITで30数えるまで待つ、30行のGOTO(ゴートゥー)10で、10行への再び戻るので、ずっとチカチカします。

10 LED 1:WAIT 3 20 LED 0:WAIT 3 30 GOTO 10 RUN

キーボード右下の矢印のところ、カーソルキーを使って、WAIT 30(ウェイト30)の後ろまで四角のカーソルをもっていって、Backspace(バックスペース)キーを押して、エンター。次の行も同じように、30を3に変えてエンター。 そのままカーソルをRUNのところまでもっていって、エンターキー。チカチカが速くなりました!

はじめてのゲームプログラミング、完成です!!ぱちぱちぱち!
どこがゲームなんだって?
「ESC」キーを押した時に光っていたらきみの勝ち!消えていたら負けです。
お友達同士で対戦してみよう!

キーボードの上側にある[F5](エフ5)キーを押せば、RUNエンターと書かなくても簡単に実行できます!
プログラムを簡単にもう一度見るときは[F4](エフ4)キーのLIST(リスト)コマンドを使いましょう。

【チャレンジ】
WAITの値を他の数に変えて、簡単にしてみよう。
片方のWAITの値を変えて、めちゃくちゃ難しいゲームにしてみよう。

きょうりゅうゲームをつくろう

このゲーム見たことありますか?ネットにつながっていないパソコンで「Chrome」を使うとでてくる、スペースキーでスタート、ジャンプ、サボテンを避ける恐竜ゲームです。

まずは前につくった後片付けをしましょう。

CLS

CLS(シー、エル、エス)エンター、画面がキレイになりました![F1]キーを押してもOKです!

NEW

NEW(エヌ、イー、ダブリュー)でニューと読みます。LIST(リスト)コマンド(F4)を押してもプログラムが出てこなくなります。
では、早速、まずはサボテンを表示します。

LC 30,10:?"*"

画面の右側に何かでましたね!
?は[SHIFT](シフト)キーを押しながら右下の[/]キー、"は[SHIFT](シフト)キーを押しながら左上の[2]キー。

LC 20,10:?"*"

カーソルで30を20に変えてエンター押してみましょう。
もういっこ増えましたね?

LC 20,5:?"*"

2番目の数を変えてみると??
そう、この数は画面上の場所を表しています。

10 LET X,31 20 LC X,15:?"*" 30 LET X,X-1 40 WAIT 10 50 GOTO 20 RUN

LET(レット)は、数が入る箱のようなものに数を入れるコマンドです。
Xという名前がついた箱、最初は31から始まり、30行を通るたびに1ずつ減っていきます。
でも、これでは動いているというより、伸びちゃってますね。

45 CLS RUN

画面をクリアするCLSコマンドを追加することで、サボテンが動くようになりました。

では、次に恐竜を登場させましょう!

FOR I=1 TO 8:?I;" POKE 224*8+";I-1;",`00000000":NEXT

まちがえずに入力できたら、次のようなプログラムが表示されます。

1 POKE 224*8+0,`00000000 2 POKE 224*8+1,`00000000 3 POKE 224*8+2,`00000000 4 POKE 224*8+3,`00000000 5 POKE 224*8+4,`00000000 6 POKE 224*8+5,`00000000 7 POKE 224*8+6,`00000000 8 POKE 224*8+7,`00000000

INSキーを押すと、カーソルの形が変わり、挿入モードから上書きモードに変更できます。

1 POKE 224*8+0,`00000110 2 POKE 224*8+1,`00001011 3 POKE 224*8+2,`00001111 4 POKE 224*8+3,`00001100 5 POKE 224*8+4,`00001111 6 POKE 224*8+5,`10011100 7 POKE 224*8+6,`01111100 8 POKE 224*8+7,`00010010

このように0と1で恐竜を描きます。書き換えおわったら、全部の行でエンターを押すのを忘れずに!

?CHR$(224)

矢印がでますね。

9 END RUN

どうでしょう?恐竜になりましたか?


9 25 LC 0,15:?CHR$(224) RUN

9だけ書いてエンターで、さっき書いた9行目のプログラムが消えます。
代わりに、0,15の場所に恐竜が登場して、ゲームっぽくなりました!
IchigoJamのLEDの上についているボタンを使ってジャンプできるように改造しましょう。

LIST 25 25 LC 0,15-M:?CHR$(224)

25行に"-M"を加えて、22行を次のように追加します。

22 LET M,BTN()

カッコは、SHIFTキー押しながら8と9のカッコです。
LISTコマンド[F4]でプログラムを見ると、番号が小さい順に並んでいますね。
[F5]で動かしてみましょう!

ただ、このままではゲームになっていません。
あたり判定をつけて、恐竜が飛んでいなければゲームオーバーにします。

26 IF X=0 IF M=0 GOTO 60 60 ?"GAME OVER"

実行するときは[F5]ですね。もう慣れてきましたか?
うまくジャンプしたり、飛ばないであたってゲームオーバーになってみたりしてみましょう。

一度避けたらおしまいじゃさみしいですね。

27 IF X=0 LET X,31

これで何度もサボテンが登場するようになります。

簡単すぎ?

LIST 40 40 WAIT 3

40行のWAIT(ウェイト)の数を3にしてみましょう。もっと小さくすると!?

楽しい恐竜ゲームができました!
せっかくなので保存しておきましょう。IchigoJamは本体に4つまで保存できます。

SAVE 0

一度電源を切って、IchigoJamを起動し、[F5]キー
・・・何も起きませんね?

LOD 0

SAVE(セーブ)で保存、LOAD(ロード)で読み出しです。[F5]キーで恐竜ゲームが遊べます。
0番に保存したプログラムは、本体のボタンを押しながら電源をいれると即遊べます!
ステキなゲームができたら、友達に自慢しちゃいましょう!


自分でつくったゲームの楽しさは格別!

【お家でチャレンジ】
ゲームオーバーにならない必勝法を探してみましょう!
必勝法ができないように対策しましょう!
サボテンを避けた回数を点数にしてみましょう

1 POKE 224*8+0,`00000110 2 POKE 224*8+1,`00001011 3 POKE 224*8+2,`00001111 4 POKE 224*8+3,`00001100 5 POKE 224*8+4,`00001111 6 POKE 224*8+5,`10011100 7 POKE 224*8+6,`01111100 8 POKE 224*8+7,`00010010 9 IF BTN() CONT 10 LET X,31 11 LET Y,0 12 LET S,0 15 LC 0,15:?"%" 20 LC X,15-Y:?"*" 22 LET M,BTN() 25 LC 0,15-M:?"%" 26 IF X=0 IF M=Y GOTO 60 27 IF X=0 LET X,31:LET Y,RND(2):LET S,S+1 30 LET X,X-1 40 WAIT 3 45 CLS 47 LC 5,8:?"SCORE:";S 50 GOTO 20 60 ?"GAME OVER"

【お家でチャレンジ2】
ゲームオーバーで音を鳴らしてみよう

70 PLAY"GEC"

敵キャラを変えよう(左ALTキーを押しながら0〜9/A〜Vでいろんなキャラ)
敵キャラをデザインしよう(224は恐竜、225〜255までも書き換えできるよ)


手伝ってくれたMASAHARUも一緒に記念撮影!楽しんでくれて何より!


ガチャピン&ムックも応援してくれています!自分だけのゲームをどんどんつくっちゃいましょう!
いいゲームができたら、PCNこどもプロコンへ応募!(夏冬、年2回開催中)

参考リンク
- プログラミングワークショップ IchigoJam「 コンピュータを作って、動かす、操る! Let's go!! 」 - フジテレビキッズ
- お台場夢大陸〜ドリームメガナツマツリ〜 IchigoJamワークショップ | PCN プログラミング クラブ ネットワーク

近日、東京でのワークショップも開催発表予定です!お楽しみに!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image