L O C A L   v e r : = " 1 . 5   b e t a " , f n : = " t t r s f " ; 
 
 L O C A L   b : = { { 4 , 1 , 1 , 1 , 2 , 2 , 1 , 2 , 2 , 1 . 5 , 1 . 5 , # F F 0 0 0 0 h } , { 4 , 1 , 1 , 1 , 2 , 2 , 2 , 3 , 2 , 2 , 2 , # F F 8 0 0 0 h } , { 4 , 3 , 1 , 1 , 2 , 2 , 2 , 3 , 2 , 2 , 2 , # F F F F 0 0 h } , { 4 , 1 , 1 , 2 , 1 , 3 , 1 , 4 , 1 , 2 , 1 , # 0 0 F F 0 0 h } , { 4 , 1 , 1 , 2 , 1 , 2 , 2 , 3 , 2 , 2 , 1 , # 0 0 F F F F h } , { 4 , 3 , 1 , 2 , 1 , 2 , 2 , 1 , 2 , 2 , 2 , # 0 0 0 0 F F h } , { 4 , 2 , 1 , 1 , 2 , 2 , 2 , 3 , 2 , 2 , 2 , # F F 0 0 F F h } } ; 
 
 L O C A L   s x : = 1 6 5 , s y : = 5 , a : = 1 2 , s p : = 2 , n x : = 5 0 , n y : = 1 0 0 , s c x : = 5 0 , s c y : = 5 0 ; 
 
 L O C A L   f t : = 5 0 0 , d t : = 5 0 0 , r t : = 5 0 0 , h : = 1 6 , w : = 1 0 , l c d t : = 1 0 0 ; 
 
 
 
 L O C A L   t b : = { { } } , d a t : = [ [ 0 ] ] ; 
 
 L O C A L   x , y , t t , n t , d s t , f s t , m s : = 0 , s c o r e ; 
 
 L O C A L   t r , l c , l c t , n r ; 
 
 
 
 / / b : = { n , x 1 , x 2 , . . . , r x , r y , c l r } 
 
 / / t b : = { { n , p 1 , p 2 , p 3 , p 4 , c l r } , . . . } 
 
 / / p : = { { x 1 , y 1 } , { x 2 , y 2 } , . . . } 
 
 
 
 L O C A L   r s t ( ) 
 
 B E G I N 
 
   M S G B O X ( " B a d   s a v e f i l e . " ) ; 
 
   / / C A S ( U F A C T O R ( 1 0 0 _ C , 1 _ A ) ) ; 
 
 E N D ; 
 
 
 
 L O C A L   g t m a t ( x ) 
 
 B E G I N 
 
   L O C A L   t : = [ [ 0 ] ] , i , j ; 
 
   I F   T Y P E ( x ) = = 0   T H E N   R E T U R N   - 1 ; E N D ; 
 
   F O R   i   F R O M   1   T O   w   D O 
 
     F O R   j   F R O M   1   T O   h   D O 
 
       t [ i , j ] : = x [ i ] ; 
 
     E N D ; 
 
   E N D ; 
 
   R E T U R N   t ;   
 
 E N D ; 
 
 
 
 L O C A L   g t n u m ( x ) 
 
 B E G I N 
 
   L O C A L   t : = { } , i , j ; 
 
   I F   T Y P E ( x ) = = 0   T H E N   R E T U R N   - 1 ; E N D ; 
 
   F O R   i   F R O M   1   T O   w   D O 
 
     t [ i ] : = 0 ; 
 
     F O R   j   F R O M   h   D O W N T O   1   D O 
 
       t [ i ] : = 2 * ( t [ i ] + x [ i , j ] ) ; 
 
     E N D ; 
 
   E N D ; 
 
   R E T U R N   t ;   
 
 E N D ; 
 
 
 
 L O C A L   l o a d ( ) 
 
 B E G I N 
 
   I F   N O T   P O S ( N o t e s , f n )   T H E N 
 
     R E T U R N   0 ; 
 
   E N D ; 
 
   L O C A L   s t r : = N o t e s ( f n ) , n , i , t , f l a g , n o i n f o ; 
 
   L O C A L   I , J , K ; 
 
   F O R   i   F R O M   1   T O   D I M ( s t r ) - 2   D O 
 
     n : = n + i * s t r [ i ] ; 
 
     s t r [ i ] : = B I T X O R ( s t r [ i ] , s t r [ D I M ( s t r ) - 1 ] ) ; 
 
   E N D ; 
 
   f l a g : = 0 ; 
 
   I F   n   M O D   2 5 5 + 1 = = s t r [ D I M ( s t r ) ]   T H E N 
 
     t : = E X P R ( L E F T ( s t r , D I M ( s t r ) - 2 ) ) ; 
 
     s c o r e : = t [ 1 ] ; m s : = t [ 2 ] ; d a t : = t [ 3 ] ; 
 
     t t : = t [ 4 ] ; n t : = t [ 5 ] ; t r : = t [ 6 ] ; n r : = t [ 7 ] ; 
 
     x : = t [ 8 ] ; y : = t [ 9 ] ; 
 
     I F   T Y P E ( d a t ) = = 4   T H E N 
 
       R E T U R N   1 ; 
 
     E L S E 
 
       R E T U R N   0 ; 
 
     E N D ; 
 
   E N D ; 
 
   r s t ( ) ; 
 
   R E T U R N   0 ;   
 
 E N D ; 
 
 
 
 L O C A L   s a v e ( ) 
 
 B E G I N 
 
   L O C A L   s t r , i , n , t ; 
 
   n : = 0 ; 
 
   R E P E A T 
 
     s t r : = S T R I N G ( { s c o r e , m s , d a t , t t , n t , t r , n r , x , y } ) ; 
 
     t : = R A N D I N T ( 1 , 2 5 5 ) ; 
 
     F O R   i   F R O M   1   T O   D I M ( s t r )   D O 
 
       s t r [ i ] : = B I T X O R ( s t r [ i ] , t ) ; 
 
       I F   s t r [ i ] = = 0   T H E N 
 
         C O N T I N U E   2 ; 
 
       E N D ; 
 
       n : = n + i * s t r [ i ] ; 
 
     E N D ; 
 
     B R E A K ; 
 
   U N T I L   0 ; 
 
   N o t e s ( f n ) : = s t r + C H A R ( { t , n   M O D   2 5 5 + 1 } ) ;   
 
 E N D ; 
 
 
 
 L O C A L   R E C T _ A ( G R O B , x , y , a , b , c ) 
 
 B E G I N 
 
   R E C T _ P ( G R O B , x , y , x + a - 1 , y + b - 1 , c ) ; 
 
 E N D ; 
 
   
 
 L O C A L   g d t ( x , y ) 
 
 B E G I N 
 
   I F   x < 1   O R   y < 1   O R   x > w   O R   y > h   T H E N 
 
     R E T U R N   - 1 ; 
 
   E L S E 
 
     R E T U R N   d a t [ x , y ] ; 
 
   E N D ;   
 
 E N D ; 
 
 
 
 L O C A L   m o v e l ( ) 
 
 B E G I N 
 
   L O C A L   i ; 
 
   F O R   i   F R O M   1   T O   t b [ t t , 1 ]   D O 
 
     I F   g d t ( x + t b [ t t , t r + 1 , i , 1 ] - 1 , y + t b [ t t , t r + 1 , i , 2 ] )   T H E N 
 
       R E T U R N   0 ; 
 
     E N D ; 
 
   E N D ; 
 
   x : = x - 1 ;   
 
 E N D ; 
 
 
 
 L O C A L   m o v e r ( ) 
 
 B E G I N 
 
   L O C A L   i ; 
 
   F O R   i   F R O M   1   T O   t b [ t t , 1 ]   D O 
 
     I F   g d t ( x + t b [ t t , t r + 1 , i , 1 ] + 1 , y + t b [ t t , t r + 1 , i , 2 ] )   T H E N 
 
       R E T U R N   0 ; 
 
     E N D ; 
 
   E N D ; 
 
   x : = x + 1 ;   
 
 E N D ; 
 
 
 
 L O C A L   r o t ( ) 
 
 B E G I N 
 
   L O C A L   i , t r t : = t r   M O D   4 + 1 ; 
 
   F O R   i   F R O M   1   T O   t b [ t t , 1 ]   D O 
 
     I F   g d t ( x + t b [ t t , t r t + 1 , i , 1 ] , y + t b [ t t , t r t + 1 , i , 2 ] )   T H E N 
 
       R E T U R N   0 ; 
 
     E N D ; 
 
   E N D ; 
 
   t r : = t r t ; 
 
 E N D ; 
 
 
 
 L O C A L   r n d ( ) 
 
 B E G I N 
 
   t t : = n t ; t r : = n r ; 
 
   n t : = R A N D I N T ( 1 , S I Z E ( b ) ) ; 
 
   n r : = R A N D I N T ( 1 , 4 ) ; 
 
   f s t : = - 1 ; d s t : = T I C K S ( ) ; 
 
   x : = F L O O R ( w / 2 ) ; y : = - 1 ; 
 
 E N D ; 
 
   
 
 L O C A L   i n i t ( x ) 
 
 B E G I N 
 
   L O C A L   n : = S I Z E ( b ) , t , j , n p , r x , r y , x 0 , y 0 ; 
 
   L O C A L   i ; 
 
   D I M G R O B _ P ( G 1 , 3 2 0 , 2 4 0 ) ; 
 
   D I M G R O B _ P ( G 2 , ( a + s p ) * w - 1 , ( a + s p ) * h - 1 ) ; 
 
   D I M G R O B _ P ( G 3 , ( a + s p ) * w - 1 , ( a + s p ) * h - 1 ) ; 
 
   F O R   i   F R O M   1   T O   n   D O 
 
     n p : = b [ i , 1 ] ; t : = { n p , { } , { } , { } , { } , b [ i , n p * 2 + 4 ] } ; 
 
     r x : = b [ i , n p * 2 + 2 ] ; r y : = b [ i , n p * 2 + 3 ] ; 
 
     F O R   j   F R O M   1   T O   n p   D O 
 
       x 0 : = b [ i , 2 * j ] ; y 0 : = b [ i , 2 * j + 1 ] ; 
 
       t [ 2 , j ] : = { x 0 , y 0 } ; 
 
       t [ 3 , j ] : = { r y + r x - y 0 , r y - r x + x 0 } ; 
 
       t [ 4 , j ] : = { 2 * r x - x 0 , 2 * r y - y 0 } ; 
 
       t [ 5 , j ] : = { r x - r y + y 0 , r y + r x - x 0 } ; 
 
     E N D ; 
 
     t b [ i ] : = t ; 
 
   E N D ; 
 
   I F   x = = 0   T H E N 
 
     d a t : = M A K E M A T ( 0 , w , h ) ; 
 
     s c o r e : = 0 ; 
 
     r n d ( ) ; r n d ( ) ; 
 
   E L S E 
 
     F O R   i   F R O M   1   T O   w   D O 
 
       F O R   j   F R O M   1   T O   h   D O 
 
         I F   d a t [ i , j ]   T H E N 
 
           R E C T _ A ( G 2 , ( s p + a ) * ( i - 1 ) , ( s p + a ) * ( j - 1 ) , a , a , t b [ d a t [ i , j ] , 6 ] ) ; 
 
         E N D ; 
 
       E N D ; 
 
     E N D ;   
 
   E N D ; 
 
 E N D ; 
 
 
 
 L O C A L   d r w ( ) 
 
 B E G I N 
 
   L O C A L   i , j , t d ; 
 
   R E C T _ P ( G 1 , 1 6 7 7 7 2 1 5 ) ; 
 
   R E C T _ P ( G 1 , s x - s p , - 1 , s x + ( a + s p ) * w + s p - 2 , s y + ( a + s p ) * h - 2 + s p , 0 , 1 6 7 7 7 2 1 5 ) ; 
 
   B L I T _ P ( G 1 , s x , s y , s x + ( a + s p ) * w - 1 , s y + ( a + s p ) * h - 1 , G 2 , 0 , 0 , ( a + s p ) * w - 1 , ( a + s p ) * h - 1 ) ; 
 
   F O R   i   F R O M   1   T O   t b [ t t , 1 ]   D O 
 
     R E C T _ A ( G 1 , s x + ( s p + a ) * ( x + t b [ t t , t r + 1 , i , 1 ] - 1 ) , s y + ( s p + a ) * ( y + t b [ t t , t r + 1 , i , 2 ] - 1 ) , a , a , t b [ t t , 6 ] ) ; 
 
   E N D ; 
 
   F O R   i   F R O M   1   T O   t b [ n t , 1 ]   D O 
 
     R E C T _ A ( G 1 , n x + ( s p + a ) * t b [ n t , n r + 1 , i , 1 ] , n y + ( s p + a ) * t b [ n t , n r + 1 , i , 2 ] , a , a , t b [ n t , 6 ] ) ; 
 
   E N D ; 
 
   T E X T O U T _ P ( " s c o r e : " + s c o r e , G 1 , s c x + 1 0 , s c y , 2 , 0 ) ; 
 
   T E X T O U T _ P ( " m a x s c o r e : " + m s , G 1 , s c x , s c y + 2 0 , 2 , 0 ) ; 
 
   T E X T O U T _ P ( " t e t r i s   v " + v e r , G 1 , 0 , 2 3 0 , 1 , 0 ) ; 
 
   B L I T _ P ( G 1 ) ; 
 
 E N D ; 
 
 
 
 L O C A L   f i x e d ( ) 
 
 B E G I N 
 
   L O C A L   i ; 
 
   F O R   i   F R O M   1   T O   t b [ t t , 1 ]   D O 
 
     I F   g d t ( x + t b [ t t , t r + 1 , i , 1 ] , M A X ( 1 , y + t b [ t t , t r + 1 , i , 2 ] + 1 ) )   T H E N 
 
       R E T U R N   1 ; 
 
     E N D ; 
 
   E N D ; 
 
   R E T U R N   0 ; 
 
 E N D ; 
 
 
 
 L O C A L   j u d g e ( ) 
 
 B E G I N 
 
   L O C A L   i , t : = M A K E M A T ( 0 , 1 , w ) , j , k ; 
 
   t : = t [ 1 ] ; j : = 0 ; 
 
   F O R   i   F R O M   h   D O W N T O   1   D O 
 
     F O R   k   F R O M   1   T O   w   D O 
 
       I F   d a t [ k , i ] = = 0   T H E N 
 
         C O N T I N U E   2 ; 
 
       E N D ; 
 
     E N D ; 
 
     d a t : = D E L C O L ( d a t , i ) ; 
 
     B L I T _ P ( G 3 , G 2 ) ; 
 
     B L I T _ P ( G 2 , 0 , a + s p , ( a + s p ) * w - 1 , ( a + s p ) * ( i + j ) - 1 , G 3 , 0 , 0 , ( a + s p ) * w - 1 , ( a + s p ) * ( i + j - 1 ) - 1 ) ; 
 
     j : = j + 1 ; 
 
   E N D ; 
 
   F O R   i   F R O M   1   T O   j   D O 
 
     d a t : = A D D C O L ( d a t , t , 1 ) ; 
 
   E N D ; 
 
   s c o r e : = s c o r e + 5 * j * ( j + 1 ) ; 
 
   m s : = M A X ( m s , s c o r e ) ; 
 
   s a v e ( ) ; 
 
 E N D ; 
 
 
 
 L O C A L   f i x ( ) 
 
 B E G I N 
 
   L O C A L   i ; 
 
   F O R   i   F R O M   1   T O   t b [ t t , 1 ]   D O 
 
     R E C T _ A ( G 2 , ( s p + a ) * ( x + t b [ t t , t r + 1 , i , 1 ] - 1 ) , ( s p + a ) * ( y + t b [ t t , t r + 1 , i , 2 ] - 1 ) , a , a , t b [ t t , 6 ] ) ; 
 
     d a t [ x + t b [ t t , t r + 1 , i , 1 ] , y + t b [ t t , t r + 1 , i , 2 ] ] : = t t ; 
 
   E N D ; 
 
   j u d g e ( ) ; 
 
   f s t : = - 1 ; 
 
 E N D ; 
 
 
 
 E X P O R T   m a i n ( ) 
 
 B E G I N 
 
   L O C A L   c , i ; 
 
   i n i t ( l o a d ( ) ) ; 
 
   W H I L E   1   D O 
 
     d r w ( ) ; 
 
     c : = G E T K E Y ( ) ; 
 
     I F   N O T   I S K E Y D O W N ( M A X ( l c , 0 ) )   T H E N 
 
       l c : = - 1 ; 
 
     E N D ; 
 
     I F   I S K E Y D O W N ( 7 )   A N D   l c = = 7   A N D   T I C K S ( ) - l c t > l c d t   O R   c = = 7   T H E N 
 
       m o v e l ( ) ; 
 
       I F   l c `"7   T H E N   l c t : = T I C K S ( ) ; E N D ; 
 
       l c : = 7 ; 
 
     E N D ; 
 
     I F   I S K E Y D O W N ( 8 )   A N D   l c = = 8   A N D   T I C K S ( ) - l c t > l c d t   O R   c = = 8   T H E N 
 
       m o v e r ( ) ; 
 
       I F   l c `"8   T H E N   l c t : = T I C K S ( ) ; E N D ; 
 
       l c : = 8 ; 
 
     E N D ; 
 
     I F   c = = 2   T H E N 
 
       r o t ( ) ; 
 
     E N D ; 
 
     I F   f i x e d ( )   T H E N 
 
       I F   f s t < 0   T H E N 
 
         f s t : = T I C K S ( ) ; 
 
       E N D ; 
 
       I F   T I C K S ( ) > f s t + f t   T H E N 
 
         f i x ( ) ; 
 
         I F   y > 0   T H E N 
 
           r n d ( ) ; 
 
         E L S E 
 
           B R E A K ; 
 
         E N D ; 
 
       E N D ; 
 
     E L S E 
 
       f s t : = - 1 ; 
 
       I F   T I C K S ( ) > d s t + d t - r t * I S K E Y D O W N ( 1 2 )   T H E N 
 
         d s t : = T I C K S ( ) ; 
 
         y : = y + 1 ; 
 
       E N D ; 
 
     E N D ; 
 
   E N D ; 
 
   d a t : = - 1 ; 
 
   s a v e ( ) ; 
 
   F O R   i   F R O M   1   T O   5   D O 
 
     R E C T _ P ( # F 7 0 0 0 0 0 0 h ) ; 
 
   E N D ; 
 
   T E X T O U T _ P ( " G a m e   O v e r " , 1 0 0 , 1 0 0 , 7 , 0 ) ; 
 
   F R E E Z E ( ) ; 
 
 E N D ; 
 
 