size = 35
sw = 11
sh = 25
piece(0,0,0)=0: piece(0,1,0)=1: piece(0,2,0)=0
piece(0,0,1)=0: piece(0,1,1)=1: piece(0,2,1)=0
piece(0,0,2)=0: piece(0,1,2)=1: piece(0,2,2)=0
piece(0,0,3)=0: piece(0,1,3)=1: piece(0,2,3)=0
piece(0,0,4)=0: piece(0,1,4)=1: piece(0,2,4)=0
piece(1,0,0)=0: piece(1,1,0)=0: piece(1,2,0)=0
piece(1,0,1)=0: piece(1,1,1)=0: piece(1,2,1)=0
piece(1,0,2)=0: piece(1,1,2)=1: piece(1,2,2)=1
piece(1,0,3)=1: piece(1,1,3)=1: piece(1,2,3)=0
piece(1,0,4)=0: piece(1,1,4)=1: piece(1,2,4)=0
piece(2,0,0)=0: piece(2,1,0)=0: piece(2,2,0)=0
piece(2,0,1)=0: piece(2,1,1)=0: piece(2,2,1)=0
piece(2,0,2)=1: piece(2,1,2)=1: piece(2,2,2)=0
piece(2,0,3)=0: piece(2,1,3)=1: piece(2,2,3)=1
piece(2,0,4)=0: piece(2,1,4)=1: piece(2,2,4)=0
piece(3,0,0)=0: piece(3,1,0)=0: piece(3,2,0)=0
piece(3,0,1)=0: piece(3,1,1)=1: piece(3,2,1)=0
piece(3,0,2)=0: piece(3,1,2)=1: piece(3,2,2)=0
piece(3,0,3)=0: piece(3,1,3)=1: piece(3,2,3)=0
piece(3,0,4)=1: piece(3,1,4)=1: piece(3,2,4)=0
piece(4,0,0)=0: piece(4,1,0)=0: piece(4,2,0)=0
piece(4,0,1)=0: piece(4,1,1)=1: piece(4,2,1)=0
piece(4,0,2)=0: piece(4,1,2)=1: piece(4,2,2)=0
piece(4,0,3)=0: piece(4,1,3)=1: piece(4,2,3)=0
piece(4,0,4)=0: piece(4,1,4)=1: piece(4,2,4)=1
piece(5,0,0)=0: piece(5,1,0)=0: piece(5,2,0)=0
piece(5,0,1)=0: piece(5,1,1)=0: piece(5,2,1)=0
piece(5,0,2)=1: piece(5,1,2)=1: piece(5,2,2)=0
piece(5,0,3)=1: piece(5,1,3)=1: piece(5,2,3)=0
piece(5,0,4)=0: piece(5,1,4)=1: piece(5,2,4)=0
piece(6,0,0)=0: piece(6,1,0)=0: piece(6,2,0)=0
piece(6,0,1)=0: piece(6,1,1)=0: piece(6,2,1)=0
piece(6,0,2)=0: piece(6,1,2)=1: piece(6,2,2)=1
piece(6,0,3)=0: piece(6,1,3)=1: piece(6,2,3)=1
piece(6,0,4)=0: piece(6,1,4)=1: piece(6,2,4)=0
piece(7,0,0)=0: piece(7,1,0)=0: piece(7,2,0)=0
piece(7,0,1)=0: piece(7,1,1)=1: piece(7,2,1)=0
piece(7,0,2)=0: piece(7,1,2)=1: piece(7,2,2)=0
piece(7,0,3)=1: piece(7,1,3)=1: piece(7,2,3)=0
piece(7,0,4)=1: piece(7,1,4)=0: piece(7,2,4)=0
piece(8,0,0)=0: piece(8,1,0)=0: piece(8,2,0)=0
piece(8,0,1)=0: piece(8,1,1)=1: piece(8,2,1)=0
piece(8,0,2)=0: piece(8,1,2)=1: piece(8,2,2)=0
piece(8,0,3)=0: piece(8,1,3)=1: piece(8,2,3)=1
piece(8,0,4)=0: piece(8,1,4)=0: piece(8,2,4)=1
piece(9,0,0)=0: piece(9,1,0)=0: piece(9,2,0)=0
piece(9,0,1)=0: piece(9,1,1)=0: piece(9,2,1)=0
piece(9,0,2)=1: piece(9,1,2)=1: piece(9,2,2)=1
piece(9,0,3)=0: piece(9,1,3)=1: piece(9,2,3)=0
piece(9,0,4)=0: piece(9,1,4)=1: piece(9,2,4)=0
piece(10,0,0)=0: piece(10,1,0)=0: piece(10,2,0)=0
piece(10,0,1)=0: piece(10,1,1)=0: piece(10,2,1)=0
piece(10,0,2)=0: piece(10,1,2)=0: piece(10,2,2)=0
piece(10,0,3)=1: piece(10,1,3)=0: piece(10,2,3)=1
piece(10,0,4)=1: piece(10,1,4)=1: piece(10,2,4)=1
piece(11,0,0)=0: piece(11,1,0)=0: piece(11,2,0)=0
piece(11,0,1)=0: piece(11,1,1)=0: piece(11,2,1)=0
piece(11,0,2)=0: piece(11,1,2)=0: piece(11,2,2)=1
piece(11,0,3)=0: piece(11,1,3)=0: piece(11,2,3)=1
piece(11,0,4)=1: piece(11,1,4)=1: piece(11,2,4)=1
piece(12,0,0)=0: piece(12,1,0)=0: piece(12,2,0)=0
piece(12,0,1)=0: piece(12,1,1)=0: piece(12,2,1)=0
piece(12,0,2)=0: piece(12,1,2)=0: piece(12,2,2)=1
piece(12,0,3)=0: piece(12,1,3)=1: piece(12,2,3)=1
piece(12,0,4)=1: piece(12,1,4)=1: piece(12,2,4)=0
piece(13,0,0)=0: piece(13,1,0)=0: piece(13,2,0)=0
piece(13,0,1)=0: piece(13,1,1)=0: piece(13,2,1)=0
piece(13,0,2)=0: piece(13,1,2)=1: piece(13,2,2)=0
piece(13,0,3)=1: piece(13,1,3)=1: piece(13,2,3)=1
piece(13,0,4)=0: piece(13,1,4)=1: piece(13,2,4)=0
piece(14,0,0)=0: piece(14,1,0)=0: piece(14,2,0)=0
piece(14,0,1)=0: piece(14,1,1)=1: piece(14,2,1)=0
piece(14,0,2)=1: piece(14,1,2)=1: piece(14,2,2)=0
piece(14,0,3)=0: piece(14,1,3)=1: piece(14,2,3)=0
piece(14,0,4)=0: piece(14,1,4)=1: piece(14,2,4)=0
piece(15,0,0)=0: piece(15,1,0)=0: piece(15,2,0)=0
piece(15,0,1)=0: piece(15,1,1)=1: piece(15,2,1)=0
piece(15,0,2)=0: piece(15,1,2)=1: piece(15,2,2)=1
piece(15,0,3)=0: piece(15,1,3)=1: piece(15,2,3)=0
piece(15,0,4)=0: piece(15,1,4)=1: piece(15,2,4)=0
piece(16,0,0)=0: piece(16,1,0)=0: piece(16,2,0)=0
piece(16,0,1)=0: piece(16,1,1)=0: piece(16,2,1)=0
piece(16,0,2)=0: piece(16,1,2)=1: piece(16,2,2)=1
piece(16,0,3)=0: piece(16,1,3)=1: piece(16,2,3)=0
piece(16,0,4)=1: piece(16,1,4)=1: piece(16,2,4)=0
piece(17,0,0)=0: piece(17,1,0)=0: piece(17,2,0)=0
piece(17,0,1)=0: piece(17,1,1)=0: piece(17,2,1)=0
piece(17,0,2)=1: piece(17,1,2)=1: piece(17,2,2)=0
piece(17,0,3)=0: piece(17,1,3)=1: piece(17,2,3)=0
piece(17,0,4)=0: piece(17,1,4)=1: piece(17,2,4)=1
piece_color
(0) = _rgb(255,0,0)piece_color
(1) = _rgb(255,145,0)piece_color
(2) = _rgb(255,200,211)piece_color
(3) = _rgb(0,255,220)piece_color
(4) = _rgb(0,230,255)piece_color
(5) = _rgb(0,170,10)piece_color
(6) = _rgb(0,250,20)piece_color
(7) = _rgb(128,230,0)piece_color
(8) = _rgb(80,150,0)piece_color
(9) = _rgb(0,200,0)piece_color
(10) = _rgb(50,160,170)piece_color
(11) = _rgb(50,110,175)piece_color
(12) = _rgb(50,50,175)piece_color
(13) = _rgb(110,50,175)piece_color
(14) = _rgb(210,0,255)piece_color
(15) = _rgb(110,0,130)piece_color
(16) = _rgb(255,0,140)piece_color
(17) = _rgb(170,0,100)
redraw = -1
speed = 2
lines = 0
pause = 0
putpiece = 0
startx = (sw - 4)/2
px = startx
py = -2
rot = 0
if valid
(pn
, px
, py
+ 1, rot
) then py
= py
+ 1 else putpiece
= -1
redraw = -1
if valid
(pn
, px
, py
, rot
) then n = place(pn, px, py, rot)
lines = lines + n
px = startx
py = -2
rot = 0
putpiece = 0
redraw = -1
board(x, y) = 0
lines = 0
line (0,0)-(sw
*size
, sh
*size
),_rgb(0,0,0),bf
line (x
*size
, y
*size
)-step(size
-2, size
-2), piece_color
(board
(x
, y
)-1), bf
line (x
*size
, y
*size
)-step(size
-2, size
-2), _rgb(50,50,50), b
rotate xx, yy, x, y, pn, rot
if piece
(pn
, x
, y
) then line ((px
+ xx
)*size
, (py
+ yy
)*size
)-step(size
-2, size
-2), piece_color
(pn
), bf
redraw = 0
if valid
(pn
, px
, py
, (rot
+ 1) mod 4) then rot
= (rot
+ 1) mod 4 pause = 0
px = px - xx + 1
if valid
(pn
, px
- 1, py
, rot
) then px
= px
- 1 pause = 0
px = xx - 1
if valid
(pn
, px
+ 1, py
, rot
) then px
= px
+ 1 pause = 0
py = yy - 1
putpiece = -1
if valid
(pn
, px
, py
+ 1, rot
) then py
= py
+ 1 pause = 0
board(x, y) = 0
px = startx
py = -2
rot = 0
putpiece = 0
lines = 0
speed = speed + 1
speed = speed - 1
redraw = -1
sub rotate
(xx
, yy
, x
, y
, pn
, rot
) rot_new = rot
xx = x
yy = y
xx = y - 1
yy = 3 - x
xx = y - 1
yy = 3 - x
xx = y - 2
yy = 4 - x
xx = 2 - x
yy = 4 - y
xx = 2 - x
yy = 6 - y
xx = 3 - y
yy = x + 1
xx = 4 - y
yy = x + 2
rotate xx, yy, x, y, pn, rot
if (px
+ xx
>= sw
) or (px
+ xx
< 0) then valid = 0
valid = 0
'if (py >= 0) then
if board
(px
+ xx
, py
+ yy
) then valid = 0
'end if
valid = -1
lines = 0
rotate xx, yy, x, y, pn, rot
if py
+ yy
>= 0 then if piece
(pn
, x
, y
) then board
(px
+ xx
, py
+ yy
) = pn
+ 1
'clear lines
clr = -1
clr = 0
lines = lines + 1
board(x, yy) = board(x, yy-1)
place = lines