Movement and Player Statistics in a VB.NET Text-Based Game - Player Statistics
(Page 3 of 4 )
Now that the player can move, how about giving him some attributes such as health, attack and defense? Since these attributes are not specific to the player alone, let's add them to the Entity class as fields and properties. Attack and defense can be represented in a single field and a single property each, but health needs two fields and properties, one set for the current health, and another set for the maximum available health. Place all of this inside of the Entity class:
Private _health As Integer
Private _maxHealth As Integer
Private _attack As Integer
Private _defense As Integer
Public Property Health() As Integer
Get
Return _health
End Get
Set(ByVal value As Integer)
_health = value
End Set
End Property
Public Property MaxHealth() As Integer
Get
Return _maxHealth
End Get
Set(ByVal value As Integer)
_maxHealth = value
End Set
End Property
Public Property Attack() As Integer
Get
Return _attack
End Get
Set(ByVal value As Integer)
_attack = value
End Set
End Property
Public Property Defense() As Integer
Get
Return _defense
End Get
Set(ByVal value As Integer)
_defense = value
End Set
End Property
This also means that we have to modify Entity's constructor to accept values for each of the fields:
Public Sub New(ByVal name As String, ByVal symbol As Char, _
ByVal color As ConsoleColor, _
ByVal x As Integer, ByVal y As Integer, _
ByVal health As Integer, _
ByVal attack As Integer, _
ByVal defense As Integer)
_name = name
_symbol = symbol
_color = color
_x = x
_y = y
_health = health
_maxHealth = health
_attack = attack
_defense = defense
End Sub
And then we have to modify Adventurer's constructor to pass default values to Entity's new constructor:
Public Sub New(ByVal name As String, ByVal x As Integer, _
ByVal y As Integer)
MyBase.New(name, "@", ConsoleColor.Cyan, x, y, 10, 1, 1)
End Sub
Next: Displaying Properties >>
More Visual Basic.NET Articles
More By Peyton McCullough