Tactical rotation: Difference between revisions
sitbob |
Tag: Rollback |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
''[[The New Tetris]]'' uses smooth falling animation for [[tetromino]]es. | ''[[The New Tetris]]'' uses smooth falling animation for [[tetromino]]es. | ||
The way this implementation mixes the falling animation with collision detection means that when a tetromino must be moved under an overhang to reach a ledge, by the time it has moved left one space with no support it has dropped more than zero spaces. In some cases it can therefore not reach a ledge. | The way this implementation mixes the falling animation with collision detection means that when a tetromino must be moved under an overhang to reach a ledge, by the time it has moved left one space with no support it has dropped more than zero spaces. In some cases it can therefore not reach a ledge. | ||
Line 6: | Line 5: | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="25%" | | | width="25%" | <playfield> | ||
OO | |||
GGGOO | |||
G GGG | |||
GGG-- | |||
GGG-- G | |||
GGGGGG G | |||
GGGGGGG G | |||
</playfield> | |||
There is no problem getting the O piece to here | There is no problem getting the O piece to here | ||
| width="25%" | | | width="25%" | <playfield> | ||
OO | |||
GGGOO | |||
G GGG | |||
GGG-- | |||
GGG-- G | |||
GGGGG G | |||
GGGGGG G | |||
</playfield> | |||
But if the ledge is further under the overhang we have a problem | But if the ledge is further under the overhang we have a problem | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGG | |||
G GGG | |||
GGG OO | |||
GGG OOG | |||
GGGGG G | |||
GGGGGG G | |||
</playfield> | |||
The piece can not move left until this point | The piece can not move left until this point | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGG | |||
G GGG | |||
GGG | |||
GGG OO G | |||
GGGGGOO G | |||
GGGGGG G | |||
</playfield> | |||
It cannot move left two spaces before it has dropped more than zero spaces | It cannot move left two spaces before it has dropped more than zero spaces | ||
|} | |} | ||
Line 55: | Line 54: | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="25%" | | | width="25%" | <playfield> | ||
I | |||
GGGGG I | |||
GGGGG I | |||
GGGGG I | |||
G- | |||
G- | |||
G- | |||
G- | |||
GG | |||
</playfield> | |||
Just holding left from here won't get the I piece in place | Just holding left from here won't get the I piece in place | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGGGG | |||
GGGGGI | |||
GGGGGI | |||
G I | |||
G I | |||
G | |||
G | |||
GG | |||
</playfield> | |||
Hold left and rotate (either direction) just after this point | Hold left and rotate (either direction) just after this point | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGGGG | |||
GGGGG | |||
GGGGG | |||
G | |||
G | |||
GIIII | |||
G | |||
GG | |||
</playfield> | |||
As long as the [[Drop#Gravity|gravity]] isn't too strong at this point in the game, you'll get to here (or a space above or below) | As long as the [[Drop#Gravity|gravity]] isn't too strong at this point in the game, you'll get to here (or a space above or below) | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGGGG | |||
GGGGG | |||
GGGGG | |||
GI | |||
GI | |||
GI | |||
GI | |||
GG | |||
</playfield> | |||
Rotate the I piece into place | Rotate the I piece into place | ||
|} | |} | ||
Line 109: | Line 108: | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="20%" | | | width="20%" | <playfield> | ||
GG L | |||
GGGLLL | |||
GGGG | |||
GG-- | |||
GGG- | |||
GGG- | |||
</playfield> | |||
Lower the L in this orientation | Lower the L in this orientation | ||
| width="20%" | | | width="20%" | <playfield> | ||
GG | |||
GGG L | |||
GGGGLLL | |||
GG | |||
GGG | |||
GGG | |||
</playfield> | |||
Start to hold left | Start to hold left | ||
| width="20%" | | | width="20%" | <playfield> | ||
GG | |||
GGG | |||
GGGG L | |||
GG LLL | |||
GGG | |||
GGG | |||
</playfield> | |||
Just as the L begins to move left, rotate anticlockwise | Just as the L begins to move left, rotate anticlockwise | ||
| width="20%" | | | width="20%" | <playfield> | ||
GG | |||
GGG | |||
GGGLL | |||
GG L | |||
GGG L | |||
GGG | |||
</playfield> | |||
The L is moving through the corner piece: keep holding left and soft drop it into place | The L is moving through the corner piece: keep holding left and soft drop it into place | ||
| width="20%" | | | width="20%" | <playfield> | ||
GG | |||
GGG | |||
GGGG | |||
GGLL | |||
GGGL | |||
GGGL | |||
</playfield> | |||
Finished square | Finished square | ||
|} | |} | ||
Line 163: | Line 162: | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="25%" | | | width="25%" | <playfield> | ||
J | |||
J | |||
GG JJ | |||
GGG | |||
GGG | |||
G- | |||
G--- | |||
GG | |||
</playfield> | |||
| width="25%" | | | width="25%" | <playfield> | ||
GG J | |||
GGG J | |||
GGGJJ | |||
G | |||
G | |||
GG | |||
</playfield> | |||
Lower the J piece in this orientation, holding left as soon as possible | Lower the J piece in this orientation, holding left as soon as possible | ||
| width="25%" | | | width="25%" | <playfield> | ||
GG | |||
GGG J | |||
GGG J | |||
G JJ | |||
G | |||
GG | |||
</playfield> | |||
The J starts moving left at this point – immediately rotate clockwise | The J starts moving left at this point – immediately rotate clockwise | ||
| width="25%" | | | width="25%" | <playfield> | ||
GG | |||
GGG | |||
GGG | |||
GJ | |||
GJJJ | |||
GG | |||
</playfield> | |||
The piece in place | The piece in place | ||
|} | |} | ||
Line 214: | Line 213: | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="25%" | | | width="25%" | <playfield> | ||
J | |||
J | |||
JJ | |||
GGG | |||
GGG | |||
G- | |||
G--- | |||
GG | |||
</playfield> | |||
| width="25%" | | | width="25%" | <playfield> | ||
JJJ | |||
GGGJ | |||
GGG | |||
G | |||
G | |||
GG | |||
</playfield> | |||
Firm drop to this position | Firm drop to this position | ||
| width="25%" valign="middle" | Rotate clockwise twice in quick succession | | width="25%" valign="middle" | Rotate clockwise twice in quick succession | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGG | |||
GGG | |||
GJ | |||
GJJJ | |||
GG | |||
</playfield> | |||
The piece in place | The piece in place | ||
|} | |} | ||
Line 256: | Line 255: | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="20%" | | | width="20%" | <playfield> | ||
LL | |||
L | |||
L | |||
GGGG | |||
GG-- | |||
GGG- | |||
GGG- | |||
</playfield> | |||
Once the L is clear of the overhang it needs to slide two positions left to lock in place. This can't be done just by holding left | Once the L is clear of the overhang it needs to slide two positions left to lock in place. This can't be done just by holding left | ||
| width="20%" | | | width="20%" | <playfield> | ||
LL | |||
GGGGL | |||
GG L | |||
GGG | |||
GGG | |||
</playfield> | |||
Firm drop the L to hang off the edge | Firm drop the L to hang off the edge | ||
| width="20%" valign="middle" | Hold left, rotate clockwise then anticlockwise in quick succession | | width="20%" valign="middle" | Hold left, rotate clockwise then anticlockwise in quick succession | ||
| width="20%" | | | width="20%" | <playfield> | ||
GGGLL | |||
GG L | |||
GGG L | |||
GGG | |||
</playfield> | |||
The L is moving through the corner piece. Keep holding left and soft drop, so it slides left as soon as it can. | The L is moving through the corner piece. Keep holding left and soft drop, so it slides left as soon as it can. | ||
| width="20%" | | | width="20%" | <playfield> | ||
GGGG | |||
GGLL | |||
GGGL | |||
GGGL | |||
</playfield> | |||
Completed square | Completed square | ||
|} | |} | ||
Line 303: | Line 302: | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="25%" | | | width="25%" | <playfield> | ||
C | |||
GGG | |||
GG | |||
GG G | |||
GGGG | |||
</playfield> | |||
The space marked with [[Image:CTet.png]] must be free. The move is easiest if the space to [[Image:CTet.png]]'s left is also free... | The space marked with [[Image:CTet.png]] must be free. The move is easiest if the space to [[Image:CTet.png]]'s left is also free... | ||
| width="25%" | | | width="25%" | <playfield> | ||
ZZ | |||
ZZ | |||
GGG- | |||
GG-- | |||
GG-G | |||
GGGG | |||
</playfield> | |||
That surely won't fit... | That surely won't fit... | ||
| width="25%" | | | width="25%" | <playfield> | ||
ZZ | |||
GGGZZ | |||
GG | |||
GG G | |||
GGGG | |||
</playfield> | |||
Firm drop to here, then rotate in either direction | Firm drop to here, then rotate in either direction | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGGZ | |||
GGZZ | |||
GGZG | |||
GGGG | |||
</playfield> | |||
Easy | Easy | ||
|} | |} | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="16%" | | | width="16%" | <playfield> | ||
C | |||
GGG | |||
GG | |||
GG G | |||
GGGG | |||
</playfield> | |||
If the space indicated is taken there are two other ways | If the space indicated is taken there are two other ways | ||
| width="17%" | | | width="17%" | <playfield> | ||
G Z | |||
GGGZZ | |||
GG Z | |||
GG G | |||
GGGG | |||
</playfield> | |||
The easiest is the S/Z wiggle: firm drop to here, then rotate clockwise then anticlockwise in quick succession | The easiest is the S/Z wiggle: firm drop to here, then rotate clockwise then anticlockwise in quick succession | ||
| width="16%" | | | width="16%" | <playfield> | ||
GZ | |||
GGZZ | |||
GGZ | |||
GG G | |||
GGGG | |||
</playfield> | |||
The Z piece is sliding down from this position. Firm drop it. | The Z piece is sliding down from this position. Firm drop it. | ||
| width="16%" | | | width="16%" | <playfield> | ||
G | |||
GGGZ | |||
GGZZ | |||
GGZG | |||
GGGG | |||
</playfield> | |||
Job done | Job done | ||
| width="18%" | | | width="18%" | <playfield> | ||
GZZ | |||
GGG ZZ | |||
GG | |||
GG G | |||
GGGG | |||
</playfield> | |||
The second of the two rotations can be performed alone, but this isn't as quick or easy. To do it, rotate anticlockwise just after the Z is in this position... | The second of the two rotations can be performed alone, but this isn't as quick or easy. To do it, rotate anticlockwise just after the Z is in this position... | ||
| width="17%" | | | width="17%" | <playfield> | ||
G | |||
GGGZZ | |||
GG ZZ | |||
GG G | |||
GGGG | |||
</playfield> | |||
...before it gets to here | ...before it gets to here | ||
|} | |} | ||
Line 412: | Line 411: | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="25%" | | | width="25%" | <playfield> | ||
T | |||
TT | |||
T | |||
GGG- | |||
GG-- | |||
GGG- | |||
GGGG | |||
</playfield> | |||
| width="25%" | | | width="25%" | <playfield> | ||
T | |||
TT | |||
T | |||
GGG- | |||
GG -- | |||
GGG- | |||
GGGG | |||
</playfield> | |||
Firm drop the backwards-oriented T piece | Firm drop the backwards-oriented T piece | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGGT | |||
GG TT | |||
GGGT | |||
GGGG | |||
</playfield> | |||
Rotate the piece twice quickly | Rotate the piece twice quickly | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGGT | |||
GGTT | |||
GGGT | |||
GGGG | |||
</playfield> | |||
Finished square | Finished square | ||
|} | |} | ||
Line 459: | Line 458: | ||
{| | {| | ||
|- valign="top" align="center" | |- valign="top" align="center" | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGGG T | |||
GGGG TT | |||
GGGG T | |||
GGGG | |||
GGG- | |||
GG-- | |||
GGG- | |||
GGGG | |||
</playfield> | |||
| width="25%" | | | width="25%" | <playfield> | ||
GGGG | |||
GGGGT | |||
GGGGTT | |||
GGGGT | |||
GGG | |||
GG | |||
GGG | |||
GGGG | |||
</playfield> | |||
With the T piece oriented backwards hold left and soft drop | With the T piece oriented backwards hold left and soft drop | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGGG | |||
GGGG | |||
GGGG | |||
GGGG | |||
GGGT | |||
GG TT | |||
GGGT | |||
GGGG | |||
</playfield> | |||
It catches in the gap. Rotate the piece twice quickly | It catches in the gap. Rotate the piece twice quickly | ||
| width="25%" | | | width="25%" | <playfield> | ||
GGGG | |||
GGGG | |||
GGGG | |||
GGGG | |||
GGGT | |||
GGTT | |||
GGGT | |||
GGGG | |||
</playfield> | |||
Finished square | Finished square | ||
|} | |} | ||
[[Category: | [[Category:Gameplay]] | ||
Latest revision as of 13:00, 27 January 2020
The New Tetris uses smooth falling animation for tetrominoes. The way this implementation mixes the falling animation with collision detection means that when a tetromino must be moved under an overhang to reach a ledge, by the time it has moved left one space with no support it has dropped more than zero spaces. In some cases it can therefore not reach a ledge.
Nothing can be done in the case of the O piece:
There is no problem getting the O piece to here |
But if the ledge is further under the overhang we have a problem |
The piece can not move left until this point |
It cannot move left two spaces before it has dropped more than zero spaces |
There are, however, ways of getting a piece other than O further under the overhang by making use of "tactical rotation": rotating the piece in the right direction at the right time.
Examples
Reaching under overhangs
With I pieces
Just holding left from here won't get the I piece in place |
Hold left and rotate (either direction) just after this point |
As long as the gravity isn't too strong at this point in the game, you'll get to here (or a space above or below) |
Rotate the I piece into place |
With L and J pieces
This is useful for completing spiral L monosquares on the left and spiral J monosquares on the right (in which case the move is reversed) if the space above the block is already occupied in such a way that the L cannot be overhung as in the second figure of the L/J shuffle below.
Lower the L in this orientation |
Start to hold left |
Just as the L begins to move left, rotate anticlockwise |
The L is moving through the corner piece: keep holding left and soft drop it into place |
Finished square |
With the opposite multisquares (L on the right or J on the left), the third piece requires some tactical rotation if there is not enough support underneath.
Lower the J piece in this orientation, holding left as soon as possible |
The J starts moving left at this point – immediately rotate clockwise |
The piece in place |
If there is sufficient free space above the construction, an easier method can be used (shown below).
L/J swing
This is useful when building a spiral L monosquare on the right or a spiral J monosquare on the left as above, provided there is enough free space above the construction.
Firm drop to this position |
Rotate clockwise twice in quick succession | The piece in place |
L/J shuffle
This is useful for completing spiral L monosquares on the left and spiral J monosquares on the right (in which case the move is reversed).
Once the L is clear of the overhang it needs to slide two positions left to lock in place. This can't be done just by holding left |
Firm drop the L to hang off the edge |
Hold left, rotate clockwise then anticlockwise in quick succession | The L is moving through the corner piece. Keep holding left and soft drop, so it slides left as soon as it can. |
Completed square |
S/Z pop
This move is required for ZLLZ/SJJS, TTLZ/TTJS and LJZI/JLSI multisquares. All rotations should be reversed for the right-hand versions.
The space marked with must be free. The move is easiest if the space to 's left is also free... |
That surely won't fit... |
Firm drop to here, then rotate in either direction |
Easy |
If the space indicated is taken there are two other ways |
The easiest is the S/Z wiggle: firm drop to here, then rotate clockwise then anticlockwise in quick succession |
The Z piece is sliding down from this position. Firm drop it. |
Job done |
The second of the two rotations can be performed alone, but this isn't as quick or easy. To do it, rotate anticlockwise just after the Z is in this position... |
...before it gets to here |
Building a T monosquare quickly
The quickest way to add the final piece of a T monosquare is to spin it into place:
Firm drop the backwards-oriented T piece |
Rotate the piece twice quickly |
Finished square |
If there is no free space above:
With the T piece oriented backwards hold left and soft drop |
It catches in the gap. Rotate the piece twice quickly |
Finished square |