Гото был неожиданным в это время пакетным запуском Windows 7

Этот код разработан, чтобы напоминать более простую версию игрового процесса битвы с покемонами. Я закодировал только атаки. Я тщательно тестировал и обнаружил, что сообщение об ошибке (Goto было неожиданным в это время) всякий раз, когда пользователь подтверждал свою атаку. ВНИМАНИЕ!! Код состоит из 96 строк. В конце я помещу проблемный раздел, так что вы можете пропустить этот первый огромный фрагмент.

@echo off
Set H1=20
Set A1=8
Set D1=6
Set S1=5
Set H2=14
Set A2=5
Set D2=4
Set S2=8
:Begin
CLS
Echo Bulbasur
Echo %H2%/14      /\       
Echo           (__) ___  
Echo           l __lo.ol 
Echo           l_\ l_\"  
Echo.        
Echo     _ 
Echo *  / \ 
Echo \\l  )
Echo  \\__l   Charmander
Echo             %H1%/20
Echo -Attack -Capture
Echo -Item   -Run 
Set /p Move=Action?
If %move%==Attack goto Attack
If %move%==Catpure goto capture
If %move%==Item goto Item
If %move%==Run Goto Run
Echo I'm sorry, Charmander can't do that. 
Pause
goto Begin
:Attack
ClS
Echo Attacks
Echo 1)Tackle
Echo 2)Growl
Echo 3)Ember
Echo 4)Scratch
Set /p attack=Which one?
If %attack%==Tackle goto Tackle
If %attack%==1 goto Tackle
If %attack%==Growl Goto Growl
If %attack%==2 goto Growl
If %attack%==Ember goto Ember
If %attack%==3 goto Ember
If %attack%==Scratch goto Scratch
If %attack%==4 goto Scratch
If %attack%==Cancel goto Begin
Echo I didn't get that
Goto Attack
:Tackle
CLS
Echo Tackle Hits The opponent where it hurts. EVERYWHERE.
Echo Do you want to?
set /p accept=Yes/No?
If %acccept%==Yes goto Combat
If %acccept%==No goto Begin
Echo I didn't get that.
goto Tackle 
:Growl
CLS
Echo Growl lowers the opponents attack.
Echo Do you want to?
set /p accept=Yes/No?
If %acccept%==Yes goto Status
If %acccept%==No goto Begin
Echo I didn't get that.
goto Growl
:Scratch
CLS
Echo Scratch hits the foe with a claw.
Echo Do you want to?
set /p accept=Yes/No?
If %acccept%==Yes goto Combat
If %acccept%==No goto Begin
Echo I didn't get that.
goto  Scratch
:Ember
CLS
Echo Ember hits the opponent with a small fire.
Echo Do you want to?
set /p accept=Yes/No?
If %acccept%==Yes goto Combat
If %acccept%==No goto Begin
Echo I didn't get that.
goto Ember
:Combat
CLS
If NOT %attack%==Growl If NOT %attack%==2 set /a H2=%H2%-(%A1%^2/%D2%)
set /a H1=%H1%-(%A2%^2/%D1%)
goto Begin
:Status
CLS
Set /a A1=%A1%-1
goto Combat

Проблемная область:

:Tackle
CLS
Echo Tackle Hits The opponent where it hurts. EVERYWHERE.
Echo Do you want to?
set /p accept=Yes/No?
If %acccept%==Yes goto Combat
If %acccept%==No goto Begin
Echo I didn't get that.
goto Tackle 

Код добирается сюда нормально, но когда я здесь, он не ожидает команд goto. Кто-нибудь может исправить эту говядину? (Примечание: Tackle — это просто пример . Ни одна из атак не работает.) РЕДАКТИРОВАТЬ: Если пользователь вводит «Да», «Нет», тарабарщину или ничего, он все равно выдает то же сообщение об ошибке (goto было неожиданным в это время)

7
задан user1205760 19 March 2012 в 20:45
поделиться