Hello! RPG Batch

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
Lauri
Posts: 2
Joined: 19 Nov 2020 14:34

Hello! RPG Batch

#1 Post by Lauri » 19 Nov 2020 15:04

Hi, My name is Paolo and i'm an italian.
i still work on a project for an RPG Batch Script the code is this: (But not work for the combact, by when i modified the fight... ":ATTACCA" and i add the ":COMBACT_2, COMBACT_2_ENEMY_NO1, COMBACT_2_ENEMY_NO2".
before this modification the script work all correctly, but i know the problem is ":ATTACCA" but why?...

i post the scrpit

(call color.bat, recall a script for modify the color of text)

Code: Select all

@echo off & setLocal EnableDelayedExpansion
title Lauri Fantasy
color 03

:LOAD
	if EXIST save.txt (
		echo.
		echo Punto di salvataggio trovato!
		echo.
		echo Vuoi caricare il gioco?
		call color.bat [S]#0c Si' [N]#0c No
		
		choice /N /C:SN
		
		if errorlevel 2 (
			echo.
			echo Inizio di una nuova partita.
			pause >nul
			
			goto START
		)
		if errorlevel 1 (
			for /F "tokens=1-18 delims=," %%G in (save.txt) do (
				set AMBIENTE=%%G
				set ATT=%%H
				set DIF=%%I
				set MAG=%%J
				set DIF_M=%%K
				set HP_MAX=%%L
				set HP=%%M
				set MAGIE=%%N
				set LV=%%O
				set EXP=%%P
				set END_COMBACT=%%Q
				set EQUIP_ARM=%%R
				set EQUIP_CORPO=%%S
				set EQUIP_ELM=%%T
				set NAME=%%U
				set SWT_LOC_A=%%V
				set GOLD=%%W
				set STORY=%%X
				set /a ST_VELENO=0
				set NAME_EN=
				set /a HP_LOSE=3

				set /a LOOP_L=0
				
				goto LOOP_ECHO_LOAD
			)
		)
	) else (
		goto START
	)

:SAVE
	set /a LOOP_S=0
	
	goto LOOP_ECHO_SAVE
		
:LOOP_ECHO_LOAD
	if %LOOP_L% EQU 0 (
		cls
		echo.
		echo Caricamento in corso .
		set /a LOOP_L=%LOOP_L%+1
		
		choice /N /C:P /T 1 /D P
		goto LOOP_ECHO_LOAD
	)
				
	if %LOOP_L% EQU 1 (
		cls
		echo.
		echo Caricamento in corso . .
		set /a LOOP_L=%LOOP_L%+1
		
		choice /N /C:P /T 1 /D P
		goto LOOP_ECHO_LOAD
	)
	
	if %LOOP_L% EQU 2 (
		cls
		echo.
		echo Caricamento in corso . . .
		set /a LOOP_L=0

		choice /N /C:P /T 2 /D P
		if errorlevel 1 goto %AMBIENTE%
	)

:LOOP_ECHO_SAVE
	if %LOOP_S% EQU 0 (
		cls
		echo.
		echo Salvataggio in corso .
		set /a LOOP_S=%LOOP_S%+1
		choice /N /C:P /T 1 /D P
		
		goto LOOP_ECHO_SAVE
	)
				
	if %LOOP_S% EQU 1 (
		cls
		echo.
		echo Salvataggio in corso . .
		set /a LOOP_S=%LOOP_S%+1
		choice /N /C:P /T 1 /D P
			
		goto LOOP_ECHO_SAVE
	)
	
	if %LOOP_S% EQU 2 (
		cls
		echo.
		echo Salvataggio in corso . . .
		set /a LOOP_S=0

		choice /N /C:P /T 2 /D P
		echo %AMBIENTE%,%ATT%,%DIF%,%MAG%,%DIF_M%,%HP_MAX%,%HP%,%MAGIE%,%LV%,%EXP%,%END_COMBACT%,%EQUIP_ARM%,%EQUIP_CORPO%,%EQUIP_ELM%,%NAME%,%SWT_LOC_A%,%GOLD%,%STORY% > save.txt

		goto %AMBIENTE%
	)
	
:START
set /a EQUIP_ARM=0
:: 3= SPADA ATT +3
:: 5= LANCIA ATT +5
:: 7= PUGNALE ATT +7
:: 2= ASTA +2 MAG
:: 4= PISTOLA +4 MAG
:: 8= LONGINUS +8 MAG

set /a EQUIP_CORPO=0
:: 1= MAGLIA DIF +1
:: 3= GIUBOTTO DIF+3
:: 8= CORAZZA DIF +8

set /a EQUIP_ELM=0
:: 2= CAPPELLO DIF_MAG +2
:: 5= BASCO DIF_MAG +5
:: 7= ELMO DIF_MAG +7

set /a ATT=2
set /a DIF=1
set /a MAG=0
set /a DIF_M=0
set /a EXP=0
set /a HP=30
set /a HP_MAX=30
set /a LV=1

set /a ST_VELENO=0
:: 1= AVVELENATO

set /a HP_LOSE=3
:: HP PERSI PER EFFETTO DEL VELENO

set /a TAG=1
set /a COMBACT=1
set /a MID_COMBACT=0
set /a END_COMBACT=0

set /a MAGIE=0
:: FIRE=1
:: ICE=2
:: ENERGIA=3
:: IDRO=4
:: THUNDER=5
:: ESNA=6

set /a SWT_LOC_A=0
:: VARIABILE PER I SOLDI TROVATI NEL MONDO

set /a GOLD=0
::SOLDI DEL GIOCO

set /a STORY=0
::VARIABILE DELLA STORIA

set NAME_EN=


cls
echo Benvenuto nel mondo virtuale dove viene utilizzato il miglior motore grafico mai inventato, la tua mente.
pause >nul

cls

call color.bat Seleziona [S]#0c per iniziare o [N]#0c per uscire
choice /N /C:SN

if errorlevel 2 goto END
if errorlevel 1 goto BEGIN_GAME

:BEGIN
	cls
	call color.bat CASA#0a TUA#0a
	echo.
	echo Esci di casa o fai un giro nelle stanze?

	call color.bat Seleziona [A]#0c per Uscire o [D]#0c per restare
	choice /N /C:AD
	
	if errorlevel 2 goto IN_HOME
	if errorlevel 1 goto OUT_HOME

:BEGIN_GAME
	echo.
	set /p NAME=Come ti chiami? 

	if /i DEFINED NAME (
		echo.
		echo Ciao %NAME%, benvenuto nel mondo del Lauri.
		echo Sei pronto ad iniziare l'avventuta?
		call color.bat Se si premi [Invio]#0c per iniziare
		pause >nul
	) else (
		cls
		echo Inserisci il tuo nome perfavore!
		pause >nul
		goto BEGIN_GAME
	)

cls
call color.bat CASA#0a TUA#0a 
echo.
echo Bene, ti sei appena svegliato e noti subito qualcosa di strano.
echo ... Troppo silenzio, qualcosa non va
echo Ti avvicini alla porta di casa cosa fai
echo Esci di casa o fai un giro nelle stanze?

	call color.bat Seleziona [A]#0c per Uscire o [D]#0c per restare
	choice /N /C:AD
	
	if errorlevel 2 goto IN_HOME
	if errorlevel 1 goto OUT_HOME

	:OUT_HOME
		cls
		call color.bat FUORI#0a CASA#0a TUA#0a
		echo.
		echo Non si sente nessun rumore...
		echo Camminando noti che la casa del vicino
		echo Ha la porta aperta.
		echo Decidi di entrare o vai avanti?
		
		call color.bat Seleziona [A]#0c per Entrare o [D]#0c per Proseguire [X]#0c Torni indietro
		choice /N /C:ADX
		
		if errorlevel 3 goto BEGIN
		if errorlevel 2 goto STREET
		if errorlevel 1 goto FRIEND_HOUSE

	:IN_HOME
		cls
		call color.bat CORRIDOIO#0a DI#0a CASA#0a TUA#0a
		echo.
		echo In quale stanza vuoi andare?

		call color.bat Seleziona [A]#0c per Cucina [D]#0c Camera da letto [G]#0c Bagno [J]#0c Salotto
		choice /N /C:ADGJ

		if errorlevel 4 goto SALA
		if errorlevel 3 goto BAGNO
		if errorlevel 2 goto CAMERA
		if errorlevel 1 goto CUCINA

		:CUCINA
			cls
			call color.bat CUCINA#0a
			echo.
			echo Anche qui nessuno, il firgo e' aperto,
			echo Mamma si sara' dimenticata di chiuderlo..
			echo Torni all'ingresso.
			pause >nul
			goto BEGIN
		:CAMERA
			if %EQUIP_ARM% EQU 0 (
				cls
				call color.bat CAMERA#0a DA#0a LETTO#0a
				echo.
				echo Il letto e' disfatto
				echo Guardi nell'armadio..
				call color.bat Trovi una SPADA#0c [ATT#0c +3]#0c
				set /a EQUIP_ARM=3
				echo Torni all'ingresso.
				pause >nul
				goto BEGIN
			)
			if %EQUIP_ARM% GEQ 1 (
				cls
				call color.bat CAMERA#0a DA#0a LETTO#0a
				echo.
				echo Il letto e' disfatto
				echo Guardi nell'armadio..
				echo Non C'e' piu' niente,
				echo Torni all'ingresso.
				pause >nul
				goto BEGIN
			)
		:BAGNO
			cls
			call color.bat BAGNO#0a
			echo.
			echo Ahhh.. ci voleva una bella pisciatina
			echo Torni all'ingresso.
			pause >nul
			goto BEGIN
		:SALA
			cls
			call color.bat SALA#0a
			echo.
			echo Le luci sono accese.. che strano.
			echo Torni all'ingresso.
			pause >nul
			goto BEGIN

	:FRIEND_HOUSE
		if %END_COMBACT% EQU 0 (
			cls
			call color.bat CASA#0a VICINO#0a
			echo.
			echo Anche qui sembra non esserci nessuno..
			echo Mi e' sembrato di sentire un rumore
			echo Provenire dalla Camera,
			echo Che fai, Chiami il vicino o controlli la stanza?
		
			call color.bat Seleziona [A]#0c per Chiamare il vicino [D]#0c per controllare
			choice /N /C:AD

			if errorlevel 2 goto ROOM_FRIEND_HOUSE
			if errorlevel 1 goto VOICE_1
		) else (
			cls
			call color.bat CASA#0a VICINO#0a
			echo.
			echo Lo zombie e' morto...
			echo Sembra non esserci niente di interessante.
			pause >nul
			goto OUT_HOME
		)

		:ROOM_FRIEND_HOUSE
			cls
			call color.bat COMBATTI#0a
			echo.
			echo Oh mio Dio ma cose' quello
			echo Il tuo vicino sembra essersi trasformato in uno Zombie!!
			echo e ti attacca!
			echo.
			pause >nul

				set /a HP_EN=20
				set /a HP_MAX_EN=20
				set /a ATT_EN=1
				set /a DIF_EN=1
				set /a MAG_EN=0
				set /a DIF_M_EN=0

				set NAME_EN=Zombie
				set AMBIENTE=FRIEND_HOUSE
				set TURNO=COMBACT_1
				set TURNO_EN=COMBACT_1_ENEMY

				set /a ST_VELENO=0

				set /a EXP_EN=3
				
				goto COMBACT_1

	:VOICE_1
		cls.
		call color.bat CASA#0a VICINO#0a
		echo.
		echo Provi a chiamare il vicino,
		echo Sembra non rispondere nessuno.
		echo Provi ad alzare il tono di voce,
		echo Si sentono provenire lamenti strani
		echo Dalla camera.. Che fai?

		call color.bat Te ne vai [A]#0c o controlli [D]#0c
		choice /N /C:AD

		if errorlevel 2 goto ROOM_FRIEND_HOUSE
		if errorlevel 1 goto OUT_HOME
		
	:STREET
		cls
		call color.bat INIZIO#0a STRADA#0a
		echo.
		echo Sei ad un incrocio.
		call color.bat Di fianco a STRADA#0a appariranno delle lettere che stanno ad indicare
		echo i punti cardinali Nord, Est, Sud ed Ovest
		echo.
		echo Dove vuoi andare?
		call color.bat [W]#0c Dritto [A]#0c Sinistra [D]#0c Destra [X]#0c Torna indietro
		
		choice /N /C:WADX

		if errorlevel 4 goto OUT_HOME
		if errorlevel 3 goto STREET_E
		if errorlevel 2 goto STREET_O
		if errorlevel 1 goto STREET_N

	:STREET_N
		cls
		call color.bat STRADA#0a N#0a
		echo.
		call color.bat [W]#0c Continua Dritto [X]#0c Torna indietro

		choice /N /C:WX

		if errorlevel 2 goto STREET
		if errorlevel 1 goto STREET_NN
		
		:STREET_NN
			cls
			call color.bat STRADA#0a NN#0a
			echo.
			echo La strada sembra finire qui..
			echo Meglio tornare indietro.
			pause >nul
	
			goto STREET_N

	:STREET_O
		cls
		call color.bat STRADA#0a O#0a
		echo.
		echo Arrivi ad un icrocio.
		call color.bat [W]#0c Dritto [A]#0c Sinistra [X]#0c Torna indietro

		choice /N /C:WAX

		if errorlevel 3 goto STREET
		if errorlevel 2 goto STREET_OS
		if errorlevel 1 goto STREET_OO

		:STREET_OO
			cls
			call color.bat STRADA#0a OO#0a
			echo.
			call color.bat [W]#0c Dritto [X]#0c Torna indietro

			choice /N /C:WX

			if errorlevel 2 goto STREET_O
			if errorlevel 1 goto STREET_OOO
		
			:STREET_OOO
				cls
				call color.bat STRADA#0a OOO#0a
				echo.
				echo Arrivi ad un icrocio.
				call color.bat [W]#0c Dritto [A]#0c Sinistra [D]#0c Destra [X]#0c Torna indietro

				choice /N /C:WADX

				if errorlevel 4 goto STREET_OO
				if errorlevel 3 goto STREET_OOON
				if errorlevel 2 goto STREET_OOOS
				if errorlevel 1 goto STREET_OOOO
				
				:STREET_OOON
					cls
					call color.bat STRADA#0a OOON#0a
					echo.
					echo Camminando trovi un Bar, forse potrebbe essere una buona idea
					echo Entrare, mi potrei prendere qualcosa da bere o
					echo Forse e' meglio tornarci dopo.
					echo.
					
					call color.bat [A]#0c Entri [D]#0c Te ne vai
					
					choice /N /C:AD 
					
					if errorlevel 2 goto STREET_OOO
					if errorlevel 1 goto BAR_1
					
				:STREET_OOOO
					if %SWT_LOC_A% EQU 0 (
						cls
						call color.bat STRADA#0a OOOO#0a
						echo.
						echo Ehi, Hai trovato 3G.
						set /a GOLD=%GOLD%+3
						pause >nul
						
						set /a SWT_LOC_A=1
						goto STREET_OOO
					)
					
					if %SWT_LOC_A% EQU 1 (
						cls
						call color.bat STRADA#0a OOOO#0a
						echo.
						echo La strada sembra finire qui..
						echo Meglio tornare indietro.
						pause >nul

						goto STREET_OOO
					)

				:STREET_OOOS
					
					cls
					call color.bat STRADA#0a OOOS#0a
					echo.
					echo La strada sembra finire qui..
					echo Meglio tornare indietro.
					pause >nul

					goto STREET_OOO
		:STREET_OS
			cls
			call color.bat STRADA#0a OS#0a
			echo.
			call color.bat [W]#0c Dritto [X]#0c Torna indietro

			choice /N /C:WX

			if errorlevel 2 goto STREET_O
			if errorlevel 1 goto STREET_OSS

			:STREET_OSS
				cls
				call color.bat STRADA#0a OSS#0a
				echo.
				echo Hai trovato un posto dove potersi riposare,
				echo Recuperi tutti gli HP
				set /a HP=%HP_MAX%
				pause >nul

				echo.
				call color.bat [D]#0c Destra [X]#0c Torna indietro

				choice /N /C:DX

				if errorlevel 2 goto STREET_OS
				if errorlevel 1 goto STREET_OSSO

				:STREET_OSSO
					cls
					call color.bat COMBATTI#0a
					echo.
					echo Ti imbatti in un Zombie
					echo e ti attacca
					echo.
					pause >nul

						set /a HP_EN=25
						set /a HP_MAX_EN=25
						set /a ATT_EN=1
						set /a DIF_EN=2
						set /a MAG_EN=0
						set /a DIF_M_EN=0

						set NAME_EN=Zombie
						set AMBIENTE=STREET_OSS
						set TURNO=COMBACT_1
						set TURNO_EN=COMBACT_1_ENEMY

						set /a ST_VELENO=0
	
						set /a EXP_EN=7
				
						goto COMBACT_1


	:STREET_E
		cls
		call color.bat STRADA#0a E#0a
		echo.
		echo Arrivi ad un icrocio.
		call color.bat [A]#0c Sinistra [D]#0c Destra [X]#0c Torna indietro

		choice /N /C:ADX

		if errorlevel 3 goto STREET
		if errorlevel 2 goto STREET_ES
		if errorlevel 1 goto STREET_EN

		:STREET_EN
			cls
			call color.bat STRADA#0a EN#0a
			echo.
			call color.bat [D]#0c Destra [X]#0c Torna indietro

			choice /N /C:DX

			if errorlevel 2 goto STREET_E
			if errorlevel 1 goto STREET_ENE
			
			:STREET_ENE
				cls
				call color.bat STRADA#0a ENE#0a
				echo.
				call color.bat [W]#0c Dritto [X]#0c Torna indietro

				choice /N /C:WX

				if errorlevel 2 goto STREET_EN
				if errorlevel 1 goto STREET_ENEE
				
				:STREET_ENEE
					cls
					call color.bat STRADA#0a ENEE#0a
					echo.
					echo Hai trovato un posto dove potersi riposare,
					echo Recuperi tutti gli HP
					set /a HP=%HP_MAX%
					pause >nul

					echo.
					call color.bat [X]#0c Torna indietro

					choice /N /C:X

					if errorlevel 1 goto STREET_ENE
				
		:STREET_ES
			cls
			call color.bat STRADA#0a ES#0a
			echo.
			echo Arrivi ad un icrocio.
			call color.bat [W]#0c Dritto [A]#0c Sinistra [D]#0c Destra [X]#0c Torna indietro

			choice /N /C:WADX

			if errorlevel 4 goto STREET_E
			if errorlevel 3 goto STREET_ESO
			if errorlevel 2 goto STREET_ESE
			if errorlevel 1 goto STREET_ESS
			
			:STREET_ESO
				cls
				call color.bat STRADA#0a ESO#0a
				echo.
				call color.bat [W]#0c Dritto [X]#0c Torna indietro

				choice /N /C:WX

				if errorlevel 2 goto STREET_ES
				if errorlevel 1 goto STREET_ESOO
		
			:STREET_ESE
				cls
				call color.bat STRADA#0a ESE#0a
				echo.
				call color.bat [W]#0c Dritto [X]#0c Torna indietro

				choice /N /C:WX
	
				if errorlevel 2 goto STREET_ES
				if errorlevel 1 goto STREET_ESEE
			
			:STREET_ESS
				cls
				call color.bat STRADA#0a ESS#0a
				echo.
				call color.bat [A]#0c Sinistra [X]#0c Torna indietro

				choice /N /C:AX

				if errorlevel 2 goto STREET_ES
				if errorlevel 1 goto STREET_ESSE
			
				:STREET_ESOO
					cls
					call color.bat STRADA#0a ESOO#0a
					echo.
					echo La strada sembra finire qui..
					echo Meglio tornare indietro.
					pause >nul
				
					goto STREET_ESO
					
				:STREET_ESEE
					cls
					call color.bat COMBATTI#0a
					echo.
					echo Ti imbatti in un Zombie
					echo e ti attacca
					echo.
					pause >nul
					
						set /a HP_EN=25
						set /a HP_MAX_EN=25
						set /a ATT_EN=1
						set /a DIF_EN=2
						set /a MAG_EN=0
						set /a DIF_M_EN=0

						set NAME_EN=Zombie
						set AMBIENTE=STREET_ESE
						set TURNO=COMBACT_1
						set TURNO_EN=COMBACT_1_ENEMY

						set /a ST_VELENO=0
	
						set /a EXP_EN=7
				
						goto COMBACT_1
				
				:STREET_ESSE
					cls
					call color.bat STRADA#0a ESSE#0a
					echo.
					echo Arrivi ad un icrocio.
					call color.bat [W]#0c Dritto [D]#0c Destra [X]#0c Torna indietro

					choice /N /C:WDX

					if errorlevel 3 goto STREET_ESS
					if errorlevel 2 goto STREET_ESSES
					if errorlevel 1 goto STREET_ESSEE
					
					:STREET_ESSES
						cls
						
						if %STORY% LEQ 0 (
							call color.bat STRADA#0a ESSES#0a
							echo.
							echo Sei arrivato in un bosco e senti voci umane in lontanzana
							echo decici allora di controllare.
							echo.
							echo E' a quel punto che incontri un tuo compagno
							pause >nul
						
							goto BOSCO
						) else (
							call color.bat STRADA#0a ESSES#0a
							echo.
							echo Sei arrivato all'ingresso di un bosco cosa vuoi fare?
							call color.bat [W]#0c Vai nel Bosco [X]#0c Torna indietro
							choice /N /C:WX
							
							if errorlevel 2 goto ESSE
							if errorlevel 1 goto BOSCO
						)
					
					:STREET_ESSEE
						cls
						call color.bat STRADA#0a ESSEE#0a
						echo.
						echo La strada sembra finire qui..
						echo Meglio tornare indietro.
						pause >nul
				
						goto STREET_ESSE
						
	:BOSCO
		if %STORY% LEQ 0 (
			cls
			call color.bat BOSCO#0a
			echo.
			echo Giovanni: Ehi, piu' avanti ci sono un sacco di zombie
			echo Tieni questo ti potra' servire.
			echo Ah, pero' piu' avanti ho sentito parlare di un negozio
			echo dove e' possibile comprare oggetti.
			echo.
			echo Hai ottenuto: MAGLIA
			set /a EQUIP_CORPO=1
			set /a STORY=%STORY%+1
			echo.
			echo Giovanni se ne va, rimani all'inzio del bosco cosa fai?
			echo Prosegui o torni indietro?
			
			call color.bat [W]#0c Avanti [X]#0c Torna indietro
			choice /N /C:WX
			
			if errorlevel 2 goto STREET_ESSES
			if errorlevel 1 goto BOSCO_1
		) else (
			cls
			call color.bat BOSCO#0a
			echo.
			echo Sei all'interno del bosco cosa fai?
			echo Prosegui o torni indietro?
			
			call color.bat [W]#0c Avanti [X]#0c Torna indietro
			choice /N /C:WX
			
			if errorlevel 2 goto STREET_ESSES
			if errorlevel 1 goto BOSCO_1
		)
		
	:BOSCO_1
		::set /a VAR_INC=%RANDOM% %%100
		
		::if %VAR_INC% GEQ 60 (
			cls
			call color.bat BOSCO#0a COMBATTIMENTO#0a
			echo.
			echo Incontri uno Zombie, e ti attacca.
			pause >nul
			
			set /a HP_EN=40
			set /a HP_MAX_EN=40
			set /a ATT_EN=4
			set /a DIF_EN=5
			set /a MAG_EN=0
			set /a DIF_M_EN=0
			
			set /a HP_EN_2=20
			set /a HP_MAX_EN_2=20
			set /a ATT_EN_2=3
			set /a DIF_EN_2=3
			set /a MAG_EN_2=0
			set /a DIF_M_EN_2=0

			set NAME_EN=Zombie1
			set NAME_EN_2=Zombie2
			set AMBIENTE=BOSCO
			set TURNO=COMBACT_2
			set TURNO_EN=COMBACT_2_ENEMY_NO1
			
			set /a MID_COMBACT=0

			set /a ST_VELENO=0
	
			set /a EXP_EN=10
				
			goto COMBACT_2
		::) else (
		::	cls
		::	call color.bat BOSCO#0a
		::	echo.
		::	echo Sembra non esserci niente, prosegui?
		::	call color.bat [S]#0c Si' [N]#0c No
			
		::	choice /N /C:SN
			
		::	if errorlevel 2 goto BOSCO
		::	if errorlevel 1 goto END
		::)
		
	:BAR_1
		set AMBIENTE=BAR_1
		cls
	:S_BAR_DOMANDA
		call color.bat BAR#0a
		echo ---^> Possiedi: %GOLD%G ^<---
		echo.
		echo Benvenuto nel bar piu' speciale che esiste ha ha ha
		echo ... e ridi ogni tanto che ti fa bene ha ha ha
		echo Tornando a noi, cosa desideri?
		echo Se non sai cosa prendere puoi chiedere a me scrivendo "Chiedi"
	
	:S_BAR_DOMANDA_1
		echo.
		echo Cosa desideri?
		set /p DOMANDA= 
		
		if /i DEFINED DOMANDA (
			goto S_BAR_MENU
		) else (
			echo.
		    echo Non ho capito, prova a digitare "Chiedi"
			pause >nul
			cls
			goto S_BAR_DOMANDA
		)
	
	:S_BAR_MENU
	if /i %DOMANDA%==Chiedi (
		cls
		call color.bat BAR#0a
		echo.
		echo MENU:
		echo    - BEVI    -^> Visualizza menu' cocktails.
		echo    - MANGIA  -^> visualizza menu' cibo.
		echo    - SALVA   -^> Salva il gioco.
		echo    - ESCI    -^> Esci dal bar.
		
		goto S_BAR_DOMANDA_1
	)

	:MENU_BEVI
	if /i %DOMANDA%==Bevi (
		cls
		call color.bat BAR#0a
		echo.
		echo MENU:
		echo   - Campari              ^(3G^)
		echo   - Aperol               ^(4G^)
		echo   - Niente
		
		echo.
		echo Cosa desideri?
		
		set /p BEVI=
		goto BEVI
	)
		
	if /i %DOMANDA%==Mangia (
		echo.
		goto END
	)
		
	if /i %DOMANDA%==Salva (
		echo.
		goto SAVE
	)
	
	if /i %DOMANDA%==Esci (
		echo.
		echo Sei uscito dal bar.
		pause >nul
		cls
		goto STREET_OOON
	)
		
	echo.
	echo Non ho capito, prova a digitare "Chiedi"
	pause >nul
	cls
	goto S_BAR_DOMANDA
		
	:BEVI
	if /i %BEVI%==Campari (
		if %GOLD% EQU 3 (
			echo Ecco il tuo !BEVI! e prosecco
			echo Vuoi altro?
			pause >nul
			set /a GOLD=%GOLD%-3
			goto S_BAR_MENU
		) else (
			echo Non Hai i soldi...
			echo Vuoi altro?
			pause >nul
			goto S_BAR_MENU
		)
	)
	
	if /i %BEVI%==Aperol (
		if %GOLD% EQU 4 (
			echo echo Ecco il tuo Spritz
			echo Vuoi altro?
			pause >nul
			set /a GOLD=%GOLD%-4
			goto S_BAR_MENU
		) else (
			echo Non Hai i soldi...
			echo Vuoi altro?
			pause >nul
			goto S_BAR_MENU
		)
	)
	
	if /i %BEVI%==Niente (
		echo Ok
		pause >nul
		cls
		goto S_BAR_DOMANDA
	)
	
	echo.
	echo Non ho capito, prova a digitare "Campari"
	pause >nul
	goto MENU_BEVI
	
:MENU_MAGIE
	if %MAGIE% EQU 1 (
		echo.
		echo [Fire] - 1
		echo [-]
		echo [-]
		echo [-]
		echo [-]
		echo [-]
		echo [Niente] - Q
		echo.
		
		choice /N /C:1Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 2 goto %TURNO%
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 2 (
		echo.
		echo [Fire] - 1
		echo [Ice]  - 2
		echo [-]
		echo [-]
		echo [-]
		echo [-]
		echo [Niente] - Q
		echo.
		
		choice /N /C:12Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 3 goto %TURNO%
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 3 (
		echo.
		echo [Fire]    - 1
		echo [Ice]     - 2
		echo [Energia] - 3
		echo [-]
		echo [-]
		echo [-]
		echo [Niente]  - Q
		echo.
		
		choice /N /C:123Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 4 goto %TURNO%
		if errorlevel 3 goto ER_3
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 4 (
		echo.
		echo [Fire]    - 1
		echo [Ice]     - 2
		echo [Energia] - 3
		echo [Idro]    - 4
		echo [-]
		echo [-]
		echo [Niente]  - Q
		echo.
		
		choice /N /C:1234Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 5 goto %TURNO%
		if errorlevel 4 goto ER_4
		if errorlevel 3 goto ER_3
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 5 (
		echo.
		echo [Fire]    - 1
		echo [Ice]     - 2
		echo [Energia] - 3
		echo [Idro]    - 4
		echo [Thunder] - 5
		echo [-]
		echo [Niente]  - Q
		echo.
		
		choice /N /C:12345Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 6 goto %TURNO%
		if errorlevel 5 goto ER_5
		if errorlevel 4 goto ER_4
		if errorlevel 3 goto ER_3
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 6 (
		echo.
		echo [Fire]    - 1
		echo [Ice]     - 2
		echo [Energia] - 3
		echo [Idro]    - 4
		echo [Thunder] - 5
		echo [Esna]    - 6
		echo [Niente]  - Q
		echo.
		
		choice /N /C:123456Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 7 goto %TURNO%
		if errorlevel 6 goto ER_6
		if errorlevel 5 goto ER_5
		if errorlevel 4 goto ER_4
		if errorlevel 3 goto ER_3
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

:ER_1
	set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
	set /a HP_EN=%HP_EN%-%DAMAGE_M%
			
	echo Usi FIRE, infliggi: %DAMAGE_M%
			
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %DAMAGE_M% GEQ %HP_MAX_EN% (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (
		pause >nul
		goto %TURNO_EN%
	)

:ER_2
	set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
	set /a HP_EN=%HP_EN%-%DAMAGE_M%

	echo Usi ICE, infliggi: %DAMAGE_M%
		
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %DAMAGE_M% GEQ %HP_MAX_EN% (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (
		pause >nul
		goto %TURNO_EN%
	)

:ER_3
	set /a HP_RESTORED=%HP%+(%VAR_MAG%+%MAG%)

	if HP_RESTORED GEQ %HP_MAX% (
		set /a HP=%HP_MAX%
		echo Hai recuperato tutti gli HP.
		pause >nul
		goto %TURNO_EN%
	) else (
		set /a HP=%HP_RESTORED%
		echo Hai recuperato: %HP_RESTORED% HP
		pause >nul
		goto %TURNO_EN%
	)

:ER_4
	set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
	set /a HP_EN=%HP_EN%-%DAMAGE_M%

	echo Usi IDRO, infliggi: %DAMAGE_M%
	
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %DAMAGE_M% GEQ %HP_MAX_EN% (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (
		pause >nul
		goto %TURNO_EN%
	)

:ER_5
	set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
	set /a HP_EN=%HP_EN%-%DAMAGE_M%

	echo Usi THUNDER, infliggi: %DAMAGE_M%
	
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %DAMAGE_M% GEQ %HP_MAX_EN% (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (
		pause >nul
		goto %TURNO_EN%
	)

:ER_6
	if %ST_VELENO% EQU 1 (
		echo Usi Esna, Non sei piu' avvelenato.
		set /a ST_VELENO=0
		pause >nul
		goto %TURNO_EN%
	) else (
		echo Non succede nulla..
		pause >nul
		goto %TURNO_EN%
	)

:ATTACCA
	if %COMBACT% EQU 1 (
		echo ok
		pause >nul
		set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
		set /a HP_EN=%HP_EN%-%DAMAGE%
	
		echo Attacchi %NAME_EN%, infliggi: %DAMAGE%

		if %HP_EN% LEQ 0 (
			echo Lo %NAME_EN% e' morto.
			set /a END_COMBACT=1
			pause >nul
			goto CALCOLO_EXP
		)
			
		if %DAMAGE% GEQ %HP_MAX_EN% (
			echo Lo %NAME_EN% e' morto.
			set /a END_COMBACT=1
			pause >nul
			goto CALCOLO_EXP
		) else (
			pause >nul
			goto %TURNO_EN%
		)
	)
	
	if %COMBACT% EQU 2 (
	echo ok
	pause >nul
		if %MID_COMBACT% EQU 0 (
			if %TAG% EQU 1 (
				set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
				set /a HP_EN=%HP_EN%-%DAMAGE%
	
				echo Attacchi %NAME_EN%, infliggi: %DAMAGE%
	
				if %HP_EN% LEQ 0 (
					echo Lo %NAME_EN% e' morto.
					set /a MID_COMBACT=1
				pause >nul
					goto COMBACT_2_ENEMY_NO2
				)
			
				if %DAMAGE% GEQ %HP_MAX_EN% (
					echo Lo %NAME_EN% e' morto.
					set /a MID_COMBACT=1
					pause >nul
					goto COMBACT_2_ENEMY_NO2
				) else (
					pause >nul
					goto COMBACT_2_ENEMY_NO1
				)
			)
		
			if %TAG% EQU 2 (
				set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
				set /a HP_EN=%HP_EN_2%-%DAMAGE%
	
				echo Attacchi %NAME_EN_2%, infliggi: %DAMAGE%
	
			if %HP_EN_2% LEQ 0 (
					echo Lo %NAME_EN_2% e' morto.
					set /a MID_COMBACT=2
					pause >nul
					goto COMBACT_2_ENEMY_NO1
				)
			
				if %DAMAGE% GEQ %HP_MAX_EN_2% (
					echo Lo %NAME_EN_2% e' morto.
					set /a MID_COMBACT=2
					pause >nul
					goto COMBACT_2_ENEMY_NO1
				) else (
					pause >nul
					goto COMBACT_2_ENEMY_NO1
				)
			)
		)
		
		if %MID_COMBACT% EQU 1 (
			set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
			set /a HP_EN=%HP_EN_2%-%DAMAGE%
			
			echo Attacchi %NAME_EN_2%, infliggi: %DAMAGE%

			if %HP_EN_2% LEQ 0 (
				echo Lo %NAME_EN_2% e' morto.
				set /a END_COMBACT=1
				pause >nul
				goto CALCOLO_EXP
			)

			if %DAMAGE% GEQ %HP_MAX_EN_2% (
				echo Lo %NAME_EN_2% e' morto.
				set /a END_COMBACT=1
				pause >nul
				goto CALCOLO_EXP
			) else (
				pause >nul
				goto %TURNO%
			)
		)

		if %MID_COMBACT% EQU 2 (
			set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
			set /a HP_EN=%HP_EN%-%DAMAGE%

			echo Attacchi %NAME_EN%, infliggi: %DAMAGE%

			if %HP_EN% LEQ 0 (
				echo Lo %NAME_EN% e' morto.
				set /a END_COMBACT=1
				pause >nul
				goto CALCOLO_EXP
			)

			if %DAMAGE% GEQ %HP_MAX_EN% (
				echo Lo %NAME_EN% e' morto.
				set /a END_COMBACT=1
				pause >nul
				goto CALCOLO_EXP
			) else (
				pause >nul
				goto %TURNO%
			)
		)
	)
	echo ok
	pause >nul

:CALCOLO_EXP
	set /a EXP=%EXP%+%EXP_EN%
	echo Hai vinto: Guadagni %EXP_EN% EXP
	pause >nul
	
	if %LV% EQU 1 if %EXP% GEQ 10 (
		echo.
		echo Sei salito di livello.
		echo Livello 2 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+3
		set /a DIF=%DIF%+2
		set /a MAG=%MAG%+0
		set /a DIF_M=%DIF_M%+1
		set /a HP_MAX=%HP_MAX%+15
		set /a HP=%HP_MAX%+15
		set /a MAGIE=1
		set /a LV=2
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 2 if %EXP% GEQ 30 (
		echo.
		echo Sei salito di livello.
		echo Livello 3 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+1
		set /a DIF=%DIF%+1
		set /a MAG=%MAG%+2
		set /a DIF_M=%DIF_M%+1
		set /a HP_MAX=%HP_MAX%+20
		set /a HP=%HP_MAX%+20
		set /a MAGIE=2
		set /a LV=3
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 3 if %EXP% GEQ 50 (
		echo.
		echo Sei salito di livello.
		echo Livello 4 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+3
		set /a DIF=%DIF%+2
		set /a MAG=%MAG%+1
		set /a DIF_M=%DIF_M%+2
		set /a HP_MAX=%HP_MAX%+30
		set /a HP=%HP_MAX%+30
		set /a MAGIE=3
		set /a LV=4
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 4 if %EXP% GEQ 80 (
		echo.
		echo Sei salito di livello.
		echo Livello 5 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+1
		set /a DIF=%DIF%+3
		set /a MAG=%MAG%+3
		set /a DIF_M=%DIF_M%+1
		set /a HP_MAX=%HP_MAX%+34
		set /a HP=%HP_MAX%+34
		set /a MAGIE=4
		set /a LV=5
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 5 if %EXP% GEQ 115 (
		echo.
		echo Sei salito di livello.
		echo Livello 6 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+2
		set /a DIF=%DIF%+2
		set /a MAG=%MAG%+2
		set /a DIF_M=%DIF_M%+2
		set /a HP_MAX=%HP_MAX%+38
		set /a HP=%HP_MAX%+38
		set /a MAGIE=5
		set /a LV=6
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 6 if %EXP% GEQ 150 (
		echo.
		echo Sei salito di livello.
		echo Livello 7 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+3
		set /a DIF=%DIF%+4
		set /a MAG=%MAG%+3
		set /a DIF_M=%DIF_M%+4
		set /a HP_MAX=%HP_MAX%+45
		set /a HP=%HP_MAX%+45
		set /a MAGIE=6
		set /a LV=7
		
		goto SAVE
	) else (
		goto SAVE
	)

:COMBACT_1
	set /a FUGA=%RANDOM% %%100
	set /a VAR_ATT=%RANDOM% %%5
	set /a VAR_MAG=%RANDOM% %%5
	set /a ST_DEF=0
	set /a COMBACT=1
	
	cls

	call color.bat TUO#0a TURNO#0a
	echo.
	echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
	echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
	echo.
				
	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)

	if %HP_EN% LEQ 0 (
		echo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (		
		choice /N /C:ADMF /M "[Attaca] [Difendi] [Magie] [Fuggi]

		if errorlevel 4 (
			echo Tenti la fugga
			if %FUGA% GEQ 50 (
				echo Sei riuscito a fuggire.
				pause >nul
				goto %AMBIENTE%
			) else (
				echo Non riesci a scappare.
				pause >nul
				goto %TURNO_EN%
			)
		)
	
		if errorlevel 3 (
			if %MAGIE% EQU 0 (
				echo Non hai nessuna Magia.
				pause >nul
				goto %TURNO%
			)
			if %MAGIE% GEQ 1 goto MENU_MAGIE
		)
	
		if errorlevel 2 (
			echo Difendi
			set /a ST_DEF=1
			pause >nul
			goto %TURNO_EN%
		)
		
		if errorlevel 1 goto ATTACCA
	)

:COMBACT_1_ENEMY
	set /a VELENO=%RANDOM% %%100
	set /a VAR_DAMAGE=%RANDOM% %%4

	if %ST_DEF% EQU 0 (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
	) else (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
	)
	
	if %DAMAGE_EN% LEQ 0 (
		set /a DAMAGE_EN=0
	)
				
	cls

	call color.bat TURNO#0a %NAME_EN%#0a
	echo.
	echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
	echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
	echo.
	echo Lo %NAME_EN% ti attacca.
	echo Infligge: %DAMAGE_EN%
				
	set /a HP=%HP%-%DAMAGE_EN%
				
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)

	if %DAMAGE_EN% GEQ %HP_MAX% (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	) else (
		if %ST_VELENO% EQU 0 (
			if %VELENO% GEQ 75 (
				echo.
				echo Sei stato avvelenato.
				echo Perdi: %HP_LOSE% HP
				set /a HP=%HP%-3
				set /a ST_VELENO=1
				if %HP% LEQ 0 (
					echo.
					echo ... Sei morto.
					pause >nul
					goto END
				) else (
					pause >nul
					goto %TURNO%
				)
			) else (
				pause >nul
				goto %TURNO%
			)
		) else (
			echo Perdi: %HP_LOSE% HP
			set /a HP=%HP%-3
			if %HP% LEQ 0 (
				echo.
				echo ... Sei morto.
				pause >nul
				goto END
			) else (
				pause >nul
				goto %TURNO%
			)
		)
	)

:COMBACT_2
	set /a FUGA=%RANDOM% %%100
	set /a VAR_ATT=%RANDOM% %%5
	set /a VAR_MAG=%RANDOM% %%5
	set /a ST_DEF=0
	set /a COMBACT=2
	
	if %MID_COMBACT% EQU 0 (
		set TURNO_EN=COMBACT_2_ENEMY_NO1
	)
	
	if %MID_COMBACT% EQU 1 (
		set TURNO_EN=COMBACT_2_ENEMY_NO2
	)
	
	if %MID_COMBACT% EQU 2 (
		set TURNO_EN=COMBACT_2_ENEMY_NO1
	)

	cls
	call color.bat TUO#0a TURNO#0a
	echo.
	
	if %MID_COMBACT% EQU 0 (
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	)
	
	if %MID_COMBACT% EQU 1 (
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> Morto.
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	)
	
	if %MID_COMBACT% EQU 2 (
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> Morto.
		echo.
	)
	
	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)

	if %HP_EN% LEQ 0 (
		echo %NAME_EN% e' morto.
		set /a MID_COMBACT=1
		pause >nul
	)
	
	if %HP_EN_2% LEQ 0 (
		echo %NAME_EN_2% e' morto.
		set /a MID_COMBACT=2
		pause >nul
	)
		
	if %HP_EN% LEQ 0 if %HP_EN_2% LEQ 0 (
		echo Gli zombie sono morti.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
	
		if %MID_COMBACT% EQU 0 (
			choice /N /C:12 /M "Chi vuoi attaccare? [1] %NAME_EN%, [2] %NAME_EN_2%
			
			if errorlevel 2 set /a TAG=2
			if errorlevel 1 set /a TAG=1
		)
		
		if %MID_COMBACT% EQU 1 (
			set /a TAG=2
		)
		
		if %MID_COMBACT% EQU 2 (
			set /a TAG=1
		)
		
		echo.
		choice /N /C:ADMF /M "[Attaca] [Difendi] [Magie] [Fuggi]

		if errorlevel 4 (
			echo Tenti la fugga
			if %FUGA% GEQ 50 (
				echo Sei riuscito a fuggire.
				pause >nul
				goto %AMBIENTE%
			) else (
				echo Non riesci a scappare.
				pause >nul
				goto %TURNO_EN%
			)
		)
	
		if errorlevel 3 (
			if %MAGIE% EQU 0 (
				echo Non hai nessuna Magia.
				pause >nul
				goto %TURNO%
			)
			if %MAGIE% GEQ 1 goto MENU_MAGIE
		)
	
		if errorlevel 2 (
			echo Difendi
			set /a ST_DEF=1
			pause >nul
			goto %TURNO_EN%
		)
		
		if errorlevel 1 goto ATTACCA

:COMBACT_2_ENEMY_NO1
	set /a VELENO=%RANDOM% %%100
	set /a VAR_DAMAGE=%RANDOM% %%4

	if %ST_DEF% EQU 0 (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
	) else (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
	)
	
	if %DAMAGE_EN% LEQ 0 (
		set /a DAMAGE_EN=0
	)

	if %MID_COMBACT% EQU 2 (
		cls
		call color.bat TURNO#0a %NAME_EN%#0a
		echo.
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> Morto.
		echo.
	) else (
		cls
		call color.bat TURNO#0a %NAME_EN%#0a
		echo.
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	)
	
	echo Lo %NAME_EN% ti attacca.
	echo Infligge: %DAMAGE_EN%

	set /a HP=%HP%-%DAMAGE_EN%

	if %MID_COMBACT% EQU 0 (
		if %HP_EN% LEQ 0 (
			echo Lo %NAME_EN% e' morto.
			set /a MID_COMBACT=1
			pause >nul
			goto COMBACT_2_ENEMY_NO2
		)
	)
	
	if %MID_COMBACT% EQU 2 (
		if %HP_EN% LEQ 0 (
			echo Lo %NAME_EN% e' morto.
			set /a END_COMBACT=1
			pause >nul
			goto CALCOLO_EXP
		)
	)

	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)

	if %DAMAGE_EN% GEQ %HP_MAX% (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	) else (
		if %ST_VELENO% EQU 0 (
			if %VELENO% GEQ 75 (
				echo.
				echo Sei stato avvelenato.
				echo Perdi: %HP_LOSE% HP
				set /a HP=%HP%-3
				set /a ST_VELENO=1
				if %HP% LEQ 0 (
					echo.
					echo ... Sei morto.
					pause >nul
					goto END
				) else (
					pause >nul
					if %MID_COMBACT% EQU 0 (
						goto COMBACT_2_ENEMY_NO2
					)
					if %MID_COMBACT% EQU 2 (
						goto %TURNO%
					)
				)
			) else (
				pause >nul
				if %MID_COMBACT% EQU 0 (
					goto COMBACT_2_ENEMY_NO2
				)
				if %MID_COMBACT% EQU 2 (
					goto %TURNO%
				)
			)
		) else (
			echo Perdi: %HP_LOSE% HP
			set /a HP=%HP%-3
			if %HP% LEQ 0 (
				echo.
				echo ... Sei morto.
				pause >nul
				goto END
			) else (
				pause >nul
				if %MID_COMBACT% EQU 0 (
					goto COMBACT_2_ENEMY_NO2
				)
				if %MID_COMBACT% EQU 2 (
					goto %TURNO%
				)
			)
		)
	)

:COMBACT_2_ENEMY_NO2
	set /a VELENO=%RANDOM% %%100
	set /a VAR_DAMAGE=%RANDOM% %%4

	if %ST_DEF% EQU 0 (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
	) else (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
	)
	
	if %DAMAGE_EN% LEQ 0 (
		set /a DAMAGE_EN=0
	)

	if %MID_COMBACT% EQU 1 (
		cls
		call color.bat TURNO#0a %NAME_EN_2%#0a
		echo.
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> Morto.
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	) else (
		cls
		call color.bat TURNO#0a %NAME_EN_2%#0a
		echo.
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	)
	
	echo Lo %NAME_EN_2% ti attacca.
	echo Infligge: %DAMAGE_EN%

	set /a HP=%HP%-%DAMAGE_EN%

	if %MID_COMBACT% EQU 0 (
		if %HP_EN_2% LEQ 0 (
			echo Lo %NAME_EN_2% e' morto.
			set /a MID_COMBACT=2
			pause >nul
			goto COMBACT_2_ENEMY_NO1
		)
	)
	
	if %MID_COMBACT% EQU 1 (
		if %HP_EN_2% LEQ 0 (
			echo Lo %NAME_EN_2% e' morto.
			set /a END_COMBACT=1
			pause >nul
			goto CALCOLO_EXP
		)
	)

	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)

	if %DAMAGE_EN% GEQ %HP_MAX% (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	) else (
		if %ST_VELENO% EQU 0 (
			if %VELENO% GEQ 75 (
				echo.
				echo Sei stato avvelenato.
				echo Perdi: %HP_LOSE% HP
				set /a HP=%HP%-3
				set /a ST_VELENO=1
				if %HP% LEQ 0 (
					echo.
					echo ... Sei morto.
					pause >nul
					goto END
				) else (
					pause >nul
					if %MID_COMBACT% EQU 0 (
						goto COMBACT_2_ENEMY_NO1
					)
					if %MID_COMBACT% EQU 1 (
						goto %TURNO%
					)
				)
			) else (
				pause >nul
				if %MID_COMBACT% EQU 0 (
					goto COMBACT_2_ENEMY_NO1
				)
				if %MID_COMBACT% EQU 1 (
					goto %TURNO%
				)
			)
		) else (
			echo Perdi: %HP_LOSE% HP
			set /a HP=%HP%-3
			if %HP% LEQ 0 (
				echo.
				echo ... Sei morto.
				pause >nul
				goto END
			) else (
				pause >nul
				if %MID_COMBACT% EQU 0 (
					goto COMBACT_2_ENEMY_NO1
				)
				if %MID_COMBACT% EQU 1 (
					goto %TURNO%
				)
			)
		)
	)

:END
echo FINE PROGRAMMAZIONE
pause >nul
exit
Last edited by aGerman on 19 Nov 2020 15:42, edited 1 time in total.
Reason: please use code formatting

Lauri
Posts: 2
Joined: 19 Nov 2020 14:34

Re: Hello! RPG Batch

#2 Post by Lauri » 19 Nov 2020 18:10

OK!!!! I Understand :)

apparently if you set a variable inside the condition (if% COMBACT% EQU 1) it crashes. But if set the variable before the condition "if" work correctly :)
and now I've fixed the rest of the syntax as well :D

i repost the RPG Batch that working:

Lauri Fantasy:

Code: Select all

@echo off & setLocal EnableDelayedExpansion
title Lauri Fantasy
color 03

:LOAD
	if EXIST save.txt (
		echo.
		echo Punto di salvataggio trovato^^!
		echo.
		echo Vuoi caricare il gioco?
		call color.bat [S]#0c Si' [N]#0c No
		
		choice /N /C:SN
		
		if errorlevel 2 (
			echo.
			echo Inizio di una nuova partita.
			pause >nul
			
			goto START
		)
		if errorlevel 1 (
			for /F "tokens=1-18 delims=," %%G in (save.txt) do (
				set AMBIENTE=%%G
				set ATT=%%H
				set DIF=%%I
				set MAG=%%J
				set DIF_M=%%K
				set HP_MAX=%%L
				set HP=%%M
				set MAGIE=%%N
				set LV=%%O
				set EXP=%%P
				set END_COMBACT=%%Q
				set EQUIP_ARM=%%R
				set EQUIP_CORPO=%%S
				set EQUIP_ELM=%%T
				set NAME=%%U
				set SWT_LOC_A=%%V
				set GOLD=%%W
				set STORY=%%X
				set /a ST_VELENO=0
				set NAME_EN=
				set /a HP_LOSE=3

				set /a LOOP_L=0
				
				goto LOOP_ECHO_LOAD
			)
		)
	) else (
		goto START
	)

:SAVE
	set /a LOOP_S=0
	
	goto LOOP_ECHO_SAVE
		
:LOOP_ECHO_LOAD
	if %LOOP_L% EQU 0 (
		cls
		echo.
		echo Caricamento in corso .
		set /a LOOP_L=%LOOP_L%+1
		
		choice /N /C:P /T 1 /D P
		goto LOOP_ECHO_LOAD
	)
				
	if %LOOP_L% EQU 1 (
		cls
		echo.
		echo Caricamento in corso . .
		set /a LOOP_L=%LOOP_L%+1
		
		choice /N /C:P /T 1 /D P
		goto LOOP_ECHO_LOAD
	)
	
	if %LOOP_L% EQU 2 (
		cls
		echo.
		echo Caricamento in corso . . .
		set /a LOOP_L=0

		choice /N /C:P /T 2 /D P
		if errorlevel 1 goto %AMBIENTE%
	)

:LOOP_ECHO_SAVE
	if %LOOP_S% EQU 0 (
		cls
		echo.
		echo Salvataggio in corso .
		set /a LOOP_S=%LOOP_S%+1
		choice /N /C:P /T 1 /D P
		
		goto LOOP_ECHO_SAVE
	)
				
	if %LOOP_S% EQU 1 (
		cls
		echo.
		echo Salvataggio in corso . .
		set /a LOOP_S=%LOOP_S%+1
		choice /N /C:P /T 1 /D P
			
		goto LOOP_ECHO_SAVE
	)
	
	if %LOOP_S% EQU 2 (
		cls
		echo.
		echo Salvataggio in corso . . .
		set /a LOOP_S=0

		choice /N /C:P /T 2 /D P
		echo %AMBIENTE%,%ATT%,%DIF%,%MAG%,%DIF_M%,%HP_MAX%,%HP%,%MAGIE%,%LV%,%EXP%,%END_COMBACT%,%EQUIP_ARM%,%EQUIP_CORPO%,%EQUIP_ELM%,%NAME%,%SWT_LOC_A%,%GOLD%,%STORY% > save.txt

		goto %AMBIENTE%
	)
	
:START
set /a EQUIP_ARM=0
:: 3= SPADA ATT +3
:: 5= LANCIA ATT +5
:: 7= PUGNALE ATT +7
:: 2= ASTA +2 MAG
:: 4= PISTOLA +4 MAG
:: 8= LONGINUS +8 MAG

set /a EQUIP_CORPO=0
:: 1= MAGLIA DIF +1
:: 3= GIUBOTTO DIF+3
:: 8= CORAZZA DIF +8

set /a EQUIP_ELM=0
:: 2= CAPPELLO DIF_MAG +2
:: 5= BASCO DIF_MAG +5
:: 7= ELMO DIF_MAG +7

set /a ATT=2
set /a DIF=1
set /a MAG=0
set /a DIF_M=0
set /a EXP=0
set /a HP=30
set /a HP_MAX=30
set /a LV=1

set /a ST_VELENO=0
:: 1= AVVELENATO

set /a HP_LOSE=3
:: HP PERSI PER EFFETTO DEL VELENO

set /a END_COMBACT=0

set /a MAGIE=0
:: FIRE=1
:: ICE=2
:: ENERGIA=3
:: IDRO=4
:: THUNDER=5
:: ESNA=6

set /a SWT_LOC_A=0
:: VARIABILE PER I SOLDI TROVATI NEL MONDO

set /a GOLD=0
::SOLDI DEL GIOCO

set /a STORY=0
::VARIABILE DELLA STORIA

set NAME_EN=


cls
echo Benvenuto nel mondo virtuale dove viene utilizzato il miglior motore grafico mai inventato, la tua mente^^!
pause >nul

cls

call color.bat Seleziona [S]#0c per iniziare o [N]#0c per uscire
choice /N /C:SN

if errorlevel 2 goto END
if errorlevel 1 goto BEGIN_GAME

:BEGIN
	cls
	call color.bat CASA#0a TUA#0a
	echo.
	echo Esci di casa o fai un giro nelle stanze?

	call color.bat Seleziona [A]#0c per Uscire o [D]#0c per restare
	choice /N /C:AD
	
	if errorlevel 2 goto IN_HOME
	if errorlevel 1 goto OUT_HOME

:BEGIN_GAME
	echo.
	set /p NAME=Come ti chiami? 

	if /i DEFINED NAME (
		echo.
		echo Ciao %NAME%, benvenuto nel mondo del Lauri^^!
		echo Sei pronto ad iniziare l'avventuta?
		call color.bat Se si premi [Invio]#0c per iniziare
		pause >nul
	) else (
		cls
		echo Inserisci il tuo nome perfavore^^!
		pause >nul
		goto BEGIN_GAME
	)

cls
call color.bat CASA#0a TUA#0a 
echo.
echo Bene, ti sei appena svegliato e noti subito qualcosa di strano.
echo ... Troppo silenzio, qualcosa non va
echo Ti avvicini alla porta di casa cosa fai
echo Esci di casa o fai un giro nelle stanze?

	call color.bat Seleziona [A]#0c per Uscire o [D]#0c per restare
	choice /N /C:AD
	
	if errorlevel 2 goto IN_HOME
	if errorlevel 1 goto OUT_HOME

	:OUT_HOME
		cls
		call color.bat FUORI#0a CASA#0a TUA#0a
		echo.
		echo Non si sente nessun rumore...
		echo Camminando noti che la casa del vicino
		echo Ha la porta aperta.
		echo Decidi di entrare o vai avanti?
		
		call color.bat Seleziona [A]#0c per Entrare o [D]#0c per Proseguire [X]#0c Torni indietro
		choice /N /C:ADX
		
		if errorlevel 3 goto BEGIN
		if errorlevel 2 goto STREET
		if errorlevel 1 goto FRIEND_HOUSE

	:IN_HOME
		cls
		call color.bat CORRIDOIO#0a DI#0a CASA#0a TUA#0a
		echo.
		echo In quale stanza vuoi andare?

		call color.bat Seleziona [A]#0c per Cucina [D]#0c Camera da letto [G]#0c Bagno [J]#0c Salotto
		choice /N /C:ADGJ

		if errorlevel 4 goto SALA
		if errorlevel 3 goto BAGNO
		if errorlevel 2 goto CAMERA
		if errorlevel 1 goto CUCINA

		:CUCINA
			cls
			call color.bat CUCINA#0a
			echo.
			echo Anche qui nessuno, il firgo e' aperto,
			echo Mamma si sara' dimenticata di chiuderlo..
			echo Torni all'ingresso.
			pause >nul
			goto BEGIN
		:CAMERA
			if %EQUIP_ARM% EQU 0 (
				cls
				call color.bat CAMERA#0a DA#0a LETTO#0a
				echo.
				echo Il letto e' disfatto
				echo Guardi nell'armadio..
				call color.bat Trovi una SPADA#0c [ATT#0c +3]#0c
				set /a EQUIP_ARM=3
				echo Torni all'ingresso.
				pause >nul
				goto BEGIN
			)
			if %EQUIP_ARM% GEQ 1 (
				cls
				call color.bat CAMERA#0a DA#0a LETTO#0a
				echo.
				echo Il letto e' disfatto
				echo Guardi nell'armadio..
				echo Non C'e' piu' niente,
				echo Torni all'ingresso.
				pause >nul
				goto BEGIN
			)
		:BAGNO
			cls
			call color.bat BAGNO#0a
			echo.
			echo Ahhh.. ci voleva una bella pisciatina
			echo Torni all'ingresso.
			pause >nul
			goto BEGIN
		:SALA
			cls
			call color.bat SALA#0a
			echo.
			echo Le luci sono accese.. che strano.
			echo Torni all'ingresso.
			pause >nul
			goto BEGIN

	:FRIEND_HOUSE
		if %END_COMBACT% EQU 0 (
			cls
			call color.bat CASA#0a VICINO#0a
			echo.
			echo Anche qui sembra non esserci nessuno..
			echo Mi e' sembrato di sentire un rumore
			echo Provenire dalla Camera,
			echo Che fai, Chiami il vicino o controlli la stanza?
		
			call color.bat Seleziona [A]#0c per Chiamare il vicino [D]#0c per controllare
			choice /N /C:AD

			if errorlevel 2 goto ROOM_FRIEND_HOUSE
			if errorlevel 1 goto VOICE_1
		) else (
			cls
			call color.bat CASA#0a VICINO#0a
			echo.
			echo Lo zombie e' morto...
			echo Sembra non esserci niente di interessante.
			pause >nul
			goto OUT_HOME
		)

		:ROOM_FRIEND_HOUSE
			cls
			call color.bat COMBATTI#0a
			echo.
			echo Oh mio Dio ma cose' quello
			echo Il tuo vicino sembra essersi trasformato in uno Zombie^^!^^!
			echo e ti attacca^^!
			echo.
			pause >nul

				set /a HP_EN=20
				set /a HP_MAX_EN=20
				set /a ATT_EN=1
				set /a DIF_EN=1
				set /a MAG_EN=0
				set /a DIF_M_EN=0

				set NAME_EN=Zombie
				set AMBIENTE=FRIEND_HOUSE
				set TURNO=COMBACT_1
				set TURNO_EN=COMBACT_1_ENEMY

				set /a ST_VELENO=0

				set /a EXP_EN=3
				
				goto COMBACT_1

	:VOICE_1
		cls.
		call color.bat CASA#0a VICINO#0a
		echo.
		echo Provi a chiamare il vicino,
		echo Sembra non rispondere nessuno.
		echo Provi ad alzare il tono di voce,
		echo Si sentono provenire lamenti strani
		echo Dalla camera.. Che fai?

		call color.bat Te ne vai [A]#0c o controlli [D]#0c
		choice /N /C:AD

		if errorlevel 2 goto ROOM_FRIEND_HOUSE
		if errorlevel 1 goto OUT_HOME
		
	:STREET
		cls
		call color.bat INIZIO#0a STRADA#0a
		echo.
		echo Sei ad un incrocio.
		call color.bat Di fianco a STRADA#0a appariranno delle lettere che stanno ad indicare
		echo i punti cardinali Nord, Est, Sud ed Ovest
		echo.
		echo Dove vuoi andare?
		call color.bat [W]#0c Dritto [A]#0c Sinistra [D]#0c Destra [X]#0c Torna indietro
		
		choice /N /C:WADX

		if errorlevel 4 goto OUT_HOME
		if errorlevel 3 goto STREET_E
		if errorlevel 2 goto STREET_O
		if errorlevel 1 goto STREET_N

	:STREET_N
		cls
		call color.bat STRADA#0a N#0a
		echo.
		call color.bat [W]#0c Continua Dritto [X]#0c Torna indietro

		choice /N /C:WX

		if errorlevel 2 goto STREET
		if errorlevel 1 goto STREET_NN
		
		:STREET_NN
			cls
			call color.bat STRADA#0a NN#0a
			echo.
			echo La strada sembra finire qui..
			echo Meglio tornare indietro.
			pause >nul
	
			goto STREET_N

	:STREET_O
		cls
		call color.bat STRADA#0a O#0a
		echo.
		echo Arrivi ad un icrocio.
		call color.bat [W]#0c Dritto [A]#0c Sinistra [X]#0c Torna indietro

		choice /N /C:WAX

		if errorlevel 3 goto STREET
		if errorlevel 2 goto STREET_OS
		if errorlevel 1 goto STREET_OO

		:STREET_OO
			cls
			call color.bat STRADA#0a OO#0a
			echo.
			call color.bat [W]#0c Dritto [X]#0c Torna indietro

			choice /N /C:WX

			if errorlevel 2 goto STREET_O
			if errorlevel 1 goto STREET_OOO
		
			:STREET_OOO
				cls
				call color.bat STRADA#0a OOO#0a
				echo.
				echo Arrivi ad un icrocio.
				call color.bat [W]#0c Dritto [A]#0c Sinistra [D]#0c Destra [X]#0c Torna indietro

				choice /N /C:WADX

				if errorlevel 4 goto STREET_OO
				if errorlevel 3 goto STREET_OOON
				if errorlevel 2 goto STREET_OOOS
				if errorlevel 1 goto STREET_OOOO
				
				:STREET_OOON
					cls
					call color.bat STRADA#0a OOON#0a
					echo.
					echo Camminando trovi un Bar, forse potrebbe essere una buona idea
					echo Entrare, mi potrei prendere qualcosa da bere o
					echo Forse e' meglio tornarci dopo.
					echo.
					
					call color.bat [A]#0c Entri [D]#0c Te ne vai
					
					choice /N /C:AD 
					
					if errorlevel 2 goto STREET_OOO
					if errorlevel 1 goto BAR_1
					
				:STREET_OOOO
					if %SWT_LOC_A% EQU 0 (
						cls
						call color.bat STRADA#0a OOOO#0a
						echo.
						echo Ehi, Hai trovato 3G^^!
						set /a GOLD=%GOLD%+3
						pause >nul
						
						set /a SWT_LOC_A=1
						goto STREET_OOO
					)
					
					if %SWT_LOC_A% EQU 1 (
						cls
						call color.bat STRADA#0a OOOO#0a
						echo.
						echo La strada sembra finire qui..
						echo Meglio tornare indietro.
						pause >nul

						goto STREET_OOO
					)

				:STREET_OOOS
					
					cls
					call color.bat STRADA#0a OOOS#0a
					echo.
					echo La strada sembra finire qui..
					echo Meglio tornare indietro.
					pause >nul

					goto STREET_OOO
		:STREET_OS
			cls
			call color.bat STRADA#0a OS#0a
			echo.
			call color.bat [W]#0c Dritto [X]#0c Torna indietro

			choice /N /C:WX

			if errorlevel 2 goto STREET_O
			if errorlevel 1 goto STREET_OSS

			:STREET_OSS
				cls
				call color.bat STRADA#0a OSS#0a
				echo.
				echo Hai trovato un posto dove potersi riposare,
				echo Recuperi tutti gli HP
				set /a HP=%HP_MAX%
				pause >nul

				echo.
				call color.bat [D]#0c Destra [X]#0c Torna indietro

				choice /N /C:DX

				if errorlevel 2 goto STREET_OS
				if errorlevel 1 goto STREET_OSSO

				:STREET_OSSO
					cls
					call color.bat COMBATTI#0a
					echo.
					echo Ti imbatti in un Zombie
					echo e ti attacca
					echo.
					pause >nul

						set /a HP_EN=25
						set /a HP_MAX_EN=25
						set /a ATT_EN=1
						set /a DIF_EN=2
						set /a MAG_EN=0
						set /a DIF_M_EN=0

						set NAME_EN=Zombie
						set AMBIENTE=STREET_OSS
						set TURNO=COMBACT_1
						set TURNO_EN=COMBACT_1_ENEMY

						set /a ST_VELENO=0
	
						set /a EXP_EN=7
				
						goto COMBACT_1


	:STREET_E
		cls
		call color.bat STRADA#0a E#0a
		echo.
		echo Arrivi ad un icrocio.
		call color.bat [A]#0c Sinistra [D]#0c Destra [X]#0c Torna indietro

		choice /N /C:ADX

		if errorlevel 3 goto STREET
		if errorlevel 2 goto STREET_ES
		if errorlevel 1 goto STREET_EN

		:STREET_EN
			cls
			call color.bat STRADA#0a EN#0a
			echo.
			call color.bat [D]#0c Destra [X]#0c Torna indietro

			choice /N /C:DX

			if errorlevel 2 goto STREET_E
			if errorlevel 1 goto STREET_ENE
			
			:STREET_ENE
				cls
				call color.bat STRADA#0a ENE#0a
				echo.
				call color.bat [W]#0c Dritto [X]#0c Torna indietro

				choice /N /C:WX

				if errorlevel 2 goto STREET_EN
				if errorlevel 1 goto STREET_ENEE
				
				:STREET_ENEE
					cls
					call color.bat STRADA#0a ENEE#0a
					echo.
					echo Hai trovato un posto dove potersi riposare,
					echo Recuperi tutti gli HP
					set /a HP=%HP_MAX%
					pause >nul

					echo.
					call color.bat [X]#0c Torna indietro

					choice /N /C:X

					if errorlevel 1 goto STREET_ENE
				
		:STREET_ES
			cls
			call color.bat STRADA#0a ES#0a
			echo.
			echo Arrivi ad un icrocio.
			call color.bat [W]#0c Dritto [A]#0c Sinistra [D]#0c Destra [X]#0c Torna indietro

			choice /N /C:WADX

			if errorlevel 4 goto STREET_E
			if errorlevel 3 goto STREET_ESO
			if errorlevel 2 goto STREET_ESE
			if errorlevel 1 goto STREET_ESS
			
			:STREET_ESO
				cls
				call color.bat STRADA#0a ESO#0a
				echo.
				call color.bat [W]#0c Dritto [X]#0c Torna indietro

				choice /N /C:WX

				if errorlevel 2 goto STREET_ES
				if errorlevel 1 goto STREET_ESOO
		
			:STREET_ESE
				cls
				call color.bat STRADA#0a ESE#0a
				echo.
				call color.bat [W]#0c Dritto [X]#0c Torna indietro

				choice /N /C:WX
	
				if errorlevel 2 goto STREET_ES
				if errorlevel 1 goto STREET_ESEE
			
			:STREET_ESS
				cls
				call color.bat STRADA#0a ESS#0a
				echo.
				call color.bat [A]#0c Sinistra [X]#0c Torna indietro

				choice /N /C:AX

				if errorlevel 2 goto STREET_ES
				if errorlevel 1 goto STREET_ESSE
			
				:STREET_ESOO
					cls
					call color.bat STRADA#0a ESOO#0a
					echo.
					echo La strada sembra finire qui..
					echo Meglio tornare indietro.
					pause >nul
				
					goto STREET_ESO
					
				:STREET_ESEE
					cls
					call color.bat COMBATTI#0a
					echo.
					echo Ti imbatti in un Zombie
					echo e ti attacca
					echo.
					pause >nul
					
						set /a HP_EN=25
						set /a HP_MAX_EN=25
						set /a ATT_EN=1
						set /a DIF_EN=2
						set /a MAG_EN=0
						set /a DIF_M_EN=0

						set NAME_EN=Zombie
						set AMBIENTE=STREET_ESE
						set TURNO=COMBACT_1
						set TURNO_EN=COMBACT_1_ENEMY

						set /a ST_VELENO=0
	
						set /a EXP_EN=7
				
						goto COMBACT_1
				
				:STREET_ESSE
					cls
					call color.bat STRADA#0a ESSE#0a
					echo.
					echo Arrivi ad un icrocio.
					call color.bat [W]#0c Dritto [D]#0c Destra [X]#0c Torna indietro

					choice /N /C:WDX

					if errorlevel 3 goto STREET_ESS
					if errorlevel 2 goto STREET_ESSES
					if errorlevel 1 goto STREET_ESSEE
					
					:STREET_ESSES
						cls
						
						if %STORY% LEQ 0 (
							call color.bat STRADA#0a ESSES#0a
							echo.
							echo Sei arrivato in un bosco e senti voci umane in lontanzana
							echo decici allora di controllare.
							echo.
							echo E' a quel punto che incontri un tuo compagno
							pause >nul
						
							goto BOSCO
						) else (
							call color.bat STRADA#0a ESSES#0a
							echo.
							echo Sei arrivato all'ingresso di un bosco cosa vuoi fare?
							call color.bat [W]#0c Vai nel Bosco [X]#0c Torna indietro
							choice /N /C:WX
							
							if errorlevel 2 goto STREET_ESSE
							if errorlevel 1 goto BOSCO
						)
					
					:STREET_ESSEE
						cls
						call color.bat STRADA#0a ESSEE#0a
						echo.
						echo La strada sembra finire qui..
						echo Meglio tornare indietro.
						pause >nul
				
						goto STREET_ESSE
						
	:BOSCO
		if %STORY% LEQ 0 (
			cls
			call color.bat BOSCO#0a
			echo.
			echo Giovanni: Ehi, piu' avanti ci sono un sacco di zombie
			echo Tieni questo ti potra' servire.
			echo Ah, pero' piu' avanti ho sentito parlare di un negozio
			echo dove e' possibile comprare oggetti.
			echo.
			echo Hai ottenuto: MAGLIA
			set /a EQUIP_CORPO=1
			set /a STORY=%STORY%+1
			echo.
			echo Giovanni se ne va, rimani all'inzio del bosco cosa fai?
			echo Prosegui o torni indietro?
			
			call color.bat [W]#0c Avanti [X]#0c Torna indietro
			choice /N /C:WX
			
			if errorlevel 2 goto STREET_ESSES
			if errorlevel 1 goto BOSCO_1
		) else (
			cls
			call color.bat BOSCO#0a
			echo.
			echo Sei all'interno del bosco cosa fai?
			echo Prosegui o torni indietro?
			
			call color.bat [W]#0c Avanti [X]#0c Torna indietro
			choice /N /C:WX
			
			if errorlevel 2 goto STREET_ESSES
			if errorlevel 1 goto BOSCO_1
		)
		
	:BOSCO_1
		set /a VAR_INC=%RANDOM% %%100
		
		if !VAR_INC! GEQ 60 (
			cls
			call color.bat BOSCO#0a COMBATTIMENTO#0a
			echo.
			echo Incontri uno Zombie, e ti attacca.
			pause >nul
			
			set /a HP_EN=40
			set /a HP_MAX_EN=40
			set /a ATT_EN=4
			set /a DIF_EN=5
			set /a MAG_EN=0
			set /a DIF_M_EN=0

			set NAME_EN=Zombie1
			set AMBIENTE=BOSCO
			set TURNO=COMBACT_1
			set TURNO_EN=COMBACT_1_ENEMY

			set /a ST_VELENO=0

			set /a EXP_EN=10

			goto COMBACT_1
		) else (
			cls
			call color.bat BOSCO#0a
			echo.
			echo Sembra non esserci niente, prosegui?
			call color.bat [S]#0c Si' [N]#0c No

			choice /N /C:SN

			if errorlevel 2 goto BOSCO
			if errorlevel 1 goto END
		)

		if !VAR_INC! GEQ 83 (
			cls
			call color.bat BOSCO#0a COMBATTIMENTO#0a
			echo.
			echo Incontri due Zombie, e ti attaccano^^!
			pause >nul

			set /a HP_EN=40
			set /a HP_MAX_EN=40
			set /a ATT_EN=4
			set /a DIF_EN=5
			set /a MAG_EN=0
			set /a DIF_M_EN=0

			set /a HP_EN_2=20
			set /a HP_MAX_EN_2=20
			set /a ATT_EN_2=3
			set /a DIF_EN_2=3
			set /a MAG_EN_2=0
			set /a DIF_M_EN_2=0

			set NAME_EN=Zombie1
			set NAME_EN_2=Zombie2
			set AMBIENTE=BOSCO
			set TURNO=COMBACT_2
			set TURNO_EN=COMBACT_2_ENEMY_NO1

			set /a MID_COMBACT=0

			set /a ST_VELENO=0

			set /a EXP_EN=10

			goto COMBACT_2
		) else (
			cls
			call color.bat BOSCO#0a
			echo.
			echo Sembra non esserci niente, prosegui?
			call color.bat [S]#0c Si' [N]#0c No

			choice /N /C:SN

			if errorlevel 2 goto BOSCO
			if errorlevel 1 goto END
		)
		
	:BAR_1
		set AMBIENTE=BAR_1
		cls
	:S_BAR_DOMANDA
		call color.bat BAR#0a
		echo ---^> Possiedi: %GOLD%G ^<---
		echo.
		echo Benvenuto nel bar piu' speciale che esiste ha ha ha
		echo ... e ridi ogni tanto che ti fa bene ha ha ha
		echo Tornando a noi, cosa desideri?
		echo Se non sai cosa prendere puoi chiedere a me scrivendo "Chiedi"
	
	:S_BAR_DOMANDA_1
		echo.
		echo Cosa desideri?
		set /p DOMANDA= 
		
		if /i DEFINED DOMANDA (
			goto S_BAR_MENU
		) else (
			echo.
		    echo Non ho capito, prova a digitare "Chiedi"
			pause >nul
			cls
			goto S_BAR_DOMANDA
		)
	
	:S_BAR_MENU
	if /i %DOMANDA%==Chiedi (
		cls
		call color.bat BAR#0a
		echo.
		echo MENU:
		echo    - BEVI    -^> Visualizza menu' cocktails.
		echo    - MANGIA  -^> visualizza menu' cibo.
		echo    - SALVA   -^> Salva il gioco.
		echo    - ESCI    -^> Esci dal bar.
		
		goto S_BAR_DOMANDA_1
	)

	:MENU_BEVI
	if /i %DOMANDA%==Bevi (
		cls
		call color.bat BAR#0a
		echo.
		echo MENU:
		echo   - Campari              ^(3G^)
		echo   - Aperol               ^(4G^)
		echo   - Niente
		
		echo.
		echo Cosa desideri?
		
		set /p BEVI=
		goto BEVI
	)
		
	if /i %DOMANDA%==Mangia (
		echo.
		goto END
	)
		
	if /i %DOMANDA%==Salva (
		echo.
		goto SAVE
	)
	
	if /i %DOMANDA%==Esci (
		echo.
		echo Sei uscito dal bar.
		pause >nul
		cls
		goto STREET_OOON
	)
		
	echo.
	echo Non ho capito, prova a digitare "Chiedi"
	pause >nul
	cls
	goto S_BAR_DOMANDA
		
	:BEVI
	if /i %BEVI%==Campari (
		if %GOLD% EQU 3 (
			echo Ecco il tuo !BEVI! e prosecco
			echo Vuoi altro?
			pause >nul
			set /a GOLD=%GOLD%-3
			goto S_BAR_MENU
		) else (
			echo Non Hai i soldi...
			echo Vuoi altro?
			pause >nul
			goto S_BAR_MENU
		)
	)
	
	if /i %BEVI%==Aperol (
		if %GOLD% EQU 4 (
			echo echo Ecco il tuo Spritz
			echo Vuoi altro?
			pause >nul
			set /a GOLD=%GOLD%-4
			goto S_BAR_MENU
		) else (
			echo Non Hai i soldi...
			echo Vuoi altro?
			pause >nul
			goto S_BAR_MENU
		)
	)
	
	if /i %BEVI%==Niente (
		echo Ok
		pause >nul
		cls
		goto S_BAR_DOMANDA
	)
	
	echo.
	echo Non ho capito, prova a digitare "Campari"
	pause >nul
	goto MENU_BEVI
	
:MENU_MAGIE
	if %MAGIE% EQU 1 (
		echo.
		echo [Fire] - 1
		echo [-]
		echo [-]
		echo [-]
		echo [-]
		echo [-]
		echo [Niente] - Q
		echo.
		
		choice /N /C:1Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 2 goto %TURNO%
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 2 (
		echo.
		echo [Fire] - 1
		echo [Ice]  - 2
		echo [-]
		echo [-]
		echo [-]
		echo [-]
		echo [Niente] - Q
		echo.
		
		choice /N /C:12Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 3 goto %TURNO%
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 3 (
		echo.
		echo [Fire]    - 1
		echo [Ice]     - 2
		echo [Energia] - 3
		echo [-]
		echo [-]
		echo [-]
		echo [Niente]  - Q
		echo.
		
		choice /N /C:123Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 4 goto %TURNO%
		if errorlevel 3 goto ER_3
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 4 (
		echo.
		echo [Fire]    - 1
		echo [Ice]     - 2
		echo [Energia] - 3
		echo [Idro]    - 4
		echo [-]
		echo [-]
		echo [Niente]  - Q
		echo.
		
		choice /N /C:1234Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 5 goto %TURNO%
		if errorlevel 4 goto ER_4
		if errorlevel 3 goto ER_3
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 5 (
		echo.
		echo [Fire]    - 1
		echo [Ice]     - 2
		echo [Energia] - 3
		echo [Idro]    - 4
		echo [Thunder] - 5
		echo [-]
		echo [Niente]  - Q
		echo.
		
		choice /N /C:12345Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 6 goto %TURNO%
		if errorlevel 5 goto ER_5
		if errorlevel 4 goto ER_4
		if errorlevel 3 goto ER_3
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

	if %MAGIE% EQU 6 (
		echo.
		echo [Fire]    - 1
		echo [Ice]     - 2
		echo [Energia] - 3
		echo [Idro]    - 4
		echo [Thunder] - 5
		echo [Esna]    - 6
		echo [Niente]  - Q
		echo.
		
		choice /N /C:123456Q /M "Quale Magia vuoi usare?: "
		
		if errorlevel 7 goto %TURNO%
		if errorlevel 6 goto ER_6
		if errorlevel 5 goto ER_5
		if errorlevel 4 goto ER_4
		if errorlevel 3 goto ER_3
		if errorlevel 2 goto ER_2
		if errorlevel 1 goto ER_1
	)

:ER_1
	set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
	set /a HP_EN=%HP_EN%-%DAMAGE_M%
			
	echo Usi FIRE, infliggi: %DAMAGE_M%
			
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %DAMAGE_M% GEQ %HP_MAX_EN% (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (
		pause >nul
		goto %TURNO_EN%
	)

:ER_2
	set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
	set /a HP_EN=%HP_EN%-%DAMAGE_M%

	echo Usi ICE, infliggi: %DAMAGE_M%
		
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %DAMAGE_M% GEQ %HP_MAX_EN% (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (
		pause >nul
		goto %TURNO_EN%
	)

:ER_3
	set /a HP_RESTORED=%HP%+(%VAR_MAG%+%MAG%)

	if HP_RESTORED GEQ %HP_MAX% (
		set /a HP=%HP_MAX%
		echo Hai recuperato tutti gli HP.
		pause >nul
		goto %TURNO_EN%
	) else (
		set /a HP=%HP_RESTORED%
		echo Hai recuperato: %HP_RESTORED% HP
		pause >nul
		goto %TURNO_EN%
	)

:ER_4
	set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
	set /a HP_EN=%HP_EN%-%DAMAGE_M%

	echo Usi IDRO, infliggi: %DAMAGE_M%
	
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %DAMAGE_M% GEQ %HP_MAX_EN% (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (
		pause >nul
		goto %TURNO_EN%
	)

:ER_5
	set /a DAMAGE_M=%VAR_MAG%+%MAG%-%DIF_M_EN%
	set /a HP_EN=%HP_EN%-%DAMAGE_M%

	echo Usi THUNDER, infliggi: %DAMAGE_M%
	
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %DAMAGE_M% GEQ %HP_MAX_EN% (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (
		pause >nul
		goto %TURNO_EN%
	)

:ER_6
	if %ST_VELENO% EQU 1 (
		echo Usi Esna, Non sei piu' avvelenato.
		set /a ST_VELENO=0
		pause >nul
		goto %TURNO_EN%
	) else (
		echo Non succede nulla..
		pause >nul
		goto %TURNO_EN%
	)

:CALCOLO_EXP
	set /a EXP=%EXP%+%EXP_EN%
	echo Hai vinto: Guadagni %EXP_EN% EXP
	pause >nul
	
	if %LV% EQU 1 if %EXP% GEQ 10 (
		echo.
		echo Sei salito di livello.
		echo Livello 2 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+3
		set /a DIF=%DIF%+2
		set /a MAG=%MAG%+0
		set /a DIF_M=%DIF_M%+1
		set /a HP_MAX=%HP_MAX%+15
		set /a HP=%HP_MAX%+15
		set /a MAGIE=1
		set /a LV=2
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 2 if %EXP% GEQ 30 (
		echo.
		echo Sei salito di livello.
		echo Livello 3 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+1
		set /a DIF=%DIF%+1
		set /a MAG=%MAG%+2
		set /a DIF_M=%DIF_M%+1
		set /a HP_MAX=%HP_MAX%+20
		set /a HP=%HP_MAX%+20
		set /a MAGIE=2
		set /a LV=3
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 3 if %EXP% GEQ 50 (
		echo.
		echo Sei salito di livello.
		echo Livello 4 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+3
		set /a DIF=%DIF%+2
		set /a MAG=%MAG%+1
		set /a DIF_M=%DIF_M%+2
		set /a HP_MAX=%HP_MAX%+30
		set /a HP=%HP_MAX%+30
		set /a MAGIE=3
		set /a LV=4
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 4 if %EXP% GEQ 80 (
		echo.
		echo Sei salito di livello.
		echo Livello 5 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+1
		set /a DIF=%DIF%+3
		set /a MAG=%MAG%+3
		set /a DIF_M=%DIF_M%+1
		set /a HP_MAX=%HP_MAX%+34
		set /a HP=%HP_MAX%+34
		set /a MAGIE=4
		set /a LV=5
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 5 if %EXP% GEQ 115 (
		echo.
		echo Sei salito di livello.
		echo Livello 6 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+2
		set /a DIF=%DIF%+2
		set /a MAG=%MAG%+2
		set /a DIF_M=%DIF_M%+2
		set /a HP_MAX=%HP_MAX%+38
		set /a HP=%HP_MAX%+38
		set /a MAGIE=5
		set /a LV=6
		
		goto SAVE
	) else (
		goto SAVE
	)
	if %LV% LEQ 6 if %EXP% GEQ 150 (
		echo.
		echo Sei salito di livello.
		echo Livello 7 Raggiunto.
		pause >nul
		set /a ATT=%ATT%+3
		set /a DIF=%DIF%+4
		set /a MAG=%MAG%+3
		set /a DIF_M=%DIF_M%+4
		set /a HP_MAX=%HP_MAX%+45
		set /a HP=%HP_MAX%+45
		set /a MAGIE=6
		set /a LV=7
		
		goto SAVE
	) else (
		goto SAVE
	)

:ATTACCA
	set /a DAMAGE=(%VAR_ATT%+%ATT%+%EQUIP_ARM%)-%DIF_EN%
	
	if %COMBACT% EQU 1 (
		set /a HP_EN=%HP_EN%-%DAMAGE%
		echo Attacchi %NAME_EN%, infliggi: %DAMAGE%

		if !HP_EN! LEQ 0 (
			echo Lo %NAME_EN% e' morto.
			set /a END_COMBACT=1
			pause >nul
			goto CALCOLO_EXP
		)
			
		if !DAMAGE! GEQ %HP_MAX_EN% (
			echo Lo %NAME_EN% e' morto.
			set /a END_COMBACT=1
			pause >nul
			goto CALCOLO_EXP
		) else (
			pause >nul
			goto %TURNO_EN%
		)
	)
	
	if %COMBACT% EQU 2 (
		if %MID_COMBACT% EQU 0 (
			if %TAG% EQU 1 (
				set /a HP_EN=%HP_EN%-%DAMAGE%
				echo Attacchi %NAME_EN%, infliggi: %DAMAGE%
	
				if !HP_EN! LEQ 0 (
					echo Lo %NAME_EN% e' morto.
					set /a MID_COMBACT=1
				pause >nul
					goto COMBACT_2_ENEMY_NO2
				)
			
				if !DAMAGE! GEQ %HP_MAX_EN% (
					echo Lo %NAME_EN% e' morto.
					set /a MID_COMBACT=1
					pause >nul
					goto COMBACT_2_ENEMY_NO2
				) else (
					pause >nul
					goto COMBACT_2_ENEMY_NO1
				)
			)
		
			if %TAG% EQU 2 (
				set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
				echo Attacchi %NAME_EN_2%, infliggi: %DAMAGE%
	
				if !HP_EN_2! LEQ 0 (
					echo Lo %NAME_EN_2% e' morto.
					set /a MID_COMBACT=2
					pause >nul
					goto COMBACT_2_ENEMY_NO1
				)
			
				if !DAMAGE! GEQ %HP_MAX_EN_2% (
					echo Lo %NAME_EN_2% e' morto.
					set /a MID_COMBACT=2
					pause >nul
					goto COMBACT_2_ENEMY_NO1
				) else (
					pause >nul
					goto COMBACT_2_ENEMY_NO1
				)
			)
		)
		
		if %MID_COMBACT% EQU 1 (
			set /a HP_EN_2=%HP_EN_2%-%DAMAGE%
			echo Attacchi %NAME_EN_2%, infliggi: %DAMAGE%

			if !HP_EN_2! LEQ 0 (
				echo Lo %NAME_EN_2% e' morto.
				set /a END_COMBACT=1
				pause >nul
				goto CALCOLO_EXP
			)

			if !DAMAGE! GEQ %HP_MAX_EN_2% (
				echo Lo %NAME_EN_2% e' morto.
				set /a END_COMBACT=1
				pause >nul
				goto CALCOLO_EXP
			) else (
				pause >nul
				goto COMBACT_2_ENEMY_NO2
			)
		)

		if %MID_COMBACT% EQU 2 (
			set /a HP_EN=%HP_EN%-%DAMAGE%
			echo Attacchi %NAME_EN%, infliggi: %DAMAGE%

			if !HP_EN! LEQ 0 (
				echo Lo %NAME_EN% e' morto.
				set /a END_COMBACT=1
				pause >nul
				goto CALCOLO_EXP
			)

			if !DAMAGE! GEQ %HP_MAX_EN% (
				echo Lo %NAME_EN% e' morto.
				set /a END_COMBACT=1
				pause >nul
				goto CALCOLO_EXP
			) else (
				pause >nul
				goto COMBACT_2_ENEMY_NO1
			)
		)
	)

:COMBACT_1
	set /a FUGA=%RANDOM% %%100
	set /a VAR_ATT=%RANDOM% %%5
	set /a VAR_MAG=%RANDOM% %%5
	set /a ST_DEF=0
	set /a COMBACT=1
	
	cls

	call color.bat TUO#0a TURNO#0a
	echo.
	echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
	echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
	echo.
				
	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)

	if %HP_EN% LEQ 0 (
		echo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	) else (		
		choice /N /C:ADMF /M "[Attaca] [Difendi] [Magie] [Fuggi]

		if errorlevel 4 (
			echo Tenti la fugga
			if %FUGA% GEQ 50 (
				echo Sei riuscito a fuggire.
				pause >nul
				goto %AMBIENTE%
			) else (
				echo Non riesci a scappare.
				pause >nul
				goto %TURNO_EN%
			)
		)
	
		if errorlevel 3 (
			if %MAGIE% EQU 0 (
				echo Non hai nessuna Magia.
				pause >nul
				goto %TURNO%
			)
			if %MAGIE% GEQ 1 goto MENU_MAGIE
		)
	
		if errorlevel 2 (
			echo Difendi
			set /a ST_DEF=1
			pause >nul
			goto %TURNO_EN%
		)
		
		if errorlevel 1 goto ATTACCA
	)

:COMBACT_1_ENEMY
	set /a VELENO=%RANDOM% %%100
	set /a VAR_DAMAGE=%RANDOM% %%4

	if %ST_DEF% EQU 0 (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
	) else (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
	)
	
	if %DAMAGE_EN% LEQ 0 (
		set /a DAMAGE_EN=0
	)
				
	cls

	call color.bat TURNO#0a %NAME_EN%#0a
	echo.
	echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
	echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
	echo.
	echo Lo %NAME_EN% ti attacca.
	echo Infligge: %DAMAGE_EN%
				
	set /a HP=%HP%-%DAMAGE_EN%
				
	if %HP_EN% LEQ 0 (
		echo Lo %NAME_EN% e' morto.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
			
	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)

	if %DAMAGE_EN% GEQ %HP_MAX% (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	) else (
		if %ST_VELENO% EQU 0 (
			if %VELENO% GEQ 75 (
				echo.
				echo Sei stato avvelenato.
				echo Perdi: %HP_LOSE% HP
				set /a HP=%HP%-3
				set /a ST_VELENO=1
				if %HP% LEQ 0 (
					echo.
					echo ... Sei morto.
					pause >nul
					goto END
				) else (
					pause >nul
					goto %TURNO%
				)
			) else (
				pause >nul
				goto %TURNO%
			)
		) else (
			echo Perdi: %HP_LOSE% HP
			set /a HP=%HP%-3
			if %HP% LEQ 0 (
				echo.
				echo ... Sei morto.
				pause >nul
				goto END
			) else (
				pause >nul
				goto %TURNO%
			)
		)
	)

:COMBACT_2
	set /a FUGA=%RANDOM% %%100
	set /a VAR_ATT=%RANDOM% %%5
	set /a VAR_MAG=%RANDOM% %%5
	set /a ST_DEF=0
	set /a COMBACT=2
	
	if %MID_COMBACT% EQU 0 (
		set TURNO_EN=COMBACT_2_ENEMY_NO1
	)
	
	if %MID_COMBACT% EQU 1 (
		set TURNO_EN=COMBACT_2_ENEMY_NO2
	)
	
	if %MID_COMBACT% EQU 2 (
		set TURNO_EN=COMBACT_2_ENEMY_NO1
	)

	cls
	call color.bat TUO#0a TURNO#0a
	echo.
	
	if %MID_COMBACT% EQU 0 (
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	)
	
	if %MID_COMBACT% EQU 1 (
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> Morto.
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	)
	
	if %MID_COMBACT% EQU 2 (
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> Morto.
		echo.
	)
	
	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)
		
	if %HP_EN% LEQ 0 if %HP_EN_2% LEQ 0 (
		echo Gli zombie sono morti.
		set /a END_COMBACT=1
		pause >nul
		goto CALCOLO_EXP
	)
	
		if %MID_COMBACT% EQU 0 (
			choice /N /C:12 /M "Chi vuoi attaccare? [1] %NAME_EN%, [2] %NAME_EN_2%
			
			if errorlevel 2 (
				set /a TAG=2
				goto FINE_TARGET
			)
			
			if errorlevel 1 (
				set /a TAG=1
				goto FINE_TARGET
			)
		)
		
		if %MID_COMBACT% EQU 1 (
			set /a TAG=2
		)
		
		if %MID_COMBACT% EQU 2 (
			set /a TAG=1
		)
		
		:FINE_TARGET
		echo.
		choice /N /C:ADMF /M "[Attaca] [Difendi] [Magie] [Fuggi]

		if errorlevel 4 (
			echo Tenti la fugga
			if %FUGA% GEQ 50 (
				echo Sei riuscito a fuggire.
				pause >nul
				goto %AMBIENTE%
			) else (
				echo Non riesci a scappare.
				pause >nul
				goto %TURNO_EN%
			)
		)
	
		if errorlevel 3 (
			if %MAGIE% EQU 0 (
				echo Non hai nessuna Magia.
				pause >nul
				goto %TURNO%
			)
			if %MAGIE% GEQ 1 goto MENU_MAGIE
		)
	
		if errorlevel 2 (
			echo Difendi
			set /a ST_DEF=1
			pause >nul
			goto %TURNO_EN%
		)
		
		if errorlevel 1 goto ATTACCA

:COMBACT_2_ENEMY_NO1
	set /a VELENO=%RANDOM% %%100
	set /a VAR_DAMAGE=%RANDOM% %%4

	if %ST_DEF% EQU 0 (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
	) else (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
	)
	
	if %DAMAGE_EN% LEQ 0 (
		set /a DAMAGE_EN=0
	)

	if %MID_COMBACT% EQU 2 (
		cls
		call color.bat TURNO#0a %NAME_EN%#0a
		echo.
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> Morto.
		echo.
	) else (
		cls
		call color.bat TURNO#0a %NAME_EN%#0a
		echo.
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	)
	
	echo Lo %NAME_EN% ti attacca.
	echo Infligge: %DAMAGE_EN%

	set /a HP=%HP%-%DAMAGE_EN%

	if %MID_COMBACT% EQU 0 (
		if %HP_EN% LEQ 0 (
			echo Lo %NAME_EN% e' morto.
			set /a MID_COMBACT=1
			pause >nul
			goto COMBACT_2_ENEMY_NO2
		)
	)
	
	if %MID_COMBACT% EQU 2 (
		if %HP_EN% LEQ 0 (
			echo Lo %NAME_EN% e' morto.
			set /a END_COMBACT=1
			pause >nul
			goto CALCOLO_EXP
		)
	)

	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)

	if %DAMAGE_EN% GEQ %HP_MAX% (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	) else (
		if %ST_VELENO% EQU 0 (
			if %VELENO% GEQ 75 (
				echo.
				echo Sei stato avvelenato.
				echo Perdi: %HP_LOSE% HP
				set /a HP=%HP%-3
				set /a ST_VELENO=1
				if %HP% LEQ 0 (
					echo.
					echo ... Sei morto.
					pause >nul
					goto END
				) else (
					pause >nul
					if %MID_COMBACT% EQU 0 (
						goto COMBACT_2_ENEMY_NO2
					) else (
						goto %TURNO%
					)
				)
			) else (
				pause >nul
				if %MID_COMBACT% EQU 0 (
					goto COMBACT_2_ENEMY_NO2
				) else (
					goto %TURNO%
				)
			)
		) else (
			echo Perdi: %HP_LOSE% HP
			set /a HP=%HP%-3
			if %HP% LEQ 0 (
				echo.
				echo ... Sei morto.
				pause >nul
				goto END
			) else (
				pause >nul
				if %MID_COMBACT% EQU 0 (
					goto COMBACT_2_ENEMY_NO2
				) else (
					goto %TURNO%
				)
			)
		)
	)

:COMBACT_2_ENEMY_NO2
	set /a VELENO=%RANDOM% %%100
	set /a VAR_DAMAGE=%RANDOM% %%4

	if %ST_DEF% EQU 0 (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-%DIF%
	) else (
		set /a DAMAGE_EN=%VAR_DAMAGE%+%ATT_EN%-(%DIF%+%EQUIP_CORPO%)
	)
	
	if %DAMAGE_EN% LEQ 0 (
		set /a DAMAGE_EN=0
	)

	if %MID_COMBACT% EQU 1 (
		cls
		call color.bat TURNO#0a %NAME_EN_2%#0a
		echo.
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> Morto.
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	) else (
		cls
		call color.bat TURNO#0a %NAME_EN_2%#0a
		echo.
		echo "%NAME% -> HP: %HP%/%HP_MAX% | ATT: %ATT% | DIF: %DIF% | MAG: %MAG% | |DIF_M: %DIF_M% | EXP: %EXP% | LV: %LV%"
		echo "%NAME_EN% -> HP: %HP_EN%/%HP_MAX_EN% | ATT: %ATT_EN% | DIF: %DIF_EN% | MAG: %MAG_EN% | DIF_M: %DIF_M_EN%"
		echo "%NAME_EN_2% -> HP: %HP_EN_2%/%HP_MAX_EN_2% | ATT: %ATT_EN_2% | DIF: %DIF_EN_2% | MAG: %MAG_EN_2% | DIF_M: %DIF_M_EN_2%"
		echo.
	)
	
	echo Lo %NAME_EN_2% ti attacca.
	echo Infligge: %DAMAGE_EN%

	set /a HP=%HP%-%DAMAGE_EN%

	if %MID_COMBACT% EQU 0 (
		if %HP_EN_2% LEQ 0 (
			echo Lo %NAME_EN_2% e' morto.
			set /a MID_COMBACT=2
			pause >nul
			goto COMBACT_2_ENEMY_NO1
		)
	)
	
	if %MID_COMBACT% EQU 1 (
		if %HP_EN_2% LEQ 0 (
			echo Lo %NAME_EN_2% e' morto.
			set /a END_COMBACT=1
			pause >nul
			goto CALCOLO_EXP
		)
	)

	if %HP% LEQ 0 (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	)

	if %DAMAGE_EN% GEQ %HP_MAX% (
		echo.
		echo ... Sei morto.
		pause >nul
		goto END
	) else (
		if %ST_VELENO% EQU 0 (
			if %VELENO% GEQ 75 (
				echo.
				echo Sei stato avvelenato.
				echo Perdi: %HP_LOSE% HP
				set /a HP=%HP%-3
				set /a ST_VELENO=1
				if %HP% LEQ 0 (
					echo.
					echo ... Sei morto.
					pause >nul
					goto END
				) else (
					pause >nul
					goto %TURNO%
				)
			) else (
				pause >nul
				goto %TURNO%
			)
		) else (
			echo Perdi: %HP_LOSE% HP
			set /a HP=%HP%-3
			if %HP% LEQ 0 (
				echo.
				echo ... Sei morto.
				pause >nul
				goto END
			) else (
				pause >nul
				goto %TURNO%
			)
		)
	)

:END
echo FINE PROGRAMMAZIONE
pause >nul
exit



color.bat:

Code: Select all

@echo off
Setlocal EnableDelayedExpansion
REM setlocal enableextensions

set dstdir=c:\tmpColorDirtoDelete
IF EXIST %dstdir% goto errExist
@mkdir %dstdir%
@cd %dstdir%
set count=0

REM DEFINISCO IL CARATTERE BACKSPACE!
set "$Defines=$BS"    & set "$Details=Create $ESC Ascii-0x1B-27, Expansion insensitive"
   for /f "delims=#" %%a in (

      '"prompt #$H# &echo on &for %%b in (1) do rem"'

   ) do (
      set "%$Defines%=%%a"
      set "%$Defines%=!$BS:~0,1!"
   )


FOR %%a IN (%*) DO (
 FOR /F "usebackq delims=# tokens=1,*" %%b IN ('%%a') DO (
    REM echo %%b sara' di colore %%c
    set /A count=!count!+1
    set nomefile=%%b
    IF %%c.==. (
        set colore=03
    ) ELSE (
    set colore=%%c
    )
    REM SET /P ".=" %%b
    SET /P ".=%$BS% " <nul >%%b
    REM echo !count!>%%b
    REM echo FINDSTR /A:%%c /C:"!count!" /S "%%b"
    REM more %%b
 )
 REM FINE INNER FOR
    REM echo FINDSTR /A:!colore! /C:"!count!" /S "!nomefile!"
    FINDSTR /A:!colore! /C:" " /S "!nomefile!"
    REM goto end
)
REM FINE OUTER FOR
echo.




REM ERROR HANDLING
goto chiusura
:errExist
echo La directory temporanea %dstdir% esiste già. Rimuoverla prima di continuare o cambiare il percorso nel batch.
goto pulizia

:chiusura

:pulizia
cd..
rd /S /Q %dstdir%
goto end

:end

Post Reply