← EGFX function index

EGFX · FUNCTION 20ALPHA · USE AT YOUR OWN RISK

SNAKE_STEP

Move a sprite snake.

Moves the selected snake head and updates its history.

The snake draws through COMPACT_SPRITE (37).

Parameters

NameOrderDescription
ID8Snake ID.
HEAD X9–10Signed head X.
HEAD Y11–12Signed head Y.

BASIC example

Tested listing: snake-demo.bas.

5 REM Disk-defined sprites; two independent head-following snakes. Q quits.
10 MODE 1:HIMEM=&2400
20 PROCeginit:PROCegloadsprites("SPRITES",6)
30 PROCegsnake(0,12,2,0,1,2):PROCegsnake(1,8,1,3,3,3):t%=0
40 REPEAT
50 PROCegsnakestep(0,150+90*SIN(t%/10),100+60*COS(t%/10))
60 PROCegsnakestep(1,150+70*SIN(t%/13),120+70*COS(t%/13))
70 PROCegbegin:PROCegsnakedraw(0):PROCegsnakedraw(1):PROCegpresent
80 t%=(t%+1) MOD 256
90 UNTIL INKEY(0)=81
100 MODE 7:END

Assembly example

        JSR init_egfx
        JSR begin_frame
        LDA #20 : JSR eg_call
        JSR present_frame
        RTS
EGFX 20-snake_step
EGFX diagram showing the data flow for this function.

← Function index