2017-02-22 4 views
-3

私はRPGを作っていますので、私のダメージシステムをランダムにしないでください。私はセットの健康を使用 - =%monsterdmg%をし、私はセットで使用monsterhealth - =%playerdmg%こちらもそれが行わイマイチ私の全体のコード:なぜ私のダメージシステムは機能しませんか(健康を奪うものではありません)

@echo off 
echo Welcome To Notetopia! We Hope You Enjoy! 
pause 
goto set 
:set 
set health=100 
set monsterhealth=50 
set playerdmg=20 
set monsterdmg=7 
goto home 
:home 
cls 
echo What do you want to do? 
echo 1) BATTLE! 
echo 2) Exit :'(
set /p a= Select 1 or 2 
if %a%==1 goto battle1 
if %a%==2 goto exitmenu 
:battle1 
set health=100 
cls 
echo Your Health: %health% 
echo Enemie's Health: %monsterhealth% 
echo. 
echo. 
echo Choose: 
echo 1) Attack 
echo 2) Run Away 
set /p b= Select 1 or 2 
if %b%==1 goto attack1 
if %b%==2 goto home 
:attack1 
cls 
set health -= %monsterdmg% 
set monsterhealth -= %playerdmg% 
goto battle1 
+1

SETステートメントには、オペレータの左側にスペースがあります。そして '/ A'オプションがありません。 – Squashman

+1

@Squashman、 'set/A' - ' set'とは対照的に - 変数名と演算子の周りのスペースを適切に扱うことができます... – aschipfl

+0

質問には特定のタイトルを付けてください!これを参照してください:[質問] ... – aschipfl

答えて

0

あなたが不足している/オプションを使用して、あなたこのようなSET文を書くことができます。

set /a health-=monsterdmg 
set /a monsterhealth-=playerdmg 

変数を展開するためにパーセント記号を使用する必要はありません。

編集。ここで私はクリア画面が削除されたあなたのゲームをプレイしています。私はまた、戦闘機能のset health=100を削除しました。確かに、数学は正しく働いているように見えます。

What do you want to do? 
1) BATTLE! 
2) Exit :'(
Select 1 or 2 1 
Your Health: 100 
Enemie's Health: 50 


Choose: 
1) Attack 
2) Run Away 
Select 1 or 2 1 
Your Health: 93 
Enemie's Health: 30 


Choose: 
1) Attack 
2) Run Away 
Select 1 or 2 1 
Your Health: 86 
Enemie's Health: 10 


Choose: 
1) Attack 
2) Run Away 
Select 1 or 2 1 
Your Health: 79 
Enemie's Health: -10 


Choose: 
1) Attack 
2) Run Away 
Select 1 or 2 
+0

これはモンスターヘルスでは機能しますが、プレーヤーの健康状態ではありません(健康):( – OresTV

+0

@OresTV信じがたいですが、シンタックスは両者で同じ設定にする必要があります。あなたのコードが今のように見えません。 – Squashman

+0

@OresTV数学が効いていることを示すために私の答えにゲームプレイを追加しました。 – Squashman

0

あなたがループbattle1たび:あなたは100に健康をリセットされます。

:battle1 
set health=100 

するたびにループあなたを攻撃バックにbattle1

goto battle1 

私はそのインスタンスを削除想像しますset health=100の問題が修正されます。

関連する問題