デスクトップを実行しているデスクトップでRPGスタイルのゲームに取り組んでいます。 私はバッチを使ってこのゲームを作っています。私は負の数に問題がありました...
あなたの/敵の健康状態が負の数になると、あなたは無敵になります。 LSS、LEQ、GTR、GEQは機能していないようです。 これはあなたが死んでいるのか、モンスターがいるのかを判断する方法です。"IF"コマンドでバッチファイルのネガティブ番号を検出できない
If "%phealth%" LSS "0" goto :dead.
If "mhealth%" LSS "0" goto :Mdead
私はGTRやGEQを使用している場合は最初の攻撃は関係なく、私がLSSを使用したり、LEQ場合、それは動作しませんでした私はそれを意図したどのようにモンスターを殺しません。 すべてがランダムに生成されます。
Set /a "mhealth=%random% %%mlvl%-1+9
プレーヤーの健康とレベルはランダムではなく、 を変更することができ、私が見落としている任意の溶液またはエラーがあります。ほとんどのページでも役に立たなかった。私はそれが必要なので健康が負のあなた/モンスターのダイに入る場合
ありがとう!
コードを正しくフォーマットしてください。そしてそれらは ''%phealth% ''と' '0''に引用符を追加しません。 – SteveFest
'IF'コマンドのヘルプを読んでしまったら、これを見たかもしれません。 **上記の数値比較を使用することもできます: 'IF%ERRORLEVEL%LEQ 1 goto okay' **。その周りに引用符がありますか? – Squashman
あなたは剰余計算をしているように見えます。バッチファイルを使用しているときは、パーセント文字を2倍にする必要があります。 'Set/A mhealth =%random %%%%mlvl% - 1 + 9' _(パーセント文字を%mlvl%変数)_。私はあなたが害を及ぼさないままにして、参加者間の分離を見るのを助けるスペースを含んでいます。 – Compo