User:Nightmareci: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
== Tetris The Grand Master == | == 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. | 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. | ||
=== Definitions === | |||
In this page, the very top row is row number 0, the row below the top row is row number 1, and so on, until 20 (TGM1 has 20 visible rows + 1 vanish zone row). | |||
=== Speed Timings === | === Speed Timings === | ||
==== Gravity ==== | ==== Gravity ==== | ||
Line 44: | Line 46: | ||
#* Gcount = 0 | #* Gcount = 0 | ||
#* Gspeed is set to the appropriate value for the current level | #* Gspeed is set to the appropriate value for the current level | ||
#* Attempt to place the piece in row number Gspeed / 256, higher if necessary | #* Attempt to place the piece in row number 1 + Gspeed / 256, higher if necessary | ||
# Every frame this piece is displayed: | # Every frame this piece is displayed: | ||
#* If soft drop is pressed and Gspeed < 256: | #* If soft drop is pressed and Gspeed < 256: |
Revision as of 12:42, 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.
Definitions
In this page, the very top row is row number 0, the row below the top row is row number 1, and so on, until 20 (TGM1 has 20 visible rows + 1 vanish zone row).
Speed Timings
Gravity
Directly from Tetris The Grand Master, here is the gravity curve:
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 (60/256 = 0, 260/256 = 1).
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.
- 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 1 + Gspeed / 256, higher if necessary
- 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.
- If soft drop is pressed and Gspeed < 256:
- Further processing after gravity (processing will come back to 2. if the piece hasn't locked)