プログラミング講座(152) ゲーム プログラミング チュートリアル
プログラムデータベースの作成途中ですが、続きは別の機会にゆずり、今回からゲーム プログラミングの自主学習向けに、ゲーム プログラムのあれこれについて例題を設けながら説明していきたいと思います。
Small Basic は初心者向けのプログラミング言語です。入門用のチュートリアル(自学用の指導書)はここにあります。一通りプログラムが書けるようになったら、簡単なゲームを作ってみたくなるのではないかと思います。ところが、ゲームを作るためのチュートリアルがありません。そこで、少しずつ作っていこうと思います。Small Basic で作れる簡単なものを取り上げていく予定です。
まずはテキストベースのゲームということでじゃんけんゲームから始めます。ここではじゃんけんゲームを通してテキストベースの簡単なゲームの作り方を学びます。
メインループを作る
以下のリストはじゃんけんゲームのメインループです。ループ以外をサブルーチンにすることでメイン部全体が見やすくなっています。
' Rock Paper Scissors
Init()
While "True"
CPU()
You()
Judge()
EndWhile
ループの外に出せるものを出す
ループの中では繰り返しじゃんけんを行いますが、毎回のじゃんけん毎に設定しなくてもプログラムの最初に設定しておけばよいものを初期化処理 Init としてまとめました。ぐー(Rock)、ちょき(Scissors)、ぱー(Paper)などのテキストを入力するのではなく数字の1から3を入力すればいいように、変換用の配列を用意しました。また、勝敗の判定は If-Then-ElseIf-Else-EndIf を組み合わせるのではなく、配列を使って簡単にできるようにしました。
Sub Init
hand = "1=Rock;2=Paper;3=Scissors;"
judge["Rock"] = "Rock=Draw;Paper=Win;Scissors=Lose;"
judge["Paper"] = "Rock=Lose;Paper=Draw;Scissors=Win;"
judge["Scissors"] = "Rock=Win;Paper=Lose;Scissors=Draw;"
EndSub
乱数を使う
ゲームで特にCPU側の処理のことをゲームAI(Artificial Intelligence - 人工知能)と呼びます。AIの処理の中で動きをランダムにするために、乱数はよく使われます。Small Basic では Math.GetRandomNumber() 操作を使います。引数には自然数 n を指定します。1 から n までのうち、いずれかの自然数が返されます。じゃんけんなので 1 から 3 の乱数を発生させます。
Sub CPU
n = Math.GetRandomNumber(3)
cpu = hand[n]
EndSub
(つづく)
| 固定リンク
「Small Basic」カテゴリの記事
- プログラミング講座 (202) 1次元セルオートマトン(2020.09.20)
- プログラミング講座 (201) パラメーター(2020.09.14)
- プログラミング講座 (200) 3次ベジエ曲線(2020.09.14)
- プログラミング講座 (199) スーパー三角関数?(2020.09.02)
- プログラミング講座 (198) スーパー楕円(2020.09.01)
コメント