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