初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

文系でもわかるBASIC入門

20.落下ゲームを作ってみよう 完結編

 

[ 落下ゲームを作ってみよう その3 ] の続きです。

前回は、プレイヤーと壁との当たり判定を付けました。
次は、ゲームとしての体裁を整えたいと思います。
「落下ゲームを作ってみよう」は今回で終了します。

 

 

ゲームオーバーを表示しよう

アクションゲームは残機設定があって、3回くらいは挑戦できるというのが
よくあるパターンです。
その仕様では複雑になるので、一発でゲームオーバーとします。

メッセージを表示するように変更します。

ゲームオーバーの表示

行番号320 壁に当たったら、ラベル名*GAMEOVERにジャンプします。
行番号610 以降がメッセージの表示です。

実行してみましょう。

壁に当たるとゲームオーバー

とても簡単な仕組みですが、ゲームオーバーを表示するだけで
ゲームらしさがアップします。

 

 

やられ演出を付けよう

プレイヤーと壁が当たったとき、よく見ると壁にめり込んでいるので
当たっていることが確認できます。
これだけでは当たった実感が薄いので演出を付けたいと思います。

ここでグラフィック機能を使います。
グラフィック機能について忘れている人は
[ グラフィック機能を使ってみよう ] を参照しましょう。

やられ演出を追加する

 

実行してみましょう。

やられ演出を追加する

赤い円が広がって、そして、しぼむ演出が付きました。

円の広がりは、行番号440 から 470 まで。
円のしぼみは、行番号480 から 520 までです。
広がり演出は、円をだんだんと大きくして描いているだけです。
しぼみ演出は、円をだんだんと小さく描くのですが、その前に
前回描いた円を黒色で消しています。(行番号490)

なお、演出の早さが気になるときは FOR K のループ回数を調整しましょう。

 

 

テキストの色を指定する方法

これまでテキストを表示するとき、色の指定をしませんでした。
デフォルトでは、背景が黒色、テキストが白で表示されます。

テキストに色を指定するサンプルを見てみましょう。
(落下ゲームとは関係ありません)

テキストの色を指定する

COLOR 色の番号

COLOR命令で色を指定すると、そのあとに表示するテキストに色が付きます。 実行してみます。

テキストの色を指定する

2行目が空白ですね。
何も表示されていないのではなく、黒色で「こんにちは」が表示されています

 

 

テキストに色を付けよう

ゲームオーバーに色を付けてみましょう。
次の画面のように、色を付けてください。

テキストの色を指定する

どうでしょう、出来ましたか?

 

プログラムは次のようになります。

ゲームオーバーの表示に色を付ける

行番号620 で2(赤)を指定し、行番号680 で7(白)を指定しています。
プログラムが終了するとき、白を指定しないとその後が大変です。

 

 

プレイヤーに色を付けよう

次のように、プレイヤーに色を付けてみましょう。できるかな?

プレイヤーを緑にする

壁も同じ色になった・・・
という人もいると思います。ゲームオーバーを思い出して対応しましょう。

 

では、解答例です。

ゲームオーバーの表示に色を付ける

COLOR 4 はプレイヤーの色になります。
そして COLOR 7は壁の色です。

 

 

壁に色を付けよう

次はちょっと難しいですよ。色は好きな色を指定してください。

壁に2つの色を付ける

よく見ると、5行ごとに色が変わってますね。
これを手がかりにするといいかもしれません。

 

では、解答例です。

壁に2つの色を付ける

行番号180 で壁の色指定を削除しました。

CT MOD 10の計算結果は 0 から 9 になります。
行番号210 で 5 より小さければ水色、それ以外は黄色に指定してます。

行番号220 ではCT MOD 5の計算結果が 5 以外のとき*WALLへジャンプしています。

この解答例は、変更する箇所を少なくなるようにしています。
そのため、プログラムが少し難しくなってしまいました。
実行結果が同じであればOKなので、この方法に拘る必要はありません。

 

このゲームの制作はここまでとします。
プログラムを改造してみたり、部分的に抜き出して実行してみると
より理解が深まると思います。