我正在使用一个 do while 循环,在每个循环之后,需要询问用户他/她接下来想做什么。该程序是一个口袋妖怪风格的战斗RPG,除了让口袋妖怪战斗,你自己和怪物战斗。
我正在寻找的是一种口袋妖怪/最终幻想风格的战斗。
这是我处理战斗的潜艇:
Private Sub Battle(ByVal Name As String, ByVal life As Integer, ByVal damage As Integer)
lbl_MonsterName.Text = Name
mobCurrHealth = mobMaxHealth
lbl_MonsterHP.Text = mobCurrHealth & " / " & mobMaxHealth
bar_monsterHP.Value = mobCurrHealth
bar_monsterHP.Maximum = mobMaxHealth
txtbx_Action.AppendText(Environment.NewLine & "You find a " & Name)
lbl_MonsterName.Visible = True
lbl_MonsterHP.Visible = True
bar_monsterHP.Visible = True
wait(2000)
txtbx_Action.AppendText(Environment.NewLine & "What would you like to do?")
btn_Attack.Visible = True
btn_Run.Visible = True
'Here I want the program to wait for button input, but i still have to find a way to do that
End Sub
在“您想做什么”行之后,将显示 2 (3) 个按钮:
- 攻击
- 跑
- (存货)
但是,正如您所看到的(我确实知道出了什么问题,我只是不知道如何解决它)我的战斗潜艇在按钮可见后结束。
我希望潜艇等到我按下了这些按钮中的任何一个,然后再采取相应的行动。
我怎样才能做到这一点?
编辑:
这是我使用的代码,其中子“Battle”被称为:
Private Sub btn_Adventure_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Adventure.Click
btn_Adventure.Visible = False
txtbx_Action.Visible = True
Dim rng As New Random
Dim MobGen As Integer = rng.Next(1, 4)
Select Case MobGen
Case 1
mobName = "Rat"
mobMaxHealth = 5
mobDamage = 2
Case 2
mobName = "Bat"
mobMaxHealth = 7
mobDamage = 3
Case 3
mobName = "Snake"
mobMaxHealth = 9
mobDamage = 4
Case 4
mobName = "Wolf"
mobMaxHealth = 11
mobDamage = 5
End Select
txtbx_Action.AppendText(Environment.NewLine & "You run around the forest trying to find something to kill")
wait(1500)
Battle(mobName, mobMaxHealth, mobDamage)
btn_Adventure.Visible = True
End Sub
另外,如果您认为我现在处理程序的方式非常错误,请告诉我如何改进它!这是一个尝试更好地学习 vb.net 语言的爱好项目,因此非常感谢任何建议或建设性批评!