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

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

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

Small Basic 入門

8.数当てゲームをつくろう その2

 

[ 数当てゲームをつくろう ] の続きです。

 

説明の中で、サンプルプログラムを見てもらうことがあります。
そのサンプルを試したいときは新規ボタンをクリックしてください。
新しいエディタウィンドウが開きます。

新規をクリックする

そこにサンプルプログラムを入力して実行することが出来ます。
ウィンドウを切り替えながら複数のプログラムを同時に編集できます。

 

 

入力された数と同じか判断しよう

次は入力された数と乱数が同じか判断します。

入力された数と乱数が同じか判断する

 

 

ここでは2つの新しい命令を使います。
次のサンプルを見てください。

判断文とジャンプ命令

1行目の again: は命令ではありません。
私が任意で付けたラベル名です。
書き方としては ラベル名:(コロン記号)という形になります。

コロンのキー

17行目の Goto 命令は、指定したラベルに処理をジャンプさせます。
この場合、1行目からまた処理が行われることになります。
結果を見ると、同じ処理が3回行われているのが分かります。
(この後、処理を強制終了しました)

5、9、13行目の If 命令は条件文です。
条件を満たしているとき Then から EndIf までの間の処理を行います。

If (条件)Then
(条件を満たしているときだけ実行される)
EndIf

このように If Then EndIf の3つセットで使います。

 

 

5行目の条件文を見てみましょう。

if命令の使い方

変数 input の中には、キーボードより入力した数が入ってます。
If input < 5 Then
3を入力したとき 3 < 5 となり条件を満たします。
結果として「5より小さいです」のメッセージが表示されます。

この 記号は比較演算子といいます。
他にもあります。

比較演算子 比較内容
右辺より左辺が小さい
右辺より左辺が大きい
<= 右辺より左辺が小さいか、または、等しい
>= 右辺より左辺が大きいか、または、等しい
等しい
<> 等しくない

サンプルプログラムの比較演算子をいろいろ交換して試してみましょう。

 

 

それでは新しく覚えた命令を使って数当てゲームの続きを作ります。
色のある行は前回までのプログラムです。

数当てゲームの作り方

1行目、タイトルの表示です。
7行目、again はラベルです。16行目からここにジャンプします。
14行目、乱数と入力値が違うとき、15、16行目の命令が実行されます。

実行結果を見てください。
debug文(デバッグ文)の表示で、プログラムの動きが分かりますね。
乱数が9だったので、3 や 6 を入力したときは again へ処理がジャンプしています

9を入力したときは乱数と同じなのでジャンプせず終了します。

 

 

プログラムの強制終了

Goto 命令などを使っていると、ずっと処理が行われる場合があります。
そんなとき終了させたいのなら プログラムの終了 を使います。

プログラムの実行中は次のような画面になります。
右下にボタンがあるのでここをクリックして終了させます。

プログラムを強制終了させる方法

 

ここで注意があります。
「プログラムの終了」で終わらせる方法は非常手段ということです。

終了が必要なアプリを作るときには、ユーザーが終了する手段を
プログラム内に用意しましょう。

 

 

「あたり」を表示しよう

最後に「あたり」を表示します。

あたりを表示する

 

「あたり」の表示は既に知っている WriteLine を使います。
なお、ここではテキストに色を付けてみようと思います。
サンプルを見てください。

テキストに色を付ける

2行目で黄色に、6行目でミドリにしています。
ForegroundColor に色の文字列を代入することで指定できます。

 

それからよく見てください。黄色に指定してからミドリを指定するまでずっと黄色のままです。
つまり、色を指定すると変更されるまでずっとその色になります

色の種類は色々あります。
Black Blue Cyan Gray Green Magenta Red White Yellow
DarkBlue DarkCyan DarkGray DarkGreen DarkMagenta DarkRed DarkYellow

 

 

それでは「あたり」表示を追加します。
色のない行が、追加・変更された所です。

テキストに色を付けて表示する

11行目の debug文はコメントにしました。

19行目でテキストをミドリに変更しています。

 

 

プログラムを改造しよう

課題「数当てゲームをつくろう」はこれで終了です。
お疲れ様でした。

プログラミングを覚えるコツは、プログラムを作るのが一番です。
ただ、何を作るのかを考えることが大変なので改造することをおすすめします

 

数当てゲームを次のように変更してはどうでしょうか。

・あたりの後、リトライの機能を付ける
・入力回数をカウントして「あたり」といっしょに表示する
・終了機能を付ける(999を入力するとゲームを終了させるなど)
・「もっと大きいです」「もっと小さいです」などのヒントを表示する

頑張ってください。