2

「攻撃」ボタンと「回復」ボタンをクリックして、プレイヤーが敵にダメージを与えたり、自分自身を回復したりできるゲームをシミュレートしようとしています。ゲームに合わせて変更する前に、1 つのプログレス バーでテスト ランを実行して、すべてが機能することを確認し、新しい WindowsApplication を作成しようとしました。

フォームにはプログレス バーと 1 つの攻撃ボタンとヒール ボタンがあり、プログレス バーの最大値をヒーリングで超えるか、ダメージで最小値を超えると、エラーが発生します。どちらの場合も修正するコード行がわかりません。どこでも答えを探しています。

これが私のヒールボタンコードです。

Private Sub btnHeal_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) _
                      Handles btnHeal.Click

    prgHealth.Value = prgHealth.Value + 10

    If prgHealth.Value >= prgHealth.Maximum Then
        prgHealth.Value = prgHealth.Maximum
    End If

End Sub

そして、これが私のダメージボタンコードです。

Private Sub btnDamage_Click(ByVal sender As System.Object, _
                            ByVal e As System.EventArgs) _
                        Handles btnDamage.Click

    prgHealth.Value = prgHealth.Value - 10

    If prgHealth.Value < prgHealth.Minimum Then
        prgHealth.Value = prgHealth.Minimum
    End If

End Sub

どんな助けでも大歓迎です。また、私はコーディングの初心者であり、大きなコードの壁に間違いなく混乱することにも注意してください.

このようにプログレス バーを台無しにしてしまった多くの人が同じ問題を抱えているに違いありません。

助けてくれてありがとう!

4

1 に答える 1

4

あなたは間違った順序で物事をやっています。最初にプログレスバーに変更を適用してから、それが最大値よりも大きいか最小値よりも小さいかを確認します。プログレスバーをコップ一杯の水と考えてください。端までいっぱいにすることはできません (Ice now people についての賢明なコメントはありません)。また、グラスに入っているものよりも多くの水を引き出すこともできません (今は除湿についてのスマートなコメントはありません)。ここで行うことは、最初にプログレスバーに水を入れすぎて、端からはみ出すことです。次に、グラスに多くの水を注いだかどうかを確認します。グラスに注ぐ前に水の量を計るのではなく。:D

最初にチェックを行う必要があります。このような:

if prgHealth.Value + 10 > prgHealth.Maximum Then
  prgHealth.Value = prgHealth.Maximum
else
  prghealth.Value = prgHealth.Value + 10
end if

そして、最小値についても同じです。

于 2012-12-11T06:55:30.003 に答える