Quick Basic 4.5 – Capítulo 08 – dibujar con mouse y teclado
1. Introducción
La captura de entrada del mouse y el teclado permite interactuar con las aplicaciones de manera más intuitiva. En QuickBASIC 4.5, puedes capturar la entrada del usuario para controlar gráficos y crear aplicaciones interactivas.
2. Configuración del Mouse y Teclado
Para capturar la entrada del mouse y el teclado, primero debes habilitarlos utilizando los comandos MOUSE ON
y KEY ON
. Por ejemplo:
MOUSE ON
KEY ON
Estos comandos activarán la captura de entrada del mouse y el teclado, respectivamente.
3. Captura de Entrada del Teclado
Puedes capturar la entrada del teclado utilizando el comando INKEY$
. Por ejemplo:
DO
key$ = INKEY$
IF key$ = "w" THEN
' Código para mover hacia arriba
ELSE IF key$ = "s" THEN
' Código para mover hacia abajo
END IF
LOOP UNTIL key$ = CHR$(27) ' Salir con la tecla Esc
4. Captura de Entrada del Mouse
La captura de entrada del mouse se logra utilizando los comandos MOUSEX
y MOUSEY
para obtener las coordenadas del cursor del mouse, y MOUSEB
para obtener el estado de los botones. Por ejemplo:
DO
x = MOUSEX
y = MOUSEY
button = MOUSEB
IF button = 1 THEN
' Código para hacer algo cuando se presiona el botón izquierdo
END IF
LOOP UNTIL INKEY$ = CHR$(27) ' Salir con la tecla Esc
5. Integrando la Captura de Entrada con Gráficos
Puedes combinar la captura de entrada del mouse y el teclado con los comandos gráficos de QuickBASIC para crear aplicaciones interactivas. Por ejemplo:
SCREEN 12
MOUSE ON
KEY ON
x = 320
y = 240
DO
CLS
CIRCLE (x, y), 20, QBColor(14)
key$ = INKEY$
IF key$ = "w" THEN
y = y - 5
ELSE IF key$ = "s" THEN
y = y + 5
END IF
x = MOUSEX
y = MOUSEY
LOOP UNTIL key$ = CHR$(27)
6. Ejercicios Resueltos
Ejercicio 1: Dibujar y Mover un Punto con el Teclado
SCREEN 12
MOUSE ON
KEY ON
x = 320
y = 240
DO
CLS
PSET (x, y), QBColor(14)
key$ = INKEY$
IF key$ = "w" THEN
y = y - 5
ELSE IF key$ = "s" THEN
y = y + 5
ELSE IF key$ = "a" THEN
x = x - 5
ELSE IF key$ = "d" THEN
x = x + 5
END IF
LOOP UNTIL key$ = CHR$(27)
Ejercicio 2: Juego de Memoria con el Mouse
SCREEN 12
MOUSE ON
KEY ON
DIM SHARED cartas(15)
DIM SHARED volteadas(15)
FOR i = 0 TO 15
cartas(i) = INT(RND * 8) + 1
NEXT i
DIM SHARED x1, y1, x2, y2
DO
CLS
FOR i = 0 TO 15
IF NOT volteadas(i) THEN
LINE (i * 40, 0)-(i * 40 + 40, 80), QBColor(15), BF
IF MOUSEB = 1 THEN
IF MOUSEX > i * 40 AND MOUSEX < i * 40 + 40 AND MOUSEY > 0 AND MOUSEY < 80 THEN
IF x1 = -1 THEN
x1 = i
y1 = cartas(i)
ELSE IF x2 = -1 THEN
x2 = i
y2 = cartas(i)
END IF
END IF
END IF
ELSE
PRINT cartas(i); (i * 40 + 20, 40)
END IF
NEXT i
IF x1 > -1 AND x2 > -1 THEN
IF y1 = y2 THEN
volteadas(x1) = -1
volteadas(x2) = -1
END IF
x1 = -1
x2 = -1
END IF
LOOP UNTIL INKEY$ = CHR$(27)
7. Conclusiones
En este capítulo, exploramos cómo capturar la entrada del mouse y el teclado para controlar gráficos en QuickBASIC 4.5. Aprendiste a configurar el mouse y el teclado, capturar la entrada, y cómo integrar la interacción del usuario con gráficos.