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

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

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

Small Basic 入門

12.穴埋め算数ドリルを作ろう その3

 

[ 穴埋め算数ドリルを作ろう その2 ] の続きです。

 

正解数を表示しよう

すべての問題をクリアした後に正解した数を表示します。
見栄えを考えて、問題のあと1行空けて表示します。

正解した数を表示

 

 

正解をカウントする変数を用意して、正解のたびに加算するだけです。
プログラムの全体を見てみましょう。

正解をカウントするプログラム

5行目、正解をカウントする変数 seikai を初期化しています。
37行目、正解したときのみ変数 seikai に+1しています。
45行目、カーソルを1行下げ、空白行を作ってます。

 

 

リトライの機能を付けよう

何度でもプレイできるようにリトライの機能を付けます。
プログラムの変更点を見てみましょう。

 

リトライの機能を付ける

2行目、again: これはラベルです。リトライの時、この場所に戻ります。

49行目は、2行改行します。
50行目、Pause() を使うと次のように表示されます。

pause() によりプログラムを一時停止させる

Pause() はメッセージを表示して待機状態になります。
何かキーを押すことで処理が進みます。

51行目、Clear() は画面をクリアします。
52行目、Goto again により2行目のラベル again: の行へ処理が戻ります。

 

実行して確認しましょう。
これでリトライ出来るようになりましたね。

 

 

リトライのメッセージを変えてみよう

Pause() の待機状態とプログラムが終了してなる待機状態、どちらも同じメッセージが
表示されます。
Press any key to continue...
というメッセージです。
これでは分かりにくいので日本語のメッセージを表示したいと思います。

 

日本語のメッセージで待機する

このような感じで表示します。

 

 

日本語のメッセージで待機状態

49行目、Program.Delay(ミリ秒) これは処理を指定した時間だけ停止します。
Delay(2000) であれば2秒ほど止まります。

51行目で日本語のメッセージを表示してます。Write() を使うことでメッセージの
最後の所でカーソルが点滅します。
52行目、Read() を使って入力待ちにしています。
Read() によって入力された値は使いません。
このように通常とは違う応用した使い方も覚えていきましょう。

 

 

これで「穴埋め算数ドリル」は完成しました。
プログラムは次のようになります。

穴埋め算数ドリルのプログラム

 

 

プログラムを改造しよう

プログラムが完成したら改造に挑戦してみましょう。
サンプルを打ち込んでいるだけでは、なかなか覚えられません
プログラミングスキルを身に付けるためにも、改造は有効です。

 

改造と言っても何をどうすればいいのか分からない
という人のために、次のような改造をしてみてはどうでしょうか?

・引き算や掛け算を使った穴埋め問題に変更する
・リトライの時、end と入力したらプログラムを終了する
・足し算、引き算、掛け算がランダムに出題されるようにする
・3+4+?=9 のように問題を長くする
・3-?+8=6 のように足し算と引き算の組み合わせの問題にする

などなど挑戦してみて下さい。