ナインスクエア

プログラムの仕組み
 Visual Basicを2週間ぐらい勉強して、4週間目に作った2つめのプログラムです。このBasicらしい作り方のはなっていないと思いますが、メニューとかボタン・テキストなど、2つのフォーム、メッセージボックスなどいろいろ工夫して作ってみました。

 @ 主な変数
   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などを入力したり、表示したりするといいかもしれない。
 音楽がさみしいので、それを付け加えるといいです。


[ 戻る ]