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

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

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

Small Basic 入門

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

 

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

 

 

タイトルを表示しよう

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

タイトルを表示する

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

 

タイトルを表示する

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

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

 

実行してみましょう。

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

 

 

スコアを表示しよう

隕石を避けるだけのゲームなので、自動でスコアを足していきます。
簡単に作るため、タイトルにスコアを表示します。

変数スコアを追加する

変数 score を追加します。
サブルーチン start で初期化 score=0 すれば、リトライしたときもスコアが0になります。

 

スコアを加算する

ゲーム中、自動でスコアを足すため gameloop の中に入れます。(124行目)
125行目、タイトルにスコアを表示します。

 

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

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

 

 

ゲームを面白くするには

ゲーム制作のテーマとして「どう面白くするのか」はとても重要です。
これを忘れると作業感の強いゲームになったりします。

この課題でも考えてみましょう。
簡単な方法として、徐々にむずかしくしていく方法があります。
隕石を少しずつ大きくすることで難易度を上げていきます。

ゲームを面白くする方法

隕石の大きさを変えるための処理はすでに作ってありました。(変更前の 89行目以降)
その処理を抜き出し、サブルーチン scaleSet にします。
理由はゲーム中にも隕石を拡大させるためです。
なお、スコアに合わせて大きさが変わるように一部変更しました。(97行目)

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

 

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

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

 

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

スコアが増えると隕石が大きくなる