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

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

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

Small Basic 入門

25.メテオゲームを作ろう その6

 

メテオゲームを作ろう その5 ] の続きです。

 

タイトルを表示しよう

タイトルを表示します。
タイトル用のサブルーチン title() を新たに追加します。

 

タイトルを表示する

 

21行目と28行目、隕石と自機を隠します。
42行目、タイトルの絵を登録します。
隠したり表示座標を指定するのは、もう慣れましたか。

 

タイトルを表示する

 

タイトル表示のサブルーチン title を追加します。(49-71行)
どこに書いても問題ないのですが、画像と同じようにサブルーチン start の上に
入れてください。
タイトル表示の処理はゲームオーバー処理とほぼ同じです。
爆発の演出がない分だけシンプルです。
内容が分からないときにはゲームオーバー処理を読み直しましょう。

83行目、隕石の表示をしています。
サブルーチン init 内で隕石を隠すようにしたので(21行目)ここで表示させます。

 

実行してみましょう。

タイトルを表示したときの画像

 

 

スコアを表示しよう

隕石をよけるだけのゲームなので、自動でスコアが足されていくようにします。
スコアの表示にはタイトルを使います。

 

変数スコアを追加する

 

変数 score を追加します。
サブルーチン start の中で初期化 score=0 としておけば、ゲームをリトライしたときも
スコアが0から計算されるようになります。

 

スコアを加算する

 

ゲーム中、自動でスコアが足されていくようにするため
gameloop の中に入れます。(124行目)
125行目、タイトルを使ってスコア表示を行います。

 

実行してみましょう。
左上のタイトル部分にスコアが表示されます。

タイトルにスコアを表示する

 

 

ゲームを面白くするには

ゲームを面白くする方法はいろいろあります。
ゲーム制作の中でどう面白くするのかというテーマはとても重要です。

今回は一番簡単な方法でいきましょう。
それは徐々にむずかしくしていくという方法です。
隕石を少しずつ大きくすることで難易度を上げていきます。

 

ゲームを面白くする方法

 

隕石の大きさを変えるための処理はすでに作ってありました。
サブルーチン start 内の隕石の初期配置の中です。(変更前のプログラム 89行目以降)

この処理をゲーム中にも利用できるようにサブルーチン化します。
抜き出した処理はサブルーチン scaleSet とします。
なお、スコアに合わせて大きさが変わるように一部変更しました。(97行目)

今回、スコアがカウンタの役割を果たしています。(1フレームに+10ずつ)
これを利用する訳です。
なお、隕石が徐々に大きくなる具合を調整するため 3000 で割っています。
この値を小さくするほど、隕石は早く大きくなります。

 

徐々に隕石を大きくするタイミング

 

隕石の大きさを変えるタイミングですが、再配置のときが良いでしょう。(118行目)
1つ注意です。
110行目の For で使っている変数と 81行目の For の変数は同じにしてください。
課題のプログラムでは変数 i を使っています。
サブルーチン scaleSet ではこの変数 i を利用しています。
ちがう変数を使うと正常に動きません。

 

実行してみましょう。
スコアが増えると隕石も大きくなります。

隕石をよけるゲームの作り方