0

Player1HandGroup(Number).QuantityIntegerは、プレイヤーがゲームで持っている特定の各カードの枚数です。

Player1handgroupには 28 のインデックスがあります。ゲームには5人のプレイヤーがいます。

現時点で私は現在持っています

Player1HandGroup(Number).QuantityInteger
Player1HandGroup(Number).QuantityInteger2
Player1HandGroup(Number).QuantityInteger3
Player1HandGroup(Number).QuantityInteger4
Player1HandGroup(Number).QuantityInteger5

ゲーム内の各プレーヤーを表します。

コードに関しては、別のプレーヤーを扱うたびに、正しいプレーヤーで動作させるために同じコードを頻繁に繰り返さなければなりません。

コードをクリーンアップできるように、数量整数にインデックスを追加したり、各プレーヤーを表す数量整数の末尾に数値を動的に追加したりできるかどうか疑問に思っていました。

Structure Group
        Public CardNameString, CardType As String
        Public QuantityInteger2, QuantityInteger3, QuantityInteger4, QuantityInteger5, DamageInteger, ID, HitPoints As Integer
        Public QuantityInteger() As Integer
    End Structure

Private Sub LunchMoneyMainForm_load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

DeckGroup(0).QuantityInteger(0) = 4
    DeckGroup(1).QuantityInteger(0) = 1
    DeckGroup(2).QuantityInteger(0) = 4
    DeckGroup(3).QuantityInteger(0) = 4
    DeckGroup(4).QuantityInteger(0) = 4
    DeckGroup(5).QuantityInteger(0) = 4
    DeckGroup(6).QuantityInteger(0) = 4
    DeckGroup(7).QuantityInteger(0) = 4
    DeckGroup(8).QuantityInteger(0) = 1
    DeckGroup(9).QuantityInteger(0) = 1
    DeckGroup(10).QuantityInteger(0) = 1
    DeckGroup(11).QuantityInteger(0) = 1
    DeckGroup(12).QuantityInteger(0) = 8
    DeckGroup(13).QuantityInteger(0) = 4
    DeckGroup(14).QuantityInteger(0) = 10
    DeckGroup(15).QuantityInteger(0) = 1
    DeckGroup(16).QuantityInteger(0) = 4
    DeckGroup(17).QuantityInteger(0) = 8
    DeckGroup(18).QuantityInteger(0) = 4
    DeckGroup(19).QuantityInteger(0) = 8
    DeckGroup(20).QuantityInteger(0) = 1
    DeckGroup(21).QuantityInteger(0) = 4
    DeckGroup(22).QuantityInteger(0) = 4
    DeckGroup(23).QuantityInteger(0) = 4
    DeckGroup(24).QuantityInteger(0) = 4
    DeckGroup(25).QuantityInteger(0) = 4
    DeckGroup(26).QuantityInteger(0) = 4
    DeckGroup(27).QuantityInteger(0) = 1


 Private Sub StartButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StartButton.Click

For StartHands = 0 To 4
            Call RandomNumberGenerator()
            'Cardslots Player1
            If CardTypeArray(StartHands) = "" Then
                If DeckGroup(Number).QuantityInteger(0) > 0 Then
                    DeckGroup(Number).QuantityInteger(0) -= 1
                    Player1HandGroup(Number).QuantityInteger(0) += 1
                    CardCheckBoxArray(StartHands).Text = Player1HandGroup(Number).CardNameString
                    CardTypeArray(StartHands) = Player1HandGroup(Number).CardType
                    Me.NumberArray(StartHands) = Number
                Else
                    'Recall Procedure if Generated Random Number is not allowed due to QuantityInteger <= 0
                    Call StartButton_Click(sender, e)
                End If
            End If
        Next StartHands

これらは、これに関連するコードの主要部分です。各部分がどのプロシージャに属しているかを示すために、イベント プロシージャの部分を含めました。

4

0 に答える 0