CMD

CMD
Las publicaciones en este blog estan exclusivamente redactadas por los autores, excepto citas. Todos los codigos aqui indicados han sido previamente probados

viernes, 21 de noviembre de 2014

Tutorial 1.2 - Juego de preguntas

Buenas! En este post les traemos la segunda parte del tutorial sobre como hacer un juego. En esta parte veremos como comenzar, utilizando el comando "choice" mencionado aqui. Para la segunda parte del juego, utilizaremos el comando "set /p". Esto quiere decir que en los primeros diez niveles el jugador elegirá una opción de una lista, y en los cinco niveles restantes (mas difíciles) el jugador deberá escribir la respuesta. Igualmente, se pueden hacer mas o menos niveles. Comenzaremos con las preguntas. Las palabras pintadas en rojo son las que se pueden cambiar, las demas las dejamos tal como estan.
Aclaración: este codigo va debajo del que esta en el tutorial anterior, solo que debemos borrar el ultimo "pause" y "exit"
En este codigo tambien se utilizan labels (:preg1, etc...), que definen una serie de codigos, y el comando "goto", que nos permite "ir de label a label".

:start
set respuestascorrectas=0
set vidas=10
set nivel=1
:preg1
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:bien
cls
set /a nivel=%nivel%+1
set /a respuestascorrectas=%respuestascorrectas%+1
if %nivel%==1 goto preg2
if %nivel%==2 goto preg3
if %nivel%==3 goto preg4
if %nivel%==4 goto preg5
if %nivel%==5 goto preg6
if %nivel%==6 goto preg7
if %nivel%==7 goto preg8
if %nivel%==8 goto preg9
if %nivel%==9 goto preg10
if %nivel%==10 goto setppart
:mal
cls
if %vidas%==1 goto perdiste
set /a vidas=%vidas%-1
if %nivel%==1 goto preg1
if %nivel%==2 goto preg2
if %nivel%==3 goto preg3
if %nivel%==4 goto preg4
if %nivel%==5 goto preg5
if %nivel%==6 goto preg6
if %nivel%==7 goto preg7
if %nivel%==8 goto preg8
if %nivel%==9 goto preg9
if %nivel%==10 goto preg10
:preg2
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg3
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg4
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg5
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg6
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg7
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg8
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg9
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:preg10
echo Respuestas correctas: %respuestascorrectas%
echo Vidas: %vidas%
echo Nivel %nivel%
echo Pregunta
echo. Las opciones son
echo. 1)opcion1
echo. 2)opcion2
echo. 3)opcion3
echo. 4)opcion4
choice /C 1234 /N
if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal
:perdiste
cls
echo Perdiste en el nivel %nivel%
echo Presione una tecla para volver al menu
pause > nul
cls
goto start
:setppart
echo. En el tutorial 1.3 se explicara esta parte
echo. Presione una tecla para salir
pause > nul
exit
Este código parece muy largo y complejo, pero de complejo no tiene nada. Esta compuesto por varios labels iguales a los que se les cambian el texto y respuestas correctas, y representan cada uno un nivel. Los otros labels son para pasar de nivel y sumar o restar vidas/niveles
Aclaración: En este codigo, todas las respuestas correctas son la numero 1, pero esto se puede cambiar modificando la parte que dice
"if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto mal
if %errorlevel%==4 goto mal"
intercambiando de renglones el "goto bien" y "goto mal", como por ejemplo
"if %errorlevel%==1 goto mal
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto bien
if %errorlevel%==4 goto mal"
En este codigo, la respuesta correcta es la 3. Para que una o mas respuestas sean correctas, lo que se debe hacer es decirle al programa que vaya a bien al ingresar ese numero. Ejemplo de dos respuestas correctas:
"if %errorlevel%==1 goto bien
if %errorlevel%==2 goto mal
if %errorlevel%==3 goto bien
if %errorlevel%==4 goto mal" 
en el renglon que dice "if %errorlevel%=numerodepreguntacorrecta se debe poner goto bien (despues de este codigo) y si la respuesta es incorrecta, el codigo funciona a la inversa.
Lo que hace el label "bien" en este código es ir al nivel siguiente y sumar una respuesta correcta. Lo que hace el "mal" es restar una vida
En el siguiente tutorial explicaremos cómo crear la parte más difícil, la del set/p, en la que el jugador debe escribir su respuesta. Más adelante todavía explicaremos como crear usuarios y guardar los puntajes. Cualquier cosa comenten.
El codigo de este post fue actualizado. En caso de tenerlo desde antes del 21/11 17:00 (hora de argentina), borrarlo y copiarlo nuevamente

jueves, 20 de noviembre de 2014

Tutorial 1.1 - Juego de preguntas

Hola, en esta entrada les traemos la primera parte de la serie de tutoriales en el que mostraremos como crear un simple juego en el que se debe responder correctamente una serie de preguntas. Este juego contará con un contador de respuestas correctas/incorrectas, tabla de puntaje y jugadores. En este primer tutorial crearemos el archivo bat, utilizando algunos de los comandos básicos que se encuentran aqui, ademas de los colores, que están aqui.
Empecemos
@echo off
title Juego de Preguntas
color 1f
pause
exit
Aquí hemos utilizado un comando no explicado previamente, "title". Este comando lo que hace es darle un nombre a la ventana de CMD en la que estamos.
Siguiente parte en tutorial 1.2

Colores en cmd

¿Como poner colores en cmd?

Es simple, solo hay que usar el comando color de la siguiente forma:

color FL

F:
Color de fondo

L:
Color de letra

El primer carácter cambiara el color del fondo y el segundo el de la letra, sin embargo, si solo se escribe un carácter cambiara el color de la letra.

caracteres para cada color:

0 = Negro
1 = Azul
2 = Verde
3 = Aguamarina 
4 = Rojo
5 = Purpura 
6 = Amarillo
7 = Blanco
8 = Gris
9 = Azul claro
A = Verde claro
B = Aguamarina claro
C = Rojo claro
D = Purpura claro
E = Amarillo claro
F = Blanco brillante


Ejemplos de uso:

color 9f

Cambiaría el color del fondo a azul claro y el de la letra a blanco brillante

color 46

Cambiaría el color del fondo a rojo y el de la letra a amarillo

miércoles, 19 de noviembre de 2014

Crear archivos y carpetas desde cmd

Crear archivos y carpetas en cmd, es muy facil y muy útil, ya que solo se necesita un comando:

Para crear un archivo:

echo t >> n.e

t:
Texto que aparecera en la primera linea del archivo
n:
Nombre del archivo
e:
extensión del archivo 

Recuerde que si no quiere crear el archivo dentro de la carpeta donde se ubica el cmd que en el que usted introduce este comando, debe colocar la ubicación del mismo antes del nombre.

Ejemplo

echo esto es una prueba >> carpeta\prueba.txt

También recuerde que no debe poner espacios en el nombre o no se guardara el nombre completo ni la extensión.

Para crear una carpeta:

mkdir a

a:
Nombre de la carpeta

Recuerde que si no quiere crear la carpeta dentro la carpeta donde se ubica el cmd que en el que usted introduce este comando, debe colocar la ubicación de la misma antes del nombre.

Ejemplo

mkdir carpeta




Notepad ++

Este notepad es el más recomendado para programar con cmd ya que su configuración de lenguaje permite saber si colocamos bien un código o no.
Link de descarga: https://drive.google.com/file/d/0B22zzXQh-F8xS2V5VFFaUHp3aEk/view?usp=sharing
Aclaración: este programa no es nuestro, solamente lo recomendamos. Acá esta la pagina oficial