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

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

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

Small Basic 入門

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

 

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

 

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

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

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

 

 

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

判断文とジャンプ命令

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

17行目の Goto 命令は、指定したラベルに処理をジャンプさせます。
この場合、17行目まで行われた処理の続きが 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文(デバッグ文)を表示しているので、プログラムが正常に動いていることが
分かります。
乱数が2だったので、3 や 6 を入力したときは again へ処理がジャンプしています

2を入力したときは乱数と同じなので、If 文の中の処理は行われず終了しています。

 

 

プログラムの強制終了

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

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

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

 

なお、誤解せずに注意してもらいたいことがあります。
「プログラムの終了」のボタンで終わらせる方法は非常手段
ということです。

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

 

 

「あたり」を表示しよう

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

初心者向けのゲームの作り方

 

 

「あたり」を表示するだけならば既に知っている WriteLine を使えばいいのです。
これで完成します。
しかし、今回はテキストに色を付けてみようと思います。

 

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

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

このサンプルで注目してもらいたいのが、2行目で黄色に指定したら6行目のミドリを
指定するまでずっと黄色のままという所です。
つまり、色を指定すると変更されるまでずっとその色になるのです。

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

 

 

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

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

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

19行目でテキストをミドリに変更して「あたり」の表示を行っています。

 

 

プログラムを改造しよう

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

プログラミングを覚えるには、プログラムを作るのが一番良いです。
ただ、初心者の内から作るのは大変なので、改造することをおすすめします

 

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

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

がんばって下さい。