Entradas

Mostrando entradas de 2026

Caza Tesoros: mi primer juego en BASIC para ZX Spectrum (con DIM incluido)

Llevo un tiempo trasteando con el BASIC del Spectrum y hoy quiero compartir un pequeño proyecto que sirve, de paso, como excusa perfecta para explicar una de las sentencias más útiles del lenguaje: DIM. La idea Caza Tesoros es justo lo que promete: un jugador (O) se mueve por una cuadrícula de 20x30 casillas buscando 10 tesoros (*) escondidos al azar, mientras esquiva a tres enemigos (X) que se desplazan de forma aleatoria. Si te pillan, pierdes; si recoges los 10 tesoros, ganas. Al final, tu puntuación puede entrar en una tabla de récords con nombre incluido. Nada del otro mundo en cuanto a jugabilidad, pero es un ejercicio perfecto para tocar varios conceptos clásicos del BASIC de Spectrum: bucles, INKEY$, BEEP, y sobre todo, arrays con DIM. ¿Por qué DIM? DIM reserva memoria para una variable con múltiples elementos, en vez de tener que declarar una variable suelta por cada dato. En este juego lo uso de tres formas distintas: DIM t(20,30) — el mapa del tesoro. Cada casilla vale...

Tutorial de la sentencia DIM

Cuando programamos en el Sinclair BASIC de nuestro querido ZX Spectrum, pronto descubrimos que las variables individuales (como A o B$) se quedan cortas para proyectos complejos. Si estás diseñando un mapa para un juego, una lista de puntuaciones máximas o un inventario, necesitas matrices (también llamadas arrays). Para crearlas y reservar su espacio en la memoria del Spectrum, se utiliza la sentencia DIM. En este tutorial aprenderás cómo funciona, sus reglas estrictas y cómo aplicarla en tus propios programas. 1. ¿Qué es DIM y para qué sirve? La palabra DIM proviene de Dimension (Dimensionar). Su función principal es decirle al Spectrum: "Reserva un bloque de memoria para una lista o tabla de datos que voy a utilizar". A diferencia de las variables normales, que se crean automáticamente cuando les asignas un valor (como LET a = 5), las matrices obligatoriamente deben declararse con DIM antes de usarse. Si intentas acceder a una matriz que no ha sido dimensionada, el Spectru...