A サブルーチンの説明
comp 相手がクリックできないようにして、コンピュ
ータの手を決める。最後にクリックできるようにする。
comp_aite コンピュータが手を決めるときに、相手の勝ちを止める場所があるか探す。
comp_jibun コンピュータの手を決めるときに、自分が勝てる場所があるか探す。
hajime 初期設定(配列クリア)
handan 縦横斜めに勇者が3人並んだかどうかを判断する。
handan2 勝ち、次の番など表示する。
sleep 時間待ち t秒待つ
tenm 勝った勇者の喜びの表現
zurasu 新しい勇者が置かれたので、1番前の勇者を消し、配列をずらす。
com*_Click コンピュータ同士の対戦にならないようにする。
Form_Load ゲーム全体の設定、説明文設定
gamen_MouseMove 右クリックして動かすことで、画面に線を引く
hint_Click ヒント表示
kaisi_Click ゲーム開始時の設定、コンピュータが先手なら勇者を置く。
owari_Click 終了
Pic_Click 勇者を置く。コンピュータ対戦なら、コンピュー
タも勇者を置く。
setumei_Click 説明表示
C プログラムの具体的な入力方法
<これは,自分でプログラムを入力するためのものです。>
Visial Basicを立ち上げてください。
・フォームの設定
図を参考に置いていってください。大きさや位置は後から修正できます。
@ フォームの大きさを横長(6948×5712)にします。BackColorを,濃い茶色にします。
A PictureBoxで大きい正方形(5000×5000)を置きます。Nameを”gamen”にします。
B gamen上に,PictureBoxで勇者を表示する場所を1つ置きます。大きさや場所はどうでもいいです。Nameは”Pic”とし,Indexを0にします(コントロール配列です)。
C Labelを,タイトル表示する場所に置きます。2段にするため,2つ置きます。上段のCaptionは”3Fighter”に,下段のCaptionは” Game”にし,Fontのサイズを20にしました。BackColo rを黄色に,ForeColorを青色にします。
D Frameを先手用と後手用に2つ置きます。Captionを”先手”と”後手”とし,Fontのサイズを14とする。BackColorをそれぞれマゼンダとシアンにします。
E それぞれのFrame内に,3つずつOptionButtonを置きます。上から順にCaptionを”Player1(2)””Com_s””Com_H”とし,Nameを”pl1(2)”com1(2)””com11(22)”とします(カッコ内は後手)。Fontのサイズは11とします。
F CommandButtonを図のように4つ置きます。上のCaptionが”開始”Fontのサイズが14,Nameが”kaisi”,左が”説明”,12,”setumei”,右が”ヒント”,11,”hint”,下が”終了”,14,”owari”とします。
・コードの入力
(General)の(declarations)に,最初のDim st(・・・からPrivate Sub zurasu()の最後End Subまで入力します。Private Sub ・・・とうってリターンキーを押せば,画面がクリアされますが・・。
続いて,com1のClickに,com1_Click()の内容を打ちます。最後まで
いったら,保存をします。
・ビットマップファイルを用意
私は,市販されている,株式会社インプレス「INTERNETフォームページ用素材集CD−ROMforWindows」(定価3800円)から3つ使わせて頂きました。強い勇者用としてcut1.bmp,その左右入れ替えたのをcut2.bmp,普通の勇者用としてcut3.bmpと同cut4.bmp,プレイヤー1用として,cut5.bmp,同cut6.bmp,プレイヤー2用として,プレイヤー1の色違いをcut7.bmp,同cut8.bmpとしました。
どこからか探してきたり,自分で描いたりして,80ドット×80ドットの大きさにして,上記のファイル名で,ファイルやプロジェクトと同じフォルダに入れてください。
D 改造のアドバイス法
BackColorやForeColorや大きさなど,自由に変えることができます。また,コンピュータの強さは,compというサブルーチンの真ん中やや下の0.9と0.5を変えれば変えられます。普通の勇者の場合は0.5を大きくすれば強くなります。最強の勇者の場合は,0.9を大きくすれば強くなります。1にすると最高に強くなります。
何勝何敗などを表示するようにしたり,音が出るようにするといいでしょう。研究してみてください。
E 苦労した点/FONT>
Visual Basicは,いろいろな作業が並行して行われます。例えば,
喜びの表現をしている途中で,開始ボタンが押されて,喜びの表現を止めて,初期設定をしても,喜びの表現の終了前に初期設定が実行され,エラーになったり予期しない処理が行われたりします。これを解決するために,別の配列を作ったり,初期設定の一部を違う場所に移したりしました。これを解決するためにかなりの時間がかかりました。
さらに,CRT?によって表示される大きさが違うので,同じ80*80ドットの絵でも,はみ出たりすることがありました。それを解消するために,Form_Load()にTwipsPerPixelXなどの命令を追加しました。