5

是否可以在 Visual Basic 中创建对象数组?

我正在制作一个战斗系统,每当战斗开始时,我希望能够从数组中随机选择一个 Monster 对象。

如果可能的话,有人可以告诉我如何存储Public Spider as New Monster(50, 20, 5)到数组中吗?

谢谢你。

怪物等级:

Public Class Monster

  Private hp As Integer
  Private xp As Integer
  Private dmg As Integer

  Sub New(ByVal hitpoints As Integer, ByVal exp As Integer, ByVal damage As Integer)
    hp = hitpoints
    xp = exp
    dmg = damage
  End Sub

End Class

表格类:

Imports Monster
Public Class Form

  Public Spider As New Monster(50, 20, 5)

End Class
4

3 回答 3

11

A List(Of T)可以很好地解决这个问题。

Private Monsters As New List(Of Monster)
'later add them into this collection
Monsters.Add(New Monster(50, 20, 5))
于 2013-05-23T22:39:39.453 回答
1

如果您没有一组已知数量的类实例要存储,您可以使用其中一个来保存Collections它。List(of Monster)

Dim Monsters As List(of Monster) = New List(of Monster)
Monsters.Add(New Monster(10, 50, 30))
于 2013-05-23T22:41:04.983 回答
0

当然,ArrayList 更好,但你的问题也很有用。

  Dim MonsterArr() As Monster = New MonsterArr(1000) {}

或者

  Dim MonsterArr() As Monster = New MonsterArr(1000) {0,0,0}

或者

  Dim MonsterArr() As Object = New Object(1000) {}
于 2021-08-24T18:57:45.853 回答