プログラミングいちねんせい! 〜IchigoJamでロボットを動かそう〜 (7) ゲームを作ってみよう

プログラミングいちねんせい! 〜IchigoJamでロボットを動かそう〜 (7) ゲームを作ってみよう

画像提供:マイナビニュース

こんにちは。プログラミング クラブ ネットワーク : PCNの原です。

PCNでは夏休み・冬休みに合わせて、小中学生向けのPCNこどもプログラミングコンテストを開催しています。2017年も実施することが決定しましたので、自由研究として、あるいは頭のなかにある構想の実現のきっかけにと、ぜひ応募ください。連載のゴールである、Paprikaのようなロボット・工作系も、プログラミングと連携した作品を受け付けています。7月の詳細発表、どうぞお楽しみに。

さて、前回の基礎的なプログラムからステップアップして、楽しいゲームを作ってみましょう。前半はシンプルなゲームを作りますが、後半に改造していくので楽しさは増していきます。遊びながら、プログラムの理解を深めていきましょう(もちろん、Paprikaをプログラミングするときにも、活用しますよ!)

○ゲームを作ろう : ネコを動かす

今日作るゲームのタイトルは「ネコに小判」! ネコが、フィールド上にある小判をGETしていくゲームです。

まずIchigoJamの電源をいれたら、次のプログラムから入力しましょう。一行ずつ、入力したらenter/returnキーを押していきます。二行目は50ですので、お間違えなく(理由は、この先わかります)。

入力したプログラムを動作させたいときには、RUNでしたね。もしくは、F5キーを押しても同じです。ここまでのプログラムで、ネコが画面に出てくれば成功!もし、Syntax Error と表示されたら、表示された行と上記を見比べて、間違いがないかを確認してください。

ネコが表示できたので、次にキーボードの矢印キー(上下左右)を使って、画面内を動き回れるようにします。

ここまで入力できたら、いちど CLS(F1キー)を押して、LIST(F4キー)で、プログラム全体を確認しましょう。最初に入力したものと、いま入力したものがそろって、10から80行目までありますか?

確認できたらRUN(F5キー)です。エラーなく動作したら、キーボードの矢印キー(上下左右)を押して、ネコが好きなところに移動できるか動かしてみましょう。

上手くいきましたね。この段階で、プログラムは、ずーっと動作している無限ループになっています(80 GOTO 20で、終わりまでくると、20行目にジャンプを繰り返す)。動作を確認できたら ESCキー を押して終了させましょう。

○ゲームを作ろう : 小判をばら撒く

では、次に小判を画面のあちこちに、置いてみましょう。二行に見えますが、一行の入力分量が長いだけなので、全部つづけて入力してくださいね。

入力が終わったら RUN(F5キー)です。小判が画面に出てきたら、ネコを操作して、小判のところまで動かしてみてください。ネコが小判に重なって小判が消えたら、上手く動いています!これで、シンプルな小判をGETするゲームができました。

○電源を切っても大丈夫にして、読み込んでみよう

ここまで作ったプログラムですが、このままIchigoJamの電源を切ると、すべて失われてしまいます。せっかく作ったのに、なくなるのは悲しいです。でも大丈夫! IchigoJamには、作ったプログラムを4つ(0番〜3番まで)保存しておく機能があります。

プログラムを入力したら 、SAVE 1 と書いてenter/returnしましょう。「Saved 198 byte OK」と表示されたら、無事に保存ができたメッセージです。(SAVE 1 は、いま作っているプログラムを 1番に保存してという意味)

IchigoJamの電源を切にして、再度、入にしましょう。LIST (F4キー)を押すと…何も出てきませんね。電源を切ったら、IchigoJamは作っていたプログラムの事は忘れてしまうのでした。でも、先程SAVEしたものは読み出しができます。 LOAD 1 と書いて enter/return しましょう。(LOAD 1 は、1番からプログラムを読み込んでという意味)
「Loaded 198 byte OK」 と表示されたら、無事に保存したデータの読み込みができたメッセージです。

○ゲームを改造しよう

うまくゲームが作れましたが、小判が消えるだけじゃ、なにか物足りないですね。
いま作ったゲームの良い点は「自分で作っている」ところ。そう、自由に改造ができるのです。さっそく、やってみましょう。

まずは点数をカウントしましょう。小判を1つGETしたら、1点はいるように改造です。

RUN(F5キー)で開始したら、小判を取ってみてください。点数が左上に表示されましたか?いいですね。小判を集める楽しみが出てきました!

でも、全部とっても、ゲームが終了しません。これでは、スコアを競い合う事が難しいですね。ゲームなら、他の人と競争したいところ。では、時間制限をつけてタイムアタック・ゲームにしましょう。

これでRUN(F5キー)すると、一見さっきと同じに見えます。でも、ゲームは時間をカウントしていて 600 カウント (約10秒。WAIT 60 で 1秒でしたね)経つと終了です。これで10秒以内に何点とれるか、競争できるようになりました。友達と、競ってみましょう。

○ゲームを改造しよう(2) キャラ変更

もっとオリジナル性の高いゲームにする方法を紹介します。

まずはキャラクター変更。ネコじゃいやだって人は、他のキャラクターに変更できますよ。50行の CHR$(236) は ネコ を表示している部分。この数字を変更すると、色んなキャラクターに変更できます。例えば宇宙人にしたいときには 、236 を 237 に変更すればOKです。

224から255までの数字の範囲で、さまざまなキャラがでてくるので、試してみてください。画像のように入力すると、簡単に好きなキャラが発見できます。

こんなふうに自分で作ったプログラムは、どんどん改造して、楽しさを創造していけます。ゲームで「遊ぶだけ」と、ゲームを「作って遊ぶ」のでは、同じくゲームに関わるのでも、楽しさが違いますね。

○電源を切っても大丈夫にして、友達に遊んでもらおう

最後に、忘れずにSAVEしましょう。IchigoJam は 0番〜3番まで 4つ プログラムを保存できます。先ほどと違う場所に保存したい場合は、SAVE2として2番に保存しておくのがいいですね。

SAVE 2 したプログラムは、 LOAD 2を実行すれば読み込みができます。これで電源を切っても大丈夫。友達が遊びにきたときに、スコア争いをしてみてください。ご家族とやっても楽しいですよ。

○挑戦してみよう

スピードがおそすぎて、小判が全部とれない?じゃあ、スピードアップすればいいね。どこを変えるとスピードが変わるかな?WAITってなんという意味の英語だろう?

○まとめ

・プログラミングによって、ゲームは自分で作ることができるし、改造もできる
・新しい行番号を追加したら、IchigoJamが小さいものから大きいものへと、順番どおり並びかえてくれる
・電源を切ったら、作っていたプログラムをIchigoJamは忘れてしまう
・SAVEで、記憶したプログラムを保存できる(保存すると、電源を再度入れた時にも読み込める)
・LOADで、保存しておいたプログラムを読み込める

○挑戦してみよう(前回の答えの例)

・音をならすBEEP命令を使って、ずーっと音を鳴らし続けるプログラムを作ってみましょう

著者紹介
原 秀一(はら ひでかず)
サーバー・ネットワークが得意なWebシステム系のITプロフェッショナル。福井工業高等専門学校 電子情報工学科、福井大学 情報工学科を卒業。学生時代はプログラミングから逃げ腰だったが、クラウド時代になり35歳から本格的にプログラミングを再開。IchigoJam等を用いたプログラミングを広める団体PCN(プログラミング クラブ ネットワーク)を友人と共に主宰し、主にアフリカ担当としても活動中。
(原秀一)