前回でせっかく2個のボタンができたので、次はボタンを車のハンドルのようにして、
カメを操縦できるようにしてみましょう。
まず、最初に作った前進する「前進ボタン」を左回転する「左ボタン」に改造
します。プログラムの2,3行目の次の2行を、
前進ボタン=ボタン!”前”作る。
前進ボタン:動作=「カメ太!10 歩く」。
次の2行に置き換えてください。
左ボタン=ボタン!”左”作る。
左ボタン:動作=「カメ太!30 左回り」。
実行すると、画面に「左」と「右」の2個のボタンが表示されます。

【図1 左右ボタンになった】
現在のプログラムは次の5行です。2,3行目が「左ボタン」の定義になりました。
カメ太=タートル!作る。
左ボタン=ボタン!”左”作る。
左ボタン:動作=「カメ太!30 左回り」。
右ボタン=ボタン!”右”作る 120 0 移動する。
右ボタン:動作=「カメ太!30 右回り」。
次に、タイマーでカメ太を動かしましょう。タイマーは他のオブジェクトに命
令を繰り返し送るためのオブジェクトです。ここでは、命令を200回送る「時
計」という名前のタイマーを定義します。
時計=タイマー!作る 200 回数。
タイマーを動かすには、繰り返し行う命令を与えて実行します。ここでは、カ
メ太に「10歩あるいて」という命令を繰り返し送ることにします。命令を実行
する間隔は、標準では0.1秒です。プログラムを実行すると、自動的にカメが
動き出します。カメ太にモーターが付いたみたいですね!
時計!「カメ太!10 歩く」実行。

【図2 自動的に動きだした!】
カメ太の動きは2つのボタンで制御できます。左右のボタンで操縦を楽しんで
みてください。

【図3 ボタンで操縦できる】
だんだん、ゲームらしくなってきました。今度は、画面に宝物を置いて、カメ
がそれを拾えるようにします。カメ太はトンボのバッジを集めるのが趣味のよ
うです。宝物を作って画面に置いてあげましょう。
タートル!作る ”tonbo.gif” 変身する ペンなし (乱数(400)-200) (乱数(300)-150) 位置。
ちょっと長いですね。この1行では、4つのことをやっています。わかりやすい
ように1つずつ分けて書くと、次の(1)〜(4)のようになります。こちらのほう
がわかりやすい人は、長い1行を4行に分けて書いてもかまいません。
(1)タートルを作る。カメが1匹作られます。
宝物=タートル!作る。
(2)カメをトンボの姿にする。タートルの姿は、画像ファイルを指定して変えることができます。
宝物!”tonbo.gif” 変身する。
(3)動いたときに線を残さないようにする。
宝物!ペンなし。
(4)画面のいろいろな場所に置く。ドリトルの画面は、関数のグラフを描くときに使うような、XY座標で場所を指定できます。画面の中心が(0,0)です。乱数を使うと、実行するたびに画面の違う場所に現れるようにできます。ここでは横の位置を-300〜300に、縦の位置を-150〜150にしています。
宝物!(乱数(600)-300) (乱数(300)-150) 位置。

【図4 画面にトンボが現れた。実行するたびに違う場所に表示される。】
この長い行を続けて書けば、宝物を何個でも作れます。行をコピー&ペースト
して、3行にしてみましょう。
タートル!作る ”tonbo.gif” 変身する ペンなし (乱数(400)-200) (乱数(300)-150) 位置。
タートル!作る ”tonbo.gif” 変身する ペンなし (乱数(400)-200) (乱数(300)-150) 位置。
タートル!作る ”tonbo.gif” 変身する ペンなし (乱数(400)-200) (乱数(300)-150) 位置。
最後に、カメが拾うと宝物が画面から消えるようにしてみましょう。そのため
に、「誰かにぶつかったときにどうするか」をカメに教えます。今回は、ぶつ
かった相手に画面から消えてもらうことにしましょう。「宝物さん、画面から
消えて」という雰囲気です。オブジェクトに「衝突」というメソッドを定義し
ておくことで、他のオブジェクトと重なったときに実行することができます。
ここでは、ぶつかった相手を「相手」という名前で扱っています。
カメ太:衝突=「|相手| 相手!消える」。

【図5 宝物拾いゲーム】
これで、宝物拾いゲームが動くようになりました。今回作ったプログラムを
見てみましょう。
カメ太=タートル!作る。
左ボタン=ボタン!”左”作る。
左ボタン:動作=「カメ太!30 左回り」。
右ボタン=ボタン!”右”作る 120 0 移動する。
右ボタン:動作=「カメ太!30 右回り」。
時計=タイマー!作る 200 回数。
時計!「カメ太!10 歩く」実行。
タートル!作る ”tonbo.gif” 変身する ペンなし (乱数(600)-300) (乱数(300)-150) 位置。
タートル!作る ”tonbo.gif” 変身する ペンなし (乱数(600)-300) (乱数(300)-150) 位置。
タートル!作る ”tonbo.gif” 変身する ペンなし (乱数(600)-300) (乱数(300)-150) 位置。
カメ太:衝突=「|相手| 相手!消える」。
初めてのプログラミングはいかがでしたか。自分で作ったプログラムが動いた
ときの感動は格別です。
ドリトルを使うと、今回のように10行程度でゲームを作ることができます。今
回紹介できなかった命令もたくさん用意してありますので、ぜひマニュアルを
見ながらオリジナルのゲームに挑戦してください。今回のプログラムも、少し
手を加えれば、「宝物の数を増やす」「宝物をあちこち動かして拾いにくくす
る」「時間内に拾えた数を得点にする」などの改良が可能だと思います。
プログラミングは、学校の授業でも使われています。次回からは、小学校など
の先生方にプログラミングの使われ方を聞いてみたいと思います。
【PCオンライン編集部からのお願い】
ドリトルは個々のユーザー自身の責任においてご利用ください。
コラムで紹介するドリトルのプログラム動作については編集部でも確認していま
すが、すべてのユーザーのパソコン環境で同じように動作することを保証するもの
ではありません。申し訳ありませんが、紹介する内容について、個別のご質問には
お答えしかねますのでご了承ください。
より詳しい情報は http://dolittle.eplang.jp/ をご参照ください。
よろしくお願いいたします。
【兼宗 進(かねむね すすむ)】
1963年東京生まれ。87年千葉大学工学部電子工学科卒業、89年筑波大学大学院理工学研究科修士課程修了、工学修士。15年間の企業勤務ののち、2004年筑波大学大学院ビジネス科学研究科博士課程修了、博士(システムズ・マネジメント) 。2004年より一橋大学総合情報処理センター助教授。主な研究対象分野はコンピューター教育。自ら教育用プログラミング言語「ドリトル」の開発も手がける。詳しくは兼宗研究室のサイトを参照のこと。
遊びにも仕事にも
楽しく快適に使いこなす!
誰も教えてくれなかった
スマートフォンの使い方が満載!
撮影から加工まで写真活用の
すべてまるわかり!
アンドロイド「使いにくい」を
徹底解消!
パソコンを仕事と生活に活かす総合情報誌
・お役立ち周辺機器購入ガイド
・最新画像処理ソフト驚きの実力
・新型CPU搭載の夏モデルが登場ほか
パソコン初心者応援マガジン
・必ず見つかるネット検索
・写真の保存&印刷決定版
・キーボードの便利技43 ほか
パワーユーザーのためのPC総合情報誌
・Ivy Bridge大研究
・本気で作る小型・静音PC
・新世代グラフィックスボードほか
ビジネスマンのパソコン誌
・パソコン&スマホで地図&GPS
・PDF「新」活用術
・ネットでらくらく資産管理 ほか