Hola, hace poco que he descubierto este compilador y me parece
GENIAL.
Resulta que hace poco me dio por terminar un programa que empecé hace 24 años en basic y que nunca acabé. Empecé hacerlo con un emulador usando el basic original, hasta que encontré este compilador ... que ENORME DIFERENCIA DE VELOCIDAD.
Todo iba fenomenal hasta que me he topado con un problema, a ver si alguien puede ayudarme, llevo varios dias dandome cabezazos con este asunto:
Creo una matriz de 13 x 4 y asigno sus valores:
Código: Seleccionar todo
9715 DIM p1(12,3) AS UBYTE => {{1,1,6,11},{1,1,9,4},{1,1,13,6},{1,2,8,13},{1,2,12,8},{1,3,8,14},{1,3,11,6},{1,4,5,5},{1,4,12,14},{1,5,4,5},{1,6,12,18},{1,7,4,10},{1,7,8,16}}
Luego quiero leer datos de esa matriz si se cumplen determinadas condiciones (si "x" e "y" coinciden con determinados valores de la matriz, entonces dibuja en coordenadas que tambien son datos de esa matriz.)
Código: Seleccionar todo
9007 FOR n=0 TO 12
9008 IF p1(n,0)=x AND p1(n,1)=y THEN PRINT INK 4;AT p1(n,2),p1(n,3);"\e\f"; INK 2;AT p1(n,2)+1,p1(n,3);"\g\h": END IF
9009 NEXT n
Al intentar compilar , ( zxb siete.bas -T -B -a ), sale un mensaje de error diciendome que p1, la matriz, es una función, no una variable ???? cuando no está definida como función:
ocho.bas:215: identifier 'p1' is a function, not a varNo lo entiendo, con el Basic del propio ZX Spectrum esa sentencias funcionan.
MUCHAS GRACIAS.