HEX 8FFF SP! 022F CONSTANT SDMCTL 026F CONSTANT GPRIOR D000 CONSTANT HPOS0 D01D CONSTANT GRACTL D407 CONSTANT PMBASE 230 CONSTANT SDLSTL D40B CONSTANT VCOUNT A000 CONSTANT SCREEN0 BF60 CONSTANT SCREEN1 02C0 CONSTANT PCOLR0 02C4 CONSTANT COLOR0 02C5 CONSTANT COLOR1 02C6 CONSTANT COLOR2 02C8 CONSTANT COLOR4 0278 CONSTANT STICK0 D004 CONSTANT P0PF D01E CONSTANT HITCLR VARIABLE XPOS VARIABLE YPOS VARIABLE TESTXY VARIABLE MILLI VARIABLE ODLIST VARIABLE COLOR0O VARIABLE COLOR1O VARIABLE COLOR2O VARIABLE COLOR4O VARIABLE ZC VARIABLE ZZ VARIABLE ZA VARIABLE ZA1 VARIABLE DLIST -2 ALLOT 70 C, 70 C, 70 C, 4D C, SCREEN0 , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D0D , 0D C, 42 C, SCREEN1 , 0202 , 02 , 41 C, DLIST , VARIABLE SPRITE0 9 ALLOT FF SPRITE0 C! 81 SPRITE0 1 + C! 81 SPRITE0 2 + C! 81 SPRITE0 3 + C! 81 SPRITE0 4 + C! 81 SPRITE0 5 + C! 81 SPRITE0 6 + C! 81 SPRITE0 7 + C! FF SPRITE0 8 + C! : GCLS SCREEN0 C80 0 FILL ; : READ-DAT SCREEN0 C80 SOURCE-ID @ READ-FILE SOURCE-ID @ CLOSE-FILE ; : INCLUDED-DAT SOURCE-ID @ >R R/O OPEN-FILE DUP $80 < IF DROP SOURCE-ID ! READ-DAT ELSE ." FEHLER:" . ABORT THEN R> SOURCE-ID ! ; : FILE-DAT" FNBUF $50 BL FILL HERE $50 BL FILL ASCII " WORD COUNT FNBUF SWAP CMOVE FNBUF 0 INCLUDED-DAT ; : FILE-DAT FNBUF $50 BL FILL " D:MULBI.BIN" COUNT FNBUF SWAP CMOVE FNBUF 0 INCLUDED-DAT ; : INITPM SDMCTL C@ 1C OR SDMCTL C! 3 GRACTL C! 1 GPRIOR C! 90 PMBASE C! ; : DELAY ZZ @ 0 DO LOOP ; : PM0POS 9400 FF 0 FILL SPRITE0 9400 YPOS C@ + 9 MOVE XPOS C@ HPOS0 C! DELAY ; : BEWEGE PAGE ZA1 ! BEGIN FF ZZ ! STICK0 C@ DUP 0E = IF YPOS C@ 1 - YPOS C! 1 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN DUP 0D = IF YPOS C@ 1 + YPOS C! 2 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN DUP 07 = IF XPOS C@ 1 + XPOS C! 3 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN 0B = IF XPOS C@ 1 - XPOS C! 4 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN P0PF C@ 0 > IF 500 ZZ ! TESTXY C@ 1 = IF YPOS C@ 4 + YPOS C! 1 ZC @ + ZC ! PM0POS THEN TESTXY C@ 2 = IF YPOS C@ 4 - YPOS C! 1 ZC @ + ZC ! PM0POS THEN TESTXY C@ 3 = IF XPOS C@ 4 - XPOS C! 1 ZC @ + ZC ! PM0POS THEN TESTXY C@ 4 = IF XPOS C@ 4 + XPOS C! 1 ZC @ + ZC ! PM0POS THEN THEN ZC @ A = IF ZA1 @ ZA ! THEN 1 HITCLR C! 0 TESTXY C! ZA @ ZA1 @ = UNTIL 0 ZC ! 0 ZA ! 0 ZA1 ! PAGE ." wegpunkte/colli erreicht ! " CR ; : INIT INITPM 70 PCOLR0 C! 0C COLOR4 C! DLIST SDLSTL ! 4 2BF C! FILE-DAT 32 DUP XPOS C! YPOS C! PM0POS 0 ZC ! 0 ZA ! 0 ZA1 ! DECIMAl ;