Hola, soy nuevo, y no muy avanzado en batch, le podríais echar un vistazo al code? No se donde esta el fallo, a ver si alguien lo descubre xDD
@echo off
title PingPong
:menu
echo Introducir la puntuacion del Jugador 1
set /p p1=
echo Introducir la puntuacion del Jugador 2
set /p p2=
set /a punt=p1+p2
set /a op1=punt/2
set /a op2=op1*2
set /a res=punt-op2
if res=0(
echo Toca cambiar de saque
pause
) else (
echo No toca cambiar de saque
pause
)
exit
Hola, el fallo lo tienes al comprar y en la variable.
-Para cargar una variable tienes que ponerla asi "%variable% y para comprar has uesto "=" y tienes que poner "==". Te dejo el codigo un poco cambiado para que funcione:
@echo off
title PingPong
:menu
echo Introducir la puntuacion del Jugador 1
set /p p1=
echo Introducir la puntuacion del Jugador 2
set /p p2=
set /a punt=p1+p2
set /a op1=punt/2
set /a op2=op1*2
set /a res=punt-op2
if %res%==0 goto c
if %res% NEQ 0 goto incorrecto
:incorrecto
echo No toca cambiar de saque
pause
exit
:c
echo Toca cambiar de saque
pause
exit
Saludos
Mmm, estás seguro de que así funciona??
Mira, usaste:
.
.
.
set /a punt=p1+p2
set /a op1=punt/2
set /a op2=op1*2
set /a res=punt-op2
.
.
.
y en la parte derecha de las expresiones aritméticas tenías que usar %% en las variables que querés que se reemplacen por su valor, o sea, la primer línea:
set /a punt=%p1%+%p2%
Y otra cosa, las expresiónes de las strings a comparar en una if se ponen entre corchetes, así ésta línea te quedaría:
if [%res%]==[0] goto c
En fin, tu código mejorado quedaría:
@echo off
title PingPong
:menu
echo Introducir la puntuacion del Jugador 1
set /p p1=
echo Introducir la puntuacion del Jugador 2
set /p p2=
set /a punt=%p1%+%p2%
set /a op1=%punt%/2
set /a op2=%op1%*2
set /a res=%punt%-op2
if [%res%]==[0] goto c
if %res% NEQ 0 goto incorrecto
:incorrecto
echo No toca cambiar de saque
pause
exit
:c
echo Toca cambiar de saque
pause
exit
No lo probé por falta de ganas, pero me la paso el dia escribiendo bats así que creo que eso está correcto.
Hola, tienes razon no me di cuenta, pero aun asi lo prove y funciona.
Saludos