@ 主な変数
n(8) 3×3の9ますの今の数字(表示用)
nn(8) 3×3の9ますの最初の数字(「再開」用)
s(8、1) コンピュータの手(「解答例」用)
8・・手の回数
1・・0が行(列)
1がたす数字
m(20、1) 人間の手(「1つ前」用)
8・・手の回数
1・・0が行(列)
1がたす数字
k 人間の手の回数
stp ステップの数
t(7、2) 行(列)を決める数字から、3つのますの数字を求 めるための配列
7・・8つの行(列) (8方向)
2・・3つのます
mu 行(列)を決める数字 (8方向−むき)
ta たす数字
A サブルーチンの説明
−−−−−−−Form1−−−−−−−
Fuka ボタンやテキストをクリックしても反応しないようにする。(最初とゲームクリア時)
kanou ボタンをクリックして反応するようにする。
(ゲーム「開始」「再開」時)
kekka クリアできたかの判断と、できたときのメッセージ
回数に1を加え表示する。
siro 3×3の9ますのバックカラーをすべて白にする。
Form_Load プログラム実行のとき、最初に実行されるゲーム画面の作成、初期値設定
m1_Click メニューの「ゲーム」クリック時に実行される。「再開」できるようにするかしないかを決めている。
m1a_Click サブメニュー「開始」クリック時に実行される。3×3の9ますの数字を決めている。
m1b_Click サブメニュー「再開」クリック時に実行される。9ますの最初の数字を入力している。
m1c_Click サブメニュー「終了」クリック時に実行される。
m3_Click メニュー「ヘルプ」クリック時に実行される。「1つ前」「解答例」ができるかできないかを決めている。
m3a_Click サブメニュー「1つ前」クリック時に実行される。1つ前の手に戻し、回数も1つ減らして表示する。
m3b_Click サブメニュー「解答例」クリック時に実行される。解答例を表示し、コメントも表示する。
m3c_Click サブメニュー「説明」クリック時に実行される。2つめのフォームを表示する。
muki_Click 列(行)を決める8つのボタンのどれかがクリックされたとき実行される。ますの色を変更する。
st_Click サブメニュー「ステップ1」から「ステップ8」のどれかがクリックされたとき実行される。チェックの記号の場所を変更する。
tasu_Click 「1」から「9」の足す数のボタンのどれかがクリックされたとき実行される。その数字を決めた行(列)に加算し、10でわったあまりを表示する。回数が20回を超えると「再開」するように表示する。
−−−−−−−Form2−−−−−−−
command1_Click ボタン「戻る」がクリックされたとき実行される。フォーム2(説明)を閉じて、フォーム1(ゲーム)に戻る。
Form_Load フォーム2の最初に実行される。フォーム2の画面作成。
B メニュー
ゲーム m1
開始 m1a
再開 m1b
− s1
終了 m1c
ステップ m2 <インデックス>
ステップ1 st 0
ステップ2 st 1
ステップ3 st 2
ステップ4 st 3
ステップ5 st 4
ステップ6 st 5
ステップ7 st 6
ステップ8 st 7
ヘルプ m3
1つ前 m3a
解答例 m3b
− s2
説明 m3c
C 改造のアドバイス
Visual Basic V4.0(32bit)で作りましたが、
Private Sub *****( )
というところを
=> Sub *****( )
というように、Privateをとれば、Ver2.0でも実行できると思います。(Ver2.0のテキストで勉強したとき、そのコードにPrivateをつけて、Ver4.0で実行できていたので、逆もできると思います。)
もう1つフォームを付け加えて、ステップの最高記録やbest10などを入力したり、表示したりするといいかもしれない。
音楽がさみしいので、それを付け加えるといいです。