Difference between revisions of "User:Nightmareci"

From TetrisWiki
Jump to navigation Jump to search
Line 48: Line 48:
 
#* If soft drop is pressed and Gspeed < 256:
 
#* If soft drop is pressed and Gspeed < 256:
 
#** Attempt to drop one line
 
#** Attempt to drop one line
#** Go back to 2.
+
#** Go to 3.
 
#* If there are blocks below this piece:
 
#* If there are blocks below this piece:
 
#** Set Gcount to Gspeed
 
#** Set Gcount to Gspeed
Line 55: Line 55:
 
#** Set Gcount to the remainder of Gcount / 256 (in C, this would be "Gcount %= 256")
 
#** Set Gcount to the remainder of Gcount / 256 (in C, this would be "Gcount %= 256")
 
#* Increase Gcount by Gspeed
 
#* Increase Gcount by Gspeed
#* Go back to 2.
+
#* Go to 3.
 +
# Further processing after gravity (processing will come back to 2. if the piece hasn't locked)

Revision as of 12:31, 15 February 2009

Tetris The Grand Master

Some of the following information may not be consistent with other wiki pages; where this applies, simply ignore the information elsewhere in the wiki. Information here is still work in progress.

Speed Timings

Gravity

Directly from Tetris The Grand Master, here is the gravity curve:

Internal Gravity[1]
Level Interal Gravity
(1/256 G)
Level Internal Gravity
(1/256 G)
0 4 220 32
30 6 230 64
35 8 233 96
40 10 236 128
50 12 239 160
60 16 243 192
70 32 247 224
80 48 251 256 (1G)
90 64 300 512 (2G)
100 80 330 768 (3G)
120 96 360 1024 (4G)
140 112 400 1280 (5G)
160 128 420 1024 (4G)
170 144 450 768 (3G)
200 4 500 5120 (20G)

In the following, Gcount is the current Gravity Count; Gspeed is the Gravity Speed, and is equal to one of the Internal Gravity entries in the above table. All division is rounded down to an integer.

On the very first frame, soft drop is not processed, so if you hold soft drop coming into the first frame, the piece won't lock on the first frame, but if you have soft drop pressed in the second frame, it can lock at that point. From this, soft drop simply is not even "pressed" on the first frame; this assumption is used in the description below.

  1. Before the pieces' first displayed frame (such as during ARE):
    • Gcount = 0
    • Gspeed is set to the appropriate value for the current level
    • Attempt to place the piece in row number Gspeed / 256, higher if necessary (note: row 0 is the first row, 1 is the second, etc.)
  2. Every frame this piece is displayed:
    • If soft drop is pressed and Gspeed < 256:
      • Attempt to drop one line
      • Go to 3.
    • If there are blocks below this piece:
      • Set Gcount to Gspeed
    • If Gcount is greater than or equal to 256:
      • Attempt to drop Gcount / 256 lines
      • Set Gcount to the remainder of Gcount / 256 (in C, this would be "Gcount %= 256")
    • Increase Gcount by Gspeed
    • Go to 3.
  3. Further processing after gravity (processing will come back to 2. if the piece hasn't locked)