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 を利用しています。
ちがう変数を使うと正常に動きません。
実行してみましょう。
スコアが増えると隕石も大きくなります。