リバース Game の制作 VB6 | |
(2) オブジェクトの初期化 |
1. フィールド等作成と配置
フィールド(picField)を残り63個を作成し配置する。ラベルやボタンを配置する。これらの処理はサブプロシージャInitFieldとして作成する。
・プログラムリスト
Option Explicit Private Sub Form_Load() 'ゲーム初期化 InitField 'オブジェクト作成と配置初期化 End Sub Private Sub InitField() Dim n As Integer picField(0).Top = 120 picField(0).Left = 120 For n = 1 To 63 Load picField(n) 'オブジェクト作成 With picField(n) '配置(座標設定) .Left = picField(0).Left + picField(0).Width * (n Mod 8) .Top = picField(0).Top + picField(0).Height * Int(n / 8) .Visible = True End With Next n '順番メッセージ lblMsg.Top = picField(7).Top lblMsg.Left = picField(7).Left + picField(7).Width * 1.2 '白黒取得メッセージ lblShiro.Top = picField(15).Top lblShiro.Left = picField(15).Left + picField(15).Width * 1.2 lblKuro.Top = lblShiro.Top + lblShiro.Height * 1.5 lblKuro.Left = lblShiro.Left 'ゲーム メッセージ lblMsg2.Top = picField(56).Top + picField(56).Height * 1.2 lblMsg2.Left = picField(56).Left 'ボタンの配置 cmdPass.Top = picField(55).Top cmdPass.Left = picField(55).Left + picField(55).Width * 1.2 cmdEnd.Top = cmdPass.Top + cmdPass.Height * 1.5 cmdEnd.Left = cmdPass.Left End Sub
フィールドはpicField(0)を基準に配置する座標を計算している。Load命令でオブジェクトを作成し、With文の中で座標(Left,Top)を計算している。
ラベルとボタンはフィールドを基準に配置している。
順番メッセージ(lblMsg)は、picField(7)を基準にTopは同じでLeftにαを加算している。
α = picField(7).Width * 1.2
白取得メッセージ(lblShiro)は、picField(15)を基準にLeftにαを加算している。黒取得のメッセージ(lblKuro)は、白取得メッセージを基準にしている。ボタンも同じように計算して配置している。
ゲームメッセージ(lblMsg2)は、picField(56)を基準にLeftは同じでTopにβを加算している。
β = picField(56).Height * 1.2
図ではすでにメッセージが表示されているが、このプロシージャではオブジェクトの作成と配置だけを行う。メッセージ及び中央の白黒の駒はゲームの初期化として作成する。
実行すると図とは違って、グレーのフィールドが表示される。まだ、画像を設定していないためである。
(2) オブジェクトの初期化 | |
Copyright © 2002 Hiroshi Masuda |