Juegos fáciles de programar en QBasic para principiantes

BASIC (Beginner's All-Purpose Symbolic Instruction Code) sigue siendo el lenguaje más conocido para principiantes absolutos, y QBasic es un intérprete simple para escribir y ejecutar programas. Hay una comunidad considerable de aficionados a QBasic, y aprender a hacer juegos enseña fundamentos de programación y es muy divertido.

Primeros pasos con QBasic

Si no tiene QBasic, descargue la versión original en Pete's QB Site (ver Recursos) o QB64, versión reciente compatible. Al abrirlo verá una pantalla azul. Escriba:

CLS
PRINT "¡Hola, mundo!"
INPUT "¿Cómo te llamas? "; nombre$
PRINT "¡Hola, "; nombre$; "!"
END

Pulse Shift+F5 para ejecutar. Qué ocurre:

  • CLS = "clear screen", limpia la pantalla.
  • PRINT imprime texto en pantalla. Si imprime un número, no necesita comillas.
  • INPUT pide entrada al usuario. nombre$ es una variable donde se guarda la respuesta. Variables de texto terminan en $, numéricas en %.
  • El segundo PRINT muestra texto junto con la entrada del usuario.
  • END termina el programa.

Juego de adivinar número en QBasic

Ingrese este código:

CLS
intentos% = 1
RANDOMIZE TIMER
numero% = INT(RND * 10) + 1
PRINT "Pienso un número del 1 al 10. Tienes 3 oportunidades."

DO WHILE intentos% < 4
  PRINT
  PRINT "Estás en oportunidad #"; intentos%; "."
  INPUT "Adivina el número: "; intento%
  IF intento% = numero% THEN GOTO ganaste
  ELSEIF intento% < numero% THEN PRINT "Muy bajo."
  ELSEIF intento% > numero% THEN PRINT "Muy alto."
  ELSE PRINT "Error. Intenta de nuevo."
  END IF
  intentos% = intentos% + 1
LOOP

PRINT
PRINT "¡Se acabaron las oportunidades! Lo siento."
END

ganaste:
PRINT
PRINT "¡Adivinaste! El número era"; numero%; "!"
END

El programa genera un número aleatorio 1-10 y da 3 oportunidades con pistas. Incluye muchos conceptos de programación.

intentos% = 1 crea variable numérica y la inicia en 1. RANDOMIZE TIMER es el método de QBasic para aleatorizar. numero% = INT(RND * 10) + 1 crea número 1-10 guardado en numero%. El +1 evita 0-9.

DO WHILE intentos% < 4 crea bucle hasta que intentos% ya no sea <4. Pide intento con INPUT, lo guarda en intento% y lo procesa con IF...THEN...ELSE. GOTO ganaste salta a la etiqueta si acierta. intentos% = intentos% + 1 incrementa contador. Si el bucle termina sin acertar, muestra mensaje de pérdida. La sección ganaste: se declara con nombre y dos puntos.

Más ideas de juegos

Con PRINT, INPUT, IF...THEN...ELSE y GOTO tiene lo necesario para una aventura de texto simple. Ejemplo:

casa:
INPUT "Estás en una casa. ¿Qué haces? "; eleccion$
IF eleccion$ = "subir" THEN GOTO arriba ELSE GOTO casa

Intente hacerlo tan complejo como pueda. En la web hay descargas gratuitas de juegos QBasic; júguelos y examine el código para aprender técnicas e ideas.