Dec 232017
Very nicely done Tetris clone. Very faithful to the original. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
TETRIX.DOC | 8492 | 2275 | deflated |
TETRIX.EXE | 77022 | 36868 | deflated |
Download File TETRIX.ZIP Here
Contents of the TETRIX.DOC file
Documentation
March 1990 - Steve McBride
TETRIX was written from scratch in MicroSoft QuickBASIC and uses no
reverse-engineered code from the original game. TETRIX is committed to
the public domain as of this writing.
It is an attempt at making some modest improvements to the original
TETRIS because my copy has so many bugs. A few of the more obvious
improvements are;
o save scores to disk
o requires no graphics card
o ability to slide blocks together
o does not crash the system on exit
After UNZIP'ing the command to play is: TETRIX n
where n is a number that coorosponds to the speed of your system. It
is used to calculate a delay to make the game more playable. The
following table can be used to get an idea. If your machine has a math
co-processer, a turbo kit of some kind, or any other speed enhancement
device some adjustments to these numbers will be necessary.
System speed Command
------- ------------
4.7 Mhz == TETRIX 5
8 Mhz == TETRIX 8
10 Mhz == TETRIX 10
12 Mhz == TETRIX 12
25 Mhz == TETRIX 25
33 Mhz == TETRIX 33
In actual practice any number from 1 to 99 can be entered so use what
ever feels best to you. The left and right arrow keys move the block
left and right. The down arrow key will move the block to the bottom
position instantly, and the 'K' key rotates the block. The program
will write scores to a file named TETRIX.FIL, contents are in ASCII
format.
Most of the stuff I write is used one time for some utility type
purpose, then discarded / forgotton in some back alley of my hard disk.
So when I put this together, and had some friends tell me it was
actually kind of fun to play -- I decided to upload it to compuserve.
Questions or comments are welcome.
Enjoy ...
Steve McBride
Compuserve [71540,1125]
The following is some technical data about the program for those who
are interested.
*****************************************************************************
** Psuedo-code for tetrix **
*****************************************************************************
Tetrix 'Program driver contains header info
main 'Main module of program
setup 'Display initial game screen
init 'initialize main game array
(prepare block) 'main program loop starts
rand2 'get random number for which block to send
scorkeep 'display block statistics
rand1 'get random number for version of block
(send block) 'loop for a single block
params 'scan keyboard for input parameters
chkspt 'check main game array for available spot
putblk 'put block on screen
markspt 'mark main game array with coordinates
delay 'slow down action so possible to play
params 'during delay routine - scan the keyboard
checkrow 'see if a row was completed
reorg 'if so, reorganize the main game array
savscr 'game over -- write score to file
'*****************************************************************************
'** Module breakdown **
'*****************************************************************************
Module name Subroutine Description
----------- --------- ------------------------------------------
TETRIX tetrix Program driver contains header info
and initial copyright screen.
TTMAIN main Main module of program
TTSETUP setup display initial game screen
TTUTILS init initialize main game array
rand1 get random number for version of block
rand2 get random number for which block to send
delay slow down action so possible to play
debug disabled in final version - displays binary
contents of game array
TTSCRKEP scorkeep display block statistics
savscr high score file maintenance
TTPARAMS params scan keyboard for input parameters
TTCHKSPT chkspt check main game array for available spot
TTPUTBLK putblk put block on screen
TTMRKSPT markspt mark main game array with coordinates
TTCHECKR checkrow see if a row was completed
reorg reorganize the main game array
'*****************************************************************************
'** Block version map **
'*****************************************************************************
The dot is positioned to show where PUTBLK, and CHKSPT calculate the
location for placement on screen, and in the main game array. Each
successive version of the block is a 90 degree turn clockwise. The game
itself was modified to make blocks turn counter-clockwise in order to be
compatible with the original TETRIS game.
v1 v2 v3 v4
. . . .
Block 1
. . . .
Block 2
. . . .
Block 3
. . . .
Block 4
. . . .
Block 5
Block 6 . . . .
. . . .
Block 7
December 23, 2017
Add comments