0 VARIABLE KA
0 VARIABLE K
0 VARIABLE JB
0 VARIABLE JA
0 VARIABLE IL
0 VARIABLE IA
0 VARIABLE SEED
0 VARIABLE TM


: CARPET
   BEGIN
      KA @ 40 * 20 + K !
      BEGIN
         16777215 RND DUP JB !  ( r,g,b)
         JA @ <>
      UNTIL
      JB @ JA !
      ( 3 JA @ GCOL2)
      3 0 
      JA @ DUP 16 >> SWAP DUP 8 >> 255 AND ROT 255 AND
      GCOL   ( 32-bit colour fudge)
      K @ 4/ NEGATE IA !
      BEGIN
         IA @ 4* IL !
         K @ IL @ MOVE
         K @ NEGATE IL @ NEGATE DRAW
         IL @ K @ NEGATE MOVE
         IL @ NEGATE K @ DRAW
         1 IA +! 
         IA @ K @ 4/ >
      UNTIL
      -1 KA +!
      KA @ 3 <
   UNTIL
   TIME TM @ - TM !
   ." Press Any Key"
   KEY DROP
   CR ." Time was " TM ? ." centiseconds" CR 
   ;

: carloop
   BEGIN
      CARPET
      KEY
      32 =
   UNTIL
   WIMPS
   ;

: CAR
   ( NOWIMPS)
   ( 13 MODE)
   NOWIMPS   ( fullscreen_std)
   TIME DUP TM ! 255 AND SEED !
   1280 1024 ORIGIN
   12 KA !
   carloop
;


