【OXゲームを作る】
Excel で OXゲームを作る、2回目です。
一部、動作に不備はあるのですが、正しく操作すれば問題なく
遊べるようにはなりました。
その個所は後々考えていきます。
本日は、マクロ紹介です。
各部品のオブジェクト名
番号 | 部品 | オブジェクト名 | Visible |
① | 勝敗表示(ラベル) | lblResult | True |
② | ゲームフィールド(ラベル) | lbl001~lbl009 | True |
③ | マル画像(イメージ) | imgO | False |
③ | ばつ画像(イメージ) | imgX | False |
④ | 決定ボタン | cmdEnter | True |
④ | リセットボタン | cmdReset | True |
④ | 閉じるボタン | cmdClose | True |
***************************************************************
マクロ
モジュールレベル変数
Dim A As Long, B As Long, C As Long
Dim D As Long, E As Long, F As Long
Dim G As Long, H As Long, I As Long
Dim Score As Long
Dim Flg As Long
'A~I(アイ)は lbl001~009 と対応させたフラグです
'このA-Iにマルが置かれたら「1」を、バツが置かれたら「10」を
'代入し、勝敗を計算します
'Score は A~I のSumを代入して引分けの判定に使用します
'Flg はバツを置くときの計算に使用します
閉じるボタン
Private Sub cmdClose_Click()
End
End Sub
リセットボタン
Private Sub cmdReset_Click()
Call UserForm_Initialize
End Sub
フォーム初期化
'リセット兼用です
Private Sub UserForm_Initialize()
'主に、リセットの時用です
'マルを置く場所を決定したら、その場所をロックします
'その解除です
lbl001.Enabled = True
lbl002.Enabled = True
lbl003.Enabled = True
lbl004.Enabled = True
lbl005.Enabled = True
lbl006.Enabled = True
lbl007.Enabled = True
lbl008.Enabled = True
lbl009.Enabled = True
'勝敗が決定したら決定ボタンをロックして、余計な動作をさせないようにします
'その解除です
cmdEnter.Enabled = True
'ゲームフィールドの初期化です
'各ラベルの Picture を空にします
lbl001.Picture = LoadPicture(none)
lbl002.Picture = LoadPicture(none)
lbl003.Picture = LoadPicture(none)
lbl004.Picture = LoadPicture(none)
lbl005.Picture = LoadPicture(none)
lbl006.Picture = LoadPicture(none)
lbl007.Picture = LoadPicture(none)
lbl008.Picture = LoadPicture(none)
lbl009.Picture = LoadPicture(none)
'勝敗結果も初期化します。
lblResult.Caption = ""
'各ゲームフィールドにフラグを立てました
'このフラグが立っていたら、そのフィールドには、マル/バツを置けないようにします
'その解除です
A = 0
B = 0
C = 0
D = 0
E = 0
F = 0
G = 0
H = 0
I = 0
End Sub
**********************************************************
本日はここまでにします。
(疲れちゃった・・・)
動作の核となるマクロは後日。
/_/_/_/_/_/_/_/_/_/_/_/_/_/_
個人用マクロブックについてはこちら
リボンに登録についてはこちら
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/