Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ZXB errores mios de sintaxis o incompatible con SinclairBas?
#11
Bien, gracias @LCD. Ahora no solo funciona este codigo, sino que gracias a:
Code:
dim x , y , x , blablabla as uinteger
(declarar las variables como enteros) logre hacer funcionar cerca de 6 rutinas que no estaban trabajando Big Grin

Aqui dejo mi codigo
Code:
'-----------------------------------------
'         EXPLOSION (prueba)
'
'    cargar explosionATTR.bin en 62000
'-----------------------------------------
dim ymalo,xmalo,d,q,expd,pijota,codi,cod as Uinteger

600    LET ymalo=130
    LET xmalo=140

3000     BORDER 0
    CLS
    LET expd=62000
    LET pijota=22528
    
3010    '
    FOR d=(0+ymalo) to (9+ymalo)
3060    FOR q=(0+xmalo) to (6+xmalo)
    LET cod=pijota+(32*(d-128))+(q-128)
    LET codi= PEEK expd
    IF d > 127 AND d < 152 AND q > 127 AND q < 160 THEN
        POKE cod,codi
    END IF
3085    LET expd=expd+1
3086    NEXT q
3088    NEXT d

    LET X$=INKEY$
    IF X$="q" AND ymalo > 118 THEN
        IF ymalo >118 THEN
            PRINT AT ymalo-119,xmalo-128;"       "
        END IF
        LET ymalo=ymalo-1
    END IF
    IF X$="a" AND ymalo < 152 THEN
        IF ymalo < 152 THEN
            PRINT AT ymalo-128,xmalo-128;"       "
        END IF
        LET ymalo=ymalo+1
    END IF
    IF X$="o" AND xmalo > 120 THEN
        IF xmalo < 154 THEN
            FOR d = 0 to 9
                IF ymalo +d >127 AND ymalo +d < 152 THEN
                    PRINT AT ymalo+d-128,xmalo+6-128;" "
                END IF
            NEXT d
        END IF
        LET xmalo=xmalo-1
    END IF
    IF X$="p" AND xmalo < 160 THEN
        IF xmalo > 127 THEN
            FOR d = 0 to 9
                IF ymalo +d >127 AND ymalo +d < 152 THEN
                    PRINT AT ymalo+d-128,xmalo-128;" "
                END IF
            NEXT d
        END IF
        LET xmalo=xmalo+1
    END IF
3099    IF expd > 63050 THEN
        GOTO 3000
    END IF

    
3100    GOTO 3010

...y u respectivo archivo:http://www.mediafire.com/?zzjclem28762neq
la pelicula se puede mover con las teclas "o","p","q"."a"
MUY AGRADECIDO SI ALGUIEN ME PUEDE CORREGIR EN EL ANTERIOR PARA OPTIMIZAR RECURSOS.

Valga la redundancia, ya no tengo numeros negativos definiendo las variables como enteros, por lo que me vi obligado a trabajar con numeros altos y luego restar en el momento de imprimir: IF ymalo +d >127... PRINT AT ymalo+d-128,xmalo-128...

- Esto hace que me surja la siguiente pregunta: como hago para utilizar numeros negativos (y que me funcione el codigo)??

Tambien necesito saber como hago para utilizar los numeros que estan despues de la coma en una variable, por ej: LET a= a + 0.02
- Como hago para que una variable soporte este tipo de valores?

- Como hago para hacer etiquetas con nombres para las SUB-rutinas asi no depender del engorroso numero de linea del spectrum basic?

-Hay alguna forma de PGINAR EN 128K desde el ZX BORIEL sin tener que recurrir al assembler? las paginaciones tienen que ser siempre de a 16kb? o puedo paginar en la direccion de memoria que se me antoje y con una longitud de 192bytes por ej?
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)