リバース 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 

 

 

inserted by FC2 system