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行目の条件文を見てみましょう。
変数 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を入力するとゲームを終了させるなど)
・「もっと大きいです」「もっと小さいです」などのヒントを表示する
頑張ってください。