Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: .:Xx4NG3LxX:. en 21 Abril 2020, 01:08 AM

Título: [BATCH] Pequeño script para estudiarlo [ACTUALIZADO]
Publicado por: .:Xx4NG3LxX:. en 21 Abril 2020, 01:08 AM
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 :P :P . 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.bat
Learning v1.5.bat

Código (Bash) [Seleccionar]

@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? ><
Título: Re: [BATCH] Pequeño script para estudiarlo [ACTUALIZADO]
Publicado por: danihopera en 21 Abril 2020, 18:40 PM
Excelente. Me lo guardo para cacharrear. Muchas gracias.  ;-)
Título: Re: [BATCH] Pequeño script para estudiarlo [ACTUALIZADO]
Publicado por: .:Xx4NG3LxX:. en 21 Abril 2020, 19:14 PM
Cita de: danihopera en 21 Abril 2020, 18:40 PM
Excelente. Me lo guardo para cacharrear. Muchas gracias.  ;-)

Jaja, no hay de qué.... Aun así como está, es mejorable...
Título: Re: [BATCH] Pequeño script para estudiarlo [ACTUALIZADO]
Publicado por: @XSStringManolo en 22 Abril 2020, 01:47 AM
Si quitas las etiquetas quote del código y en las etiquetas code le pones =DOS se ve mucho mejor. Yo personalmente le pondría =Bash que es como mejor se ve. Así si alguien quiere comentarte algo del código puede usar los números como guía.


code=DOS
Código (DOS) [Seleccionar]

@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



code=Bash
Código (Bash) [Seleccionar]
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