第10回 ゲームを作ってみよう
色々なことを学んできました。今まで学んだことを使ってゲームを作ってみましょう。
**できるだけ、自分でゲームを考えましょう。***
次にいくつかのゲーム案を示しますので、参考にして下さい。同時に、使えるかもしれない“技”や“進んだ学習”を紹介していきます。
10−1 キャラクターを使わない(InputBoxとMsgBoxだけしか使わない)ゲーム案
(案1)数当て1:
コンピュータは乱数で何か数(1〜10)を作る。プレーヤはInputBoxで適当な数を入力する。コンピュータは、その数が“小さい”とか“大きい”とか返してくる。当たったら、何回で答えに到達したかを教える。g11.vbs
(ヒント1:For…Nextの繰り返しを、途中で抜け出したい場合にはExit Forという命令を使います。)
(ヒント2:繰り返しはFor…Nextでほとんど済んでしまうので、これだけを紹介してきました。色々知りたい人は、参考資料3)
(案2)数当て2:次のように、縦横の条件を満たす、W,X,Y,Z の数を当てる。g12.vbs
(ヒント3:大きな数から、各桁を取り出す(例えば、235から”2”と”3”と”5”)には、10で割って余りを求め、商をまた10で割ることを繰り返す)
(案3)タイピング:
InputBoxに表示される文字列(英文字)どおりの文字列を入力し、入力時間を競う。g13.vbs
(改良案)経過時間測定版g14.vbs
(ヒント4:ランダムに文字を選ぶには、配列の各要素にa~zを一文字づつ入れておき、乱数(1〜26)で1文字を選び出す)
(ヒント5:ランダムな文字列を作るには、変数に1文字を+(連結)していく)
10−2 キャラクターを使う
(案4)手を振って:
4キャラクターを1列に並べて表示する。クリックすると、手を振るキャラクターが一人います。クリックして探しましょう。g21.vbs
(改良版)(手を振るキャラクターがみつかったら、乱数で手を振るキャラクターを変えて、繰り返すg22.vbs)
(案5)かくれんぼ:
大きなマーリンが現れ、そのどこかに他のキャラクターが隠れています。マーリンをクリックして探しますしょう。g23.vbs
(案6)キャラクター飛ばし:
キャラクターを左にドラッグして放すと、右の方に飛んでいく。飛ぶ距離は“あるルール(計算式?)で決める”。g24.vbs
(改良案1:3回トライして最高到達距離を求める)
(改良案2:ゲームごとに飛距離計算式を乱数で変える)
(案7)ドアキャラクター:
ドアが2つある5つの部屋を用意する。ドアはどこかの部屋へつながっている。ドアマンであるキャラクターをクリックすると、次の部屋に移ったことになりる(移る部屋番号はMsgBoxで表示)。g25.vbs
(改良案:ゲームごとに乱数でドアと部屋とのつながりを変える)
(ヒント6:g25.vbsでは、Goという配列を使っている。横が部屋番号、縦がドア番号で、そのドアがどこの部屋につながっているかを示す。
)
(案8)同じ動作をしたのは誰だ:
3キャラクターが適当な(乱数で飛び先を決定)ところに飛んでいき、何か動作(乱数使用)をする。これを2回行い、同じ動作をしたキャラクターの数を当てる。g26.vbs
(改良案:リプレーもできる方がよい)
参考文献とサイト
1)MSAgentの操作
WindowScriptHostハンドブック、毎日コミュニケーションズ
2)VBScript入門
http://sapporo.cool.ne.jp/avg/vbs/
3)VBScript命令解説
http://tryasp.winscom.co.jp/document/vbscript/vbstutor.htm
4)VBSで使える関数一覧
http://www.kanaya440.com/contents/script/index.html