hex
: square ( --) \ define sprite pattern 0 as a solid square
data 4 $FFFF $FFFF $FFFF $FFFF 100 DCHAR ;
decimal
\ define colours:
8 constant red
15 constant white
5 constant blue
11 constant yellow
1 constant black
: init ( -- )
1 gmode \ 32 column mode
black screen \ black screen
0 magnify \ single 8x8 sprites
square \ define the sprite pattern
\ set up the 4 sprites:
( sprite 0) 0 100 100 0 red sprite
( sprite 1) 1 110 100 0 white sprite
( sprite 2) 2 120 100 0 blue sprite
( sprite 3) 3 130 100 0 yellow sprite
\ now define the movement vectors:
( sprite 0) 0 0 1 sprvec
( sprite 1) 1 0 2 sprvec
( sprite 2) 2 0 3 sprvec
( sprite 3) 3 0 4 sprvec ;
: delay ( n -- ) \ delay loop
0 do loop ;
: moveSprites ( -- ) \ move the sprites 256 times
init \ initialise the sprites
256 0 do
0 4 sprmov
500 delay \ we need a delay otherwise its just a blur!
loop ;
movesprites
|