"Lights Out" - Based on the game by Tiger Electronics.  20,26 ( 29,18;2; 2 128 < F Global variables. P board%(4,4) ZplayerX%=2 dplayerY%=2 nlastFlash%= x:   Fetch the puzzle data.  puzzle%  puzzle%=-1  puzzle%<>-1  Set up the game board. _initBoard(puzzle%) 1 Main game loop - wait until cellCount% = 0.  k%=_waitGameKeyFlash " k% 1 playerY%=playerY%-1 " k% 2 playerY%=playerY%+1 " k% 4 playerX%=playerX%-1 " k% 8 playerX%=playerX%+1 : " playerX%=5 playerX%=0 , playerX%=-1 playerX%=4 6 playerY%=5 playerY%=0 @ playerY%=-1 playerY%=4 J: .T k% 16 _pressCell(playerX%,playerY%) ^ cellCount%=0 h r |:  _drawCell(x%,y%)  127  x%*12,y%*12  97,10,10  board%(x%,y%)  0  x%*12+1,y%*12+1  97,8,8  :  _flashCell(x%,y%)  -lastFlash%<20 lastFlash%=  4,0  x%*12+2,y%*12+2  97,6,6 & 0: : _getGameKey Dr%=0 N (-58) r%=r% 1 X (-42) r%=r% 2 b (-26) r%=r% 4 l (-122) r%=r% 8 v (-74) r%=r% 16 =r% :  _waitGameKeyFlash  "_flashCell(playerX%,playerY%)  _getGameKey=0 r%=0  "_flashCell(playerX%,playerY%) r%=_getGameKey  r% !_drawCell(playerX%,playerY%) =r% :   _invertCell(x%,y%) # x%<0 x%>4 y%<0 y%>4 ! board%(x%,y%)= board%(x%,y%) G* board%(x%,y%) cellCount%=cellCount%+1 cellCount%=cellCount%-1 4_drawCell(x%,y%) > H: R _pressCell(x%,y%) \*REFRESH OFF f_invertCell(x%,y%) p_invertCell(x%+1,y%) z_invertCell(x%-1,y%) _invertCell(x%,y%+1) _invertCell(x%,y%-1) *REFRESH ON  :  _initBoard(puzzle%) *REFRESH OFF cellCount%=0  y=0 4  x=0 4 board%(x,y)=-(puzzle% 1) 'cellCount%=cellCount%+(puzzle% 1) puzzle%=puzzle%/2 _drawCell(x,y)  x  y $*REFRESH ON . 8: B Level data. L &5400 V &15A82B5 ` &ADEF6A j &D823B t &1EEF47B ~ &56AA  &23C2CF  &10C3107  &10848E5  &EA73DF  &CC4007  &47E1E4  &14F5AFD  &4742CF  &8653DF  &CD5E4F  &6C00  &10851C3  &1E8C63E  &C199DF  &42934D  &1E50027 ( &B89BAF 2 &1A238A7 < &FFB884 F &A8808A P &15519B5 Z &D33253 d &E22BEE n &BE1726 x &1AD404  &1B2009F  &A24322  &1E49701  &E8B9CE  &13CD  &1007111  &8E56B5  &1557D5B  &E508AA  -1