Saludos,
Este script lo hice hoy, como en 15 o 20 minutos más o menos. Lo hice, con el fin de enseñarle a mi hermanito a sumar y restar
. El resultado salió mejor de lo que esperaba de hecho.
Lo posteo para que los que se inician en Batch, puedan estudiar el código y entender más de esto.
Modificado:
1. Contador de intentos.
2. Registra los puntos e intentos en un .txt.
3. Pide nombre para guardarlo.
Learning.batLearning v1.5.bat@Echo Off
@Title -= Learning v1.5=- - .:Xx4NG3LxX:.
@Mode 31,25
@Color 1B
::::::::::::::::::::::::::::
:: Programa para fomentar ::
:: el aprendizaje ::
:: infantil ::
::::::::::::::::::::::::::::
Set /A "Points=0"
Set /A "Tries=0"
:Label
Cls
Echo+
Set /P "Kid=Nombre >>> "
If Not Defined Kid (Goto :Label)
:Inicio : Inicio del programa...
Cls
Echo+
Echo+ +---------------------------+
Echo+ ^| Learning v1.5 ^|
Echo+ +---------------------------+
Echo+
Echo+ Menu Principal
Echo+
Echo+ 1. Empezar !
Echo+ 2. Salir
Choice /C:12 /N >NUL
REM IF's ErrorLevel's
If "%ErrorLevel%" Equ "2" (Goto :Eof)
:Begin : Empieza el juego...
Color 1B
If "%Points%" Equ "10" (Goto :Win)
Cls
Call :Nums
Echo+
Echo+ Puntos: %Points%
Echo+
Echo+ Intentos: %Tries%
Echo+ ----------------------
Echo+ Operacion:
Echo+
Echo+ %n1% %Signo% %n2%
Echo+
Set "Ans="
Set /P "Ans=>>> "
If Not Defined Ans (Goto :Begin)
If /I "%Ans%"=="X" (Exit)
If "%Ans%" Equ "%Ope%" (Goto :Ok) Else (Goto :No)
:Nums
Set /A "n1=(%Random% %% 11)"
Set /A "n2=(%Random% %% 11)"
Set /A "NSigno=(%Random% %% 2)"
Set "Signo=+-"
Call Set "Signo=%%Signo:~%NSigno%,1%%"
Set /A "Ope=%n1%%Signo%%n2%"
If "%Ope:~0,1%"=="-" (Call :Nums)
Goto :Eof
:Ok
Color 2F
Echo+
Echo+ Excelente !
Set /A "Points+=1"
Set /A "Tries+=1"
Ping -n 2 LocalHost >Nul
Goto :Begin
:No
Color 4e
Echo+
Echo+ Lo siento :(
Set /A "Points-=1"
Set /A "Tries+=1"
Ping -n 2 LocalHost >Nul
Goto :Begin
:Win
Cls
Color 2F
Echo+
Echo+ Has Ganado el Juego !
Echo+ Felicidades
Pause>Nul
(
Echo %Kid%
Echo+
Echo Puntos: %Points%
Echo Intentos: %Tries%
Echo+
Echo+
)>>%Kid%_Wins.txt
Exit
Edito: Mejor? ><