' 03-01-93. 15:28:02 PB-TETRIS.BAS
'
'*** PB-TETRIS version 1.0 (C) 1993 Thaddy de Koning
'*** Based on a gw-basic tetris by Sjoerd Verweij
$LIB IPRINT ON
SCREEN 0 ,1
WIDTH 40
KEY OFF
COLOR 15,0
CLS
CLEAR
DEFINT A-Z
CALL MAINSCREEN
CALL BUILDBLOCKS
CALL INITSPEED
NEXTBLOCK:
CALL PREVIEW
BLOCKCOLOR=BLOCKCOLOR2
YPOS=0
XPOS=20
SCORE!=SCORE!+Q(BLOCKCOLOR)*INT(RND*15)
COLOR 15
LOCATE 2,1
PRINT SCORE!;
INCR AVERAGEBLOCKS(BLOCKCOLOR)
IF AVERAGEBLOCKS(BLOCKCOLOR)/5=AVERAGEBLOCKS(BLOCKCOLOR)\5 AND
AVERAGEBLOCKS
COLOR BLOCKCOLOR
LOCATE 23-AVERAGEBLOCKS(BLOCKCOLOR)/5,BLOCKCOLOR+27
PRINT E$;
END IF
DROP:
'Drop one, increase y
INCR YPOS
T1!=TIMER
CALL PRINTBLOCK
KEYBOARD:
WHILE T1!+T#>TIMER
Z$=INKEY$
IF LEN(Z$)>1 THEN
KEYVALUE=ASC(RIGHT$(Z$,1))-70
ELSE
KEYVALUE=ASC(Z$+CHR$(0))-23
END IF
SELECT CASE KEYVALUE
CASE 9
CALL DROP2BOTTOMLINE
'drop to bottomline , SPACE
CASE 10
'SPEED UP DROP
T1!=T1!-3
CASE 5
call zLeft
CASE 2
CALL zROTATE
CASE 7
CALL zRIGHT
END SELECT
WEND
U=BLOCKROTATION
OLDYPOS=YPOS+1
OLDXPOS=XPOS
CALL TESTFIT
IF O=0 THEN
GOTO DROP
END IF
ON(YPOS>1)+1 GOTO YOUREDEAD
CALL PRINTBLOCK
FOR I=0 TO BLOCKHIGHT(BLOCKCOLOR,BLOCKROTATION)-1
FOR J=0 TO BLOCKWIDTH(BLOCKCOLOR,BLOCKROTATION)-1
A(YPOS+I)=A(YPOS+I)+R(BLOCKCOLOR,BLOCKROTATION,I+1,J+1)*(2^(XPOS+J-_
14))
NEXT J
NEXT I
M=0
FOR H=YPOS TO 23
(Continued to next message)
---
* QMPro 1.53 * Windws is ine for bckgroun comunicaions - Bll Gats, 192
--- GEcho 1.20/Pro
---------------
* Origin: Toast House * (314) 994-0312 * (1:100/560)
|