カメ太の日記 / 2011-08-13

前の日 / 次の日 / 最新 / 2011-08

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2011-08-13 Sat

1時間で学ぶソフトウェアの仕組みの簡易版 [dolittle]

子供向けの場合など、「1時間で学ぶソフトウェアの仕組み(ドリトル本
5章の宝拾いゲーム)
」でもキー入力が多いときのために、プログラムを
どこまで簡単にできるかを考えてみました。

これは元の宝拾いゲーム。

カメ太=タートル!作る。
右ボタン=ボタン!”右” 作る。
右ボタン:動作=「カメ太!90 右回り」。
左ボタン=ボタン!”左” 作る。
左ボタン:動作=「カメ太!90 左回り」。
時計=タイマー!作る。
時計!「カメ太!3 歩く」実行。
宝物1=タートル!作る ペンなし”tulip.png” 変身する100 100 位置。
宝物2=タートル!作る ペンなし”tulip.png” 変身する50 -100 位置。
宝物3=タートル!作る ペンなし”tulip.png” 変身する-100 200 位置。
カメ太:衝突=「|相手|相手!消える」。



工夫次第でいくらでも簡単にできますが、残しておきたいのは、「かめの
オブジェクトを作る」「ボタンに表示する文字と押したときの動作を指定
する」「繰り返し実行する動作を指定する」「花のオブジェクトをつくる」
くらいでしょうか。そうなると最低限はこれくらいの記述になりそうです。

短くなったので、秋の大学祭の小学生向けのイベントでも使ってみます。
高校生は「花!作る」を「花!200 100 作る」のように座標を指定させる
とよいと思います。座標を省略するとランダムに置かれます。

これは簡単になったプログラム。

かめた=かめ!作る。
操作ボタン!"左" 「かめた!30 左回り」作る。
操作ボタン!"右" 「かめた!30 右回り」作る。
「かめた!10 歩く」!くりかえし実行。
花!作る。
花!作る。
花!作る。



簡単にしたプログラムはそのまま動くわけではなく、裏で仕掛けが必要です。
次の内容を「treasure_sample.ini」といったファイルに書いておき、
初期化ファイル(startup.ini)に「システム!"treasure_sample" 使う。」
を書いて、読み込んで使うのがよいと思います。

これは「treasure_sample.ini」の中身。

かめ=タートル!作る 消える。
かめ:衝突=「|相手| 相手!消える」。
ブロック:くりかえし実行=「自分:時計=タイマー!作る。時計!(自分)実行」。
操作ボタン=ボタン!作る 消える。
操作ボタン:作る=「|文字 処理|
「文字=="左"」!なら「キー="LEFT"」そうでなければ「キー="RIGHT"」実行。
b=ボタン!(文字)(キー)作る。b:動作=処理」。
花=0。
花:作る=「|x y| t=タートル!作る "tulip.png" 変身する ペンなし。
「全部!(x!=undef)(y!=undef)本当」!なら「t!(x)(y)位置」そうでなければ
「t!(random(600)-300) (random(300)-150) 位置」実行。t!現れる」。


自分自身を拡張できる言語は便利ですね。

2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2012-08-19 23:58

RSS