इस कोड को पोकीमॉन लड़ाई गेमप्ले का एक सरल संस्करण के समान बनाया गया है। मैंने केवल हमलों में कोड किया है। मैं पूरी तरह से परीक्षण कर रहा हूं, और पाया कि जब भी उपयोगकर्ता ने अपने हमले की पुष्टि की तो एक त्रुटि संदेश (गोटो अप्रत्याशित था)। चेतावनी !! कोड 96 लाइन लंबी है। अंत में, मैं समस्या अनुभाग डाल दूंगा, ताकि आप इस पहले विशाल खंड को छोड़ सकें।गोटो इस समय अनपेक्षित था बैच विंडोज 7 स्टार्टर
@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
कोड यहाँ ठीक हो जाता है, लेकिन एक बार मैं यहाँ हूँ, यह गोटो आदेशों की उम्मीद नहीं है। कोई भी इस गोमांस को ठीक कर सकता है? (नोट: टैकल सिर्फ एक उदाहरण है। हमलों में से कोई भी काम नहीं करता है।) संपादित करें: यदि उपयोगकर्ता "हां", "नहीं", अस्पष्टता या कुछ भी नहीं डालता है, तो यह अभी भी एक ही त्रुटि संदेश प्रदान करता है (इस समय गोटो अप्रत्याशित था)
मैं डाउनवॉट्स के बारे में उत्सुक हूं; प्रश्नकर्ता ने कोड पोस्ट किया, एक उदाहरण समस्या क्षेत्र को अलग किया, और यहां तक कि त्रुटि संदेश भी दिया। मुझे एक अच्छा सवाल लगता है। क्या यह बैच फाइलों के लिए सिर्फ अपमानजनक है? इससे प्रभावित नहीं होना चाहिए कि सवाल अच्छा है या नहीं। –
@ वेस्लेपेट्रोव्स्की, शायद इसलिए कि उन्होंने अपनी पूरी लिपि पोस्ट की थी। और फिर समस्याग्रस्त कोड की एक अतिरिक्त प्रति पोस्ट की। उसे केवल उस कोड को पोस्ट करना चाहिए जो समस्याग्रस्त था। – mikerobi
'तो% कदम% == Catpure गोटो capture' मुझे पता है, बिल्लियों purre, लेकिन मुझे लगता है कि यह एक लिखने में कोई त्रुटि ^^ – Stephan