私はvb.netにwinformアプリケーションを持っており、じゃんけんゲームを開発しています。
以下に示すように、ある場所で列挙型を使用し、別の場所で文字列を使用して、いくつかの武器タイプを表します。
ENUMの例:
Imports RockPaperScissors.Weapon
Public Class PlayerComputerRandom
Inherits Player
Private Enum weaponsList
Rock
Paper
Scissors
End Enum
Public Overloads Sub pickWeapon()
Dim randomChoice = New Random()
Dim CompChoice As Integer = randomChoice.Next(0, [Enum].GetValues(GetType(weaponsList)).Length)
If CompChoice = "0" Then
pWeapon = New Rock()
ElseIf CompChoice = "1" Then
pWeapon = New Paper()
Else
pWeapon = New Scissors()
End If
End Sub
End Class
STRINGの例:
Public Class Player
Public pWeapon As Weapon
Public Sub pickWeapon(ByVal WeaponType As String)
If WeaponType = "Rock" Then
pWeapon = New Rock()
ElseIf WeaponType = "Paper" Then
pWeapon = New Paper()
Else
pWeapon = New Scissors()
End If
End Sub
End Class
それぞれのアプローチの長所と短所を教えてください。OOPとコーディングは初めてなので、このアプローチの問題点と、より良いアプローチは何でしょうか。
どんな助けでも大歓迎です。
どうもありがとう、