Tetris Wiki
Tag: Visual edit
 
(18 intermediate revisions by 7 users not shown)
Line 1: Line 1:
  +
[[Image:Playing forever like CT.gif|right|frame|A 140-tetromino run of this strategy.]]
The following outlines a method of playing forever given the following conditions:
 
  +
The following outlines a method of playing forever given the following conditions, which apply in many [[Tetris Guideline|''Tetris'' products since 2001]]:
 
*the [[Random Generator]] is used to generate piece sequences
 
*the [[Random Generator]] is used to generate piece sequences
 
*the game has the [[Hold]] feature
 
*the game has the [[Hold]] feature
*at least 5 [[piece preview]]s are available
+
*at least 3 [[piece preview]]s are available
  +
  +
== Standard procedure ==
  +
[[Image:Polyomino.net Playing forever.png|right|frame|The 10x56 cell tiling that this method creates]]
   
== Standard Procedure ==
 
 
The general method is achieved by dividing the screen into self contained sections as shown below. Specifically, the 4 left columns, the 4 right columns, and the 2 middle columns will be treated as distinct regions, with specific pieces assigned exclusively to each region. Because the random generator provides strings of bags containing each of the 7 pieces in a random order, it is possible to construct a strategy around the relatively small variation, with looping patterns.
 
The general method is achieved by dividing the screen into self contained sections as shown below. Specifically, the 4 left columns, the 4 right columns, and the 2 middle columns will be treated as distinct regions, with specific pieces assigned exclusively to each region. Because the random generator provides strings of bags containing each of the 7 pieces in a random order, it is possible to construct a strategy around the relatively small variation, with looping patterns.
   
Line 17: Line 20:
   
 
=== The S, T, and Z piece loop ===
 
=== The S, T, and Z piece loop ===
  +
{| style="float:left"
  +
|{{pfstart}}{{pfrow|S|T|T|T| | | | | | }}
  +
{{pfrow|S|S|T|Z| | | | | | }}
  +
{{pfrow|S|S|Z|Z| | | | | | }}
  +
{{pfrow|S|S|Z|Z| | | | | | }}
  +
{{pfrow|T|S|Z|Z| | | | | | }}
  +
{{pfrow|T|T|Z|T| | | | | | }}
  +
{{pfrow|T|Z|T|T| | | | | | }}
  +
{{pfrow|Z|Z|S|T| | | | | | }}
  +
{{pfrow|Z|Z|S|S| | | | | | }}
  +
{{pfrow|Z|Z|S|S| | | | | | }}
  +
{{pfrow|Z|T|S|S| | | | | | }}
  +
{{pfrow|T|T|T|S| | | | | | }}
  +
{{pfend}}
  +
|}
 
This pattern loops after 4 bags of pieces. Depending on the order of the pieces for each bag, you may need to use [[Hold]] to force a piece to come last. Piece previews are technically not required to play this pattern.
 
This pattern loops after 4 bags of pieces. Depending on the order of the pieces for each bag, you may need to use [[Hold]] to force a piece to come last. Piece previews are technically not required to play this pattern.
  +
  +
<br clear="left" />
   
 
The Z piece must drop after T, so use Hold to change the order if necessary:
 
The Z piece must drop after T, so use Hold to change the order if necessary:
Line 28: Line 48:
 
{{pfend}}
 
{{pfend}}
   
The T piece must drop after S, so use Hold to change the order if necessary:
+
The T piece must not drop first, so use Hold to change the order if necessary:
  +
{|
{{pfstart}}
 
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | |T| | | | | | }}
 
{{pfrow| | | |T| | | | | | }}
 
{{pfrow| |Z|T|T| | | | | | }}
 
{{pfrow| |Z|T|T| | | | | | }}
Line 36: Line 57:
 
{{pfrow|G|G|G|S| | | | | | }}
 
{{pfrow|G|G|G|S| | | | | | }}
 
{{pfend}}
 
{{pfend}}
  +
Option 1
  +
|{{pfstart}}{{pfrow|T| | | | | | | | | }}
  +
{{pfrow|T|T| | | | | | | | }}
  +
{{pfrow|T|Z| | | | | | | | }}
  +
{{pfrow|Z|Z|S| | | | | | | }}
  +
{{pfrow|Z|G|S|S| | | | | | }}
  +
{{pfrow|G|G|G|S| | | | | | }}
  +
{{pfend}}
  +
Option 2
  +
|}
   
The S piece must drop after T, so use Hold to change the order if necessary:
+
The T piece must land diagonally adjacent to the other T, so use Hold to change the order if necessary:
  +
{|
{{pfstart}}
 
{{pfrow|S| | | | | | | | | }}
+
|{{pfstart}}{{pfrow|S| | | | | | | | | }}
 
{{pfrow|S|S| |Z| | | | | | }}
 
{{pfrow|S|S| |Z| | | | | | }}
 
{{pfrow|T|S|Z|Z| | | | | | }}
 
{{pfrow|T|S|Z|Z| | | | | | }}
 
{{pfrow|T|T|Z|G| | | | | | }}
 
{{pfrow|T|T|Z|G| | | | | | }}
 
{{pfrow|T|G|G|G| | | | | | }}
 
{{pfrow|T|G|G|G| | | | | | }}
  +
{{pfrow|G|G|G|G| | | | | | }}
 
{{pfend}}
 
{{pfend}}
  +
Option 1 (needs<br />
  +
T before S)
  +
|{{pfstart}}{{pfrow|S| | | | | | | | | }}
  +
{{pfrow|S|S| |Z| | | | | | }}
  +
{{pfrow|G|S|Z|Z| | | | | | }}
  +
{{pfrow|G|G|Z|T| | | | | | }}
  +
{{pfrow|G|G|T|T| | | | | | }}
  +
{{pfrow|G|G|G|T| | | | | | }}
  +
{{pfend}}
  +
Option 2 (needs<br />
  +
T before Z)
  +
|}
   
 
The T piece must drop last, so use Hold to change the order if necessary:
 
The T piece must drop last, so use Hold to change the order if necessary:
Line 56: Line 100:
   
 
=== The L, J, and O piece loop ===
 
=== The L, J, and O piece loop ===
This pattern loops after a single bag of pieces. Depending on the order of the pieces, you will need to use a different construction. If this SZT pile needs the first tetromino of the bag to be held, four previews are required to play this pattern, because in the worst case scenario TLZSIxx, you will need to see four pieces ahead (from L to x) in order to determine whether the O piece is coming last. Otherwise, the first L or J tetromino can be held and put into place once its mirror or the O shows up in the preview.
+
This pattern loops after a single bag of pieces. Depending on the order of the pieces, you will need to use a different construction. At least 5 previews are required to choose the appropriate construction. Alternatively, it is possible to use 3 previews and clever use of Hold (that does not conflict with the STZ loop's Hold needs) to choose an approriate construction using some advanced techniques.
   
 
O first (OJL, OLJ):
 
O first (OJL, OLJ):
Line 72: Line 116:
 
JOL: (mirror for LOJ)
 
JOL: (mirror for LOJ)
 
{|
 
{|
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | |J|J| | }}
{{pfrow| | | | | | |J|J| | }}
 
 
{{pfrow| | | | | | |J| | | }}
 
{{pfrow| | | | | | |J| | | }}
 
{{pfrow| | | | | | |J| | | }}
 
{{pfrow| | | | | | |J| | | }}
 
{{pfend}}
 
{{pfend}}
 
Drop J
 
Drop J
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | |J|J| | }}
{{pfrow| | | | | | |J|J| | }}
 
 
{{pfrow| | | | | | |J| |O|O}}
 
{{pfrow| | | | | | |J| |O|O}}
 
{{pfrow| | | | | | |J| |O|O}}
 
{{pfrow| | | | | | |J| |O|O}}
 
{{pfend}}
 
{{pfend}}
 
Soft-drop O
 
Soft-drop O
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | |J|J| | }}
{{pfrow| | | | | | |J|J| | }}
 
 
{{pfrow| | | | | | |J|O|O| }}
 
{{pfrow| | | | | | |J|O|O| }}
 
{{pfrow| | | | | | |J|O|O| }}
 
{{pfrow| | | | | | |J|O|O| }}
 
{{pfend}}
 
{{pfend}}
 
Slide O
 
Slide O
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | |J|J|L|L}}
{{pfrow| | | | | | |J|J|L|L}}
 
 
{{pfrow| | | | | | |J|O|O|L}}
 
{{pfrow| | | | | | |J|O|O|L}}
 
{{pfrow| | | | | | |J|O|O|L}}
 
{{pfrow| | | | | | |J|O|O|L}}
Line 97: Line 137:
 
Drop L
 
Drop L
 
|}
 
|}
  +
Alternate method for JOL:
 
  +
==== Advanced techniques for when only 3 previews are available ====
{|
 
  +
Worst case bag distributions such as H?XX?X? and H?XXX?? deserve a special mention. The first piece 'H' denotes a piece which must be placed in Hold in order to follow the STZ loop procedure. Pieces from the LJO loop are denoted by '?', and the remaining pieces are denoted by 'X'. Using 3 previews and Hold, it is only possible to see the first 4 pieces of the bag before the second piece enters the screen. This means you only see H?XX, and only know the first piece of the LJO loop. Because H must be put in Hold, you are forced to make a decision without knowing the order of the rest of the LJO loop. If the O comes first, you can follow the procedure above without problems. The rest of the time you will run into complications like this:
|{{pfstart}}
 
  +
{{pfrow| | | | | | | | | |J}}
 
  +
Impossible O placement (eg. HLXXJXO, HLXXXJO):
{{pfrow| | | | | | | | | |J}}
 
  +
{{pfstart}}
{{pfrow| | | | | | | | |J|J}}
 
  +
{{pfrow| | | | | | |J|J|L|L}}
  +
{{pfrow| | | | | | |J| | |L}}
  +
{{pfrow| | | | | | |J| | |L}}
 
{{pfend}}
 
{{pfend}}
  +
Impossible J placement (eg. HLXXOXJ, HLXXXOJ):
Drop J
 
|{{pfstart}}
+
{{pfstart}}
{{pfrow| | | | | | | |O|O|J}}
+
{{pfrow| | | | | | |L|O|O| }}
{{pfrow| | | | | | | |O|O|J}}
+
{{pfrow| | | | | | |L|O|O| }}
{{pfrow| | | | | | | | |J|J}}
+
{{pfrow| | | | | | |L|L| | }}
 
{{pfend}}
 
{{pfend}}
  +
Drop O
 
  +
When L or J come first it is impossible to determine which LJO pattern to use without knowing the order of the final 2 pieces. The solution to this problem is to wait until the first L or J piece enters the screen before making a decision. With the held piece, active piece, and 3 previews, you now see 5 pieces into the bag. This allows you to tell the LJO piece order for the case of H?XX?X?. However, in the case of H?XXX?? the order remains unknown. With this final worst case, the STZ loop is guaranteed to be finished before the second and third pieces of the LJO loop are dealt. This means Hold is available! You can start building whichever pattern you prefer, and use Hold to change the order of the final 2 pieces as necessary.
|{{pfstart}}
 
  +
{{pfrow| | | | | |L| |O|O|J}}
 
  +
==== Tricky starts when only 3 previews are available ====
{{pfrow| | | | | |L| |O|O|J}}
 
  +
{{pfrow| | | | | |L|L| |J|J}}
 
  +
There is a worst case start that only complicates the very first bag when playing forever. With a sequence such as ?HXX?X? you can see a maximum of 4 pieces into the bag as you place the first piece. It is impossible to Hold the first piece (part of LJO) because the second piece (part of SZT) must be held. Additionally, because the second last piece is also part of the STZ loop, Hold cannot be used to change the order of the the final 2 LJO pieces as discussed above. So a decision must be made with only the first 4 pieces of the bag known. In this case, the solution is to note that the STZ pattern in the previous section requires the Z to be placed last. However, the mirror STZ pattern is equally feasible, and would require the S to be placed last. Because you have these 2 options, it is impossible that the first piece dealt for the STZ loop is required to be placed last. The worst case is now ?SZX?X?, which can be expressed as ?XHX?X?. By holding the first piece, placing the second, and holding the third, you can now see the first 6 pieces of the bag. This then allows you to choose an appropriate LJO pattern.
{{pfend}}
 
  +
Soft-drop L
 
  +
It should be noted that this affects only the very first bag of playing forever, which is not to be confused with the first bag of every 20-bag loop of playing forever. On subsequent loops, the first piece of the first bag is already in Hold. You can see the first 5 pieces of ?HXX?X? after you put H on Hold, which makes the first piece active, and sums to 5 with the 3 previews. It is only a problem for the first bag of the game because the player is restricted to a maximum of one use of Hold before placing a piece.
|{{pfstart}}
 
{{pfrow| | | | | | |L|O|O|J}}
 
{{pfrow| | | | | | |L|O|O|J}}
 
{{pfrow| | | | | | |L|L|J|J}}
 
{{pfend}}
 
Slide L
 
|}
 
   
 
=== The I piece loop ===
 
=== The I piece loop ===
 
This pattern loops every 2 bags. No use of Hold or piece previews is required. The player must simply alternate putting the I tetromino in columns 5 and 6 to reap tetrises.
 
This pattern loops every 2 bags. No use of Hold or piece previews is required. The player must simply alternate putting the I tetromino in columns 5 and 6 to reap tetrises.
 
{|
 
{|
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | |I| | | | | }}
{{pfrow| | | | |I| | | | | }}
 
 
{{pfrow| | | | |I| | | | | }}
 
{{pfrow| | | | |I| | | | | }}
 
{{pfrow| | | | |I| | | | | }}
 
{{pfrow| | | | |I| | | | | }}
 
{{pfrow| | | | |I| | | | | }}
 
{{pfrow| | | | |I| | | | | }}
 
{{pfend}}
 
{{pfend}}
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | |G|I| | | | }}
{{pfrow| | | | |G|I| | | | }}
 
 
{{pfrow| | | | |G|I| | | | }}
 
{{pfrow| | | | |G|I| | | | }}
 
{{pfrow| | | | |G|I| | | | }}
 
{{pfrow| | | | |G|I| | | | }}
Line 147: Line 182:
 
{|
 
{|
 
|- valign="top"
 
|- valign="top"
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 164: Line 198:
 
{{pfrow|T|T|T|S|I|I|L|L|J|J}}
 
{{pfrow|T|T|T|S|I|I|L|L|J|J}}
 
{{pfend}}
 
{{pfend}}
The rows stacked <br> after 4 bags.
+
The rows stacked<br />after 4 bags.
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 182: Line 215:
 
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
 
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
 
{{pfend}}
 
{{pfend}}
Though of course, <br> lines have cleared.
+
Though of course,<br />lines have cleared.
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 200: Line 232:
 
{{pfrow|S|S|Z|Z| | |J|J|L|L}}
 
{{pfrow|S|S|Z|Z| | |J|J|L|L}}
 
{{pfend}}
 
{{pfend}}
Leaving us with a <br> surplus.
+
Leaving us with a<br />surplus.
 
|}
 
|}
   
Line 209: Line 241:
   
 
{|
 
{|
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | |L| }}
 
{{pfrow| | | | | | | | |L| }}
 
{{pfrow| | | | | | |O|O|L| }}
 
{{pfrow| | | | | | |O|O|L| }}
 
{{pfrow| | | | | | |O|O|L|L}}
 
{{pfrow| | | | | | |O|O|L|L}}
 
{{pfend}}
 
{{pfend}}
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | |O|O|L|L}}
{{pfrow| | | | | | |O|O|L|L}}
 
 
{{pfrow| | | | | | |O|O|G|L}}
 
{{pfrow| | | | | | |O|O|G|L}}
 
{{pfrow| | | | | | |G|G|G|L}}
 
{{pfrow| | | | | | |G|G|G|L}}
Line 226: Line 256:
 
This pattern loops after 2 bags of pieces. Order is not important, and therefore neither Hold nor piece previews are strictly required for it.
 
This pattern loops after 2 bags of pieces. Order is not important, and therefore neither Hold nor piece previews are strictly required for it.
   
  +
JIIJ:
 
{|
 
{|
 
|- valign="top"
 
|- valign="top"
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow|G|G|G|G| | |G|G|G|G}}
 
{{pfrow|G|G|G|G| | |G|G|G|G}}
Line 240: Line 270:
 
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
 
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
 
{{pfend}}
 
{{pfend}}
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
 
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
Line 254: Line 283:
 
|}
 
|}
   
Because of line clears, the order is not very important. Even if you place pieces in the opposite order than what is shown, the net change in screen geometry will be the same.
+
Because of line clears, the order is not very important. Even if you place pieces in the opposite order than what is shown, the net change in screen geometry will be the same:
  +
{|
  +
|- valign="top"
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow|G|G|G|G| | |G|G|G|G}}
  +
{{pfrow|G|G|G|G| |J|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |J|G|G|G|G}}
  +
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfend}}
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow|G|G|G|G| | |G|G|G|G}}
  +
{{pfrow|G|G|G|G| |J|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |J|G|G|G|G}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfend}}
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
  +
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
  +
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfend}}
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |I|G|G|G|G}}
  +
{{pfend}}
  +
|}
   
 
=== Putting it all together ===
 
=== Putting it all together ===
Line 261: Line 337:
 
{|
 
{|
 
|- valign="top"
 
|- valign="top"
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 287: Line 362:
 
{{pfrow|G|G|G|G| | |G|G|G|G}}
 
{{pfrow|G|G|G|G| | |G|G|G|G}}
 
{{pfend}}
 
{{pfend}}
The net result of <br> 12 bags stacked <br> the standard way.
+
The net result of<br />12 bags stacked<br />the standard way.
|{{pfstart}}
+
|{{pfstart}}{{pfrow|S|T|T|T| | | | | | }}
{{pfrow|S|T|T|T| | | | | | }}
 
 
{{pfrow|S|S|T|Z| | | | | | }}
 
{{pfrow|S|S|T|Z| | | | | | }}
 
{{pfrow|S|S|Z|Z| | | | | | }}
 
{{pfrow|S|S|Z|Z| | | | | | }}
Line 314: Line 388:
 
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
 
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
 
{{pfend}}
 
{{pfend}}
The rows stacked <br> after 4 bags of <br> balanced stacking.
+
The rows stacked<br />after 4 bags of<br />balanced stacking.
|{{pfstart}}
+
|{{pfstart}}{{pfrow|S|T|T|T| | | | | | }}
{{pfrow|S|T|T|T| | | | | | }}
 
 
{{pfrow|S|S|T|Z| | | | | | }}
 
{{pfrow|S|S|T|Z| | | | | | }}
 
{{pfrow|S|S|Z|Z| | | | | | }}
 
{{pfrow|S|S|Z|Z| | | | | | }}
Line 341: Line 414:
 
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
 
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
 
{{pfend}}
 
{{pfend}}
Of course, <br> line clears <br> have actually...
+
Of course,<br />line clears<br />have actually...
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 368: Line 440:
 
{{pfrow|Z|Z|S|T| | |O|O|L|L}}
 
{{pfrow|Z|Z|S|T| | |O|O|L|L}}
 
{{pfend}}
 
{{pfend}}
...kept things <br> realistically short.
+
...kept things<br />realistically short.
 
|}
 
|}
   
 
{|
 
{|
 
|- valign="top"
 
|- valign="top"
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 395: Line 466:
 
{{pfend}}
 
{{pfend}}
 
Where we left off.
 
Where we left off.
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 416: Line 486:
 
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
 
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
 
{{pfend}}
 
{{pfend}}
4 bags balancing <br> the other side.
+
4 bags balancing<br />the other side.
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
 
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 438: Line 507:
 
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
 
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
 
{{pfend}}
 
{{pfend}}
|{{pfstart}}
+
|{{pfstart}}{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 444: Line 513:
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfend}}
  +
Back to<br />square one.
  +
|}
  +
===The Final Bag===
  +
The final bag requires some special consideration. Because the sides are getting low, the J piece will not necessarily clear. So I must come before J in order to follow the pattern. You can't rely on using Hold for this as a worst case scenario (eg. TJIxxxx) would also require you to Hold the T. To deal with this problem, you can follow the procedure below.
  +
{|
  +
|- valign="top"
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | |J|J| | | | }}
  +
{{pfrow| | |G| |J|G| | | | }}
  +
{{pfrow|G|G|G| |J|G| | | |g}}
  +
{{pfrow|G|G|G|G| |G|G| |G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G|G|G|G|G|G|G}}
  +
{{pfend}}
  +
Stack the I on<br />top of the J.
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow|O|O|L|L|J|J|T|T|T|Z}}
  +
{{pfrow|O|O|G|L|J|G|S|T|Z|Z}}
  +
{{pfrow|G|G|G|L|J|G|S|S|Z|g}}
  +
{{pfrow|G|G|G|G| |G|G|S|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G|G|G|G|G|G|G}}
  +
{{pfend}}
  +
Play the<br />remainder.
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|G|G|G|G| |G|G|S|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfend}}
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow| | | | | |I| | | | }}
  +
{{pfrow|G|G|G|G| |G|G|S|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfend}}
  +
The end of the<br />20-bag loop.
  +
|}
  +
  +
But after the first bag of the next loop, we're exactly where we expect to be:
  +
{|
  +
|- valign="top"
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | |G| | | | }}
  +
{{pfrow| | | | | |G| | | | }}
  +
{{pfrow| | | | | |G| | | | }}
  +
{{pfrow| | | | | |G| | | | }}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfrow|G|G|G|G| |G|G|G|G|G}}
  +
{{pfend}}
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| |Z| | | |G| | | | }}
  +
{{pfrow|Z|Z|S| | |G|J|J|L|L}}
  +
{{pfrow|Z|T|S|S| |G|J|O|O|L}}
  +
{{pfrow|T|T|T|S| |G|J|O|O|L}}
  +
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
  +
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
  +
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
  +
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
  +
{{pfend}}
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| |Z| | | |G| | | | }}
  +
{{pfrow|Z|Z|S| | |G|J|J|L|L}}
  +
{{pfrow|Z|T|S|S| |G|J|O|O|L}}
  +
{{pfrow|T|T|T|S| |G|J|O|O|L}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
  +
{{pfend}}
  +
|{{pfstart}}{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
Line 458: Line 696:
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
 
{{pfrow| | | | | | | | | | }}
  +
{{pfrow| |Z| | | |G| | | | }}
  +
{{pfrow|Z|Z|S| | |G|J|J|L|L}}
  +
{{pfrow|Z|T|S|S| |G|J|O|O|L}}
  +
{{pfrow|T|T|T|S| |G|J|O|O|L}}
 
{{pfend}}
 
{{pfend}}
Back to <br> square one.
 
 
|}
 
|}
   
Line 466: Line 707:
 
*All tetris line clears
 
*All tetris line clears
 
*High [[Drop#Gravity|gravity]]
 
*High [[Drop#Gravity|gravity]]
  +
*A shorter loop than 140 pieces
 
*No [[hold piece]]
 
*No [[hold piece]]
  +
*Other bag randomizers
*Fewer [[preview]]s, as seen in ''[[Tetris Worlds]]'' for Game Boy Advance and ''[[Tetris The Grand Master Ace]]'' and ''[[Tetris Evolution]]''
 
  +
*Less than 3 next pieces
*14-piece bag randomizer
 
  +
*No perfect clear
  +
  +
It should be noted that all solutions will necessarily be a bag-multiple of pieces in length. Also, all loops must produce a net change of 0 after a complete cycle. This means that all solutions must clear as many lines as they stack, which requires pieces in a multiple of 5. Combining these 2 conditions, it can be seen that all solutions will be a multiple of 5 bags.
  +
  +
The STZ pattern loops every 4 bags, so all solutions that use it will necessarily be a multiple of 4-bags. Therefore with current techniques, in addition to the standard conditions above, the minimum loop size is 20 bags. As this is the size of the current solution, more efficient solutions will require a much revised approach.
  +
  +
Work is underway to determine whether a bravo solution in 5 bags is possible, or whether it must be a multiple of 10 bags. See [[Parity]].
   
 
== See also ==
 
== See also ==
 
*[[ST stacking]], a method of making back-to-back T-spin doubles
 
*[[ST stacking]], a method of making back-to-back T-spin doubles
   
  +
==External links==
[[Category:Methods of Play]]
 
  +
*[http://citeseer.ist.psu.edu/34848.html How to Lose at Tetris]
  +
*[http://arxiv.org/abs/cs.CC/0210020 Tetris is Hard, Even to Approximate]
  +
*[http://en.wikipedia.org/wiki/Tetromino#Tiling_the_rectangle_and_filling_the_box_with_2D_pieces Tiling a rectangular space with tetrominoes]
  +
  +
[[Category:Miscellaneous Methods]]

Latest revision as of 18:45, 27 July 2018

Playing forever like CT

A 140-tetromino run of this strategy.

The following outlines a method of playing forever given the following conditions, which apply in many Tetris products since 2001:

Standard procedure

Polyomino

The 10x56 cell tiling that this method creates

The general method is achieved by dividing the screen into self contained sections as shown below. Specifically, the 4 left columns, the 4 right columns, and the 2 middle columns will be treated as distinct regions, with specific pieces assigned exclusively to each region. Because the random generator provides strings of bags containing each of the 7 pieces in a random order, it is possible to construct a strategy around the relatively small variation, with looping patterns.

S, T, and Z will be placed to the left, L, J, and O will be placed to the right, and I pieces will fill the middle.

TetZTetTetTetITetTetTetTet
ZZSTetTetILOOJ
ZTSSTetILOOJ
TTTSTetILLJJ

The S, T, and Z piece loop

STTTTetTetTetTetTetTet
SSTZTetTetTetTetTetTet
SSZZTetTetTetTetTetTet
SSZZTetTetTetTetTetTet
TSZZTetTetTetTetTetTet
TTZTTetTetTetTetTetTet
TZTTTetTetTetTetTetTet
ZZSTTetTetTetTetTetTet
ZZSSTetTetTetTetTetTet
ZZSSTetTetTetTetTetTet
ZTSSTetTetTetTetTetTet
TTTSTetTetTetTetTetTet

This pattern loops after 4 bags of pieces. Depending on the order of the pieces for each bag, you may need to use Hold to force a piece to come last. Piece previews are technically not required to play this pattern.


The Z piece must drop after T, so use Hold to change the order if necessary:

TetZTetTetTetTetTetTetTetTet
ZZSTetTetTetTetTetTetTet
ZTSSTetTetTetTetTetTet
TTTSTetTetTetTetTetTet
GGGGTetTetTetTetTetTet

The T piece must not drop first, so use Hold to change the order if necessary:

TetTetTetTetTetTetTetTetTetTet
TetTetTetTTetTetTetTetTetTet
TetZTTTetTetTetTetTetTet
ZZSTTetTetTetTetTetTet
ZGSSTetTetTetTetTetTet
GGGSTetTetTetTetTetTet

Option 1

TTetTetTetTetTetTetTetTetTet
TTTetTetTetTetTetTetTetTet
TZTetTetTetTetTetTetTetTet
ZZSTetTetTetTetTetTetTet
ZGSSTetTetTetTetTetTet
GGGSTetTetTetTetTetTet

Option 2

The T piece must land diagonally adjacent to the other T, so use Hold to change the order if necessary:

STetTetTetTetTetTetTetTetTet
SSTetZTetTetTetTetTetTet
TSZZTetTetTetTetTetTet
TTZGTetTetTetTetTetTet
TGGGTetTetTetTetTetTet
GGGGTetTetTetTetTetTet

Option 1 (needs
T before S)

STetTetTetTetTetTetTetTetTet
SSTetZTetTetTetTetTetTet
GSZZTetTetTetTetTetTet
GGZTTetTetTetTetTetTet
GGTTTetTetTetTetTetTet
GGGTTetTetTetTetTetTet

Option 2 (needs
T before Z)

The T piece must drop last, so use Hold to change the order if necessary:

TetTetTetTetTetTetTetTetTetTet
STTTTetTetTetTetTetTet
SSTZTetTetTetTetTetTet
GSZZTetTetTetTetTetTet
GGZGTetTetTetTetTetTet

The L, J, and O piece loop

This pattern loops after a single bag of pieces. Depending on the order of the pieces, you will need to use a different construction. At least 5 previews are required to choose the appropriate construction. Alternatively, it is possible to use 3 previews and clever use of Hold (that does not conflict with the STZ loop's Hold needs) to choose an approriate construction using some advanced techniques.

O first (OJL, OLJ):

TetTetTetTetTetTetJJLL
TetTetTetTetTetTetJOOL
TetTetTetTetTetTetJOOL

O last (JLO, LJO):

TetTetTetTetTetTetLOOJ
TetTetTetTetTetTetLOOJ
TetTetTetTetTetTetLLJJ

JOL: (mirror for LOJ)

TetTetTetTetTetTetJJTetTet
TetTetTetTetTetTetJTetTetTet
TetTetTetTetTetTetJTetTetTet

Drop J

TetTetTetTetTetTetJJTetTet
TetTetTetTetTetTetJTetOO
TetTetTetTetTetTetJTetOO

Soft-drop O

TetTetTetTetTetTetJJTetTet
TetTetTetTetTetTetJOOTet
TetTetTetTetTetTetJOOTet

Slide O

TetTetTetTetTetTetJJLL
TetTetTetTetTetTetJOOL
TetTetTetTetTetTetJOOL

Drop L

Advanced techniques for when only 3 previews are available

Worst case bag distributions such as H?XX?X? and H?XXX?? deserve a special mention. The first piece 'H' denotes a piece which must be placed in Hold in order to follow the STZ loop procedure. Pieces from the LJO loop are denoted by '?', and the remaining pieces are denoted by 'X'. Using 3 previews and Hold, it is only possible to see the first 4 pieces of the bag before the second piece enters the screen. This means you only see H?XX, and only know the first piece of the LJO loop. Because H must be put in Hold, you are forced to make a decision without knowing the order of the rest of the LJO loop. If the O comes first, you can follow the procedure above without problems. The rest of the time you will run into complications like this:

Impossible O placement (eg. HLXXJXO, HLXXXJO):

TetTetTetTetTetTetJJLL
TetTetTetTetTetTetJTetTetL
TetTetTetTetTetTetJTetTetL

Impossible J placement (eg. HLXXOXJ, HLXXXOJ):

TetTetTetTetTetTetLOOTet
TetTetTetTetTetTetLOOTet
TetTetTetTetTetTetLLTetTet

When L or J come first it is impossible to determine which LJO pattern to use without knowing the order of the final 2 pieces. The solution to this problem is to wait until the first L or J piece enters the screen before making a decision. With the held piece, active piece, and 3 previews, you now see 5 pieces into the bag. This allows you to tell the LJO piece order for the case of H?XX?X?. However, in the case of H?XXX?? the order remains unknown. With this final worst case, the STZ loop is guaranteed to be finished before the second and third pieces of the LJO loop are dealt. This means Hold is available! You can start building whichever pattern you prefer, and use Hold to change the order of the final 2 pieces as necessary.

Tricky starts when only 3 previews are available

There is a worst case start that only complicates the very first bag when playing forever. With a sequence such as ?HXX?X? you can see a maximum of 4 pieces into the bag as you place the first piece. It is impossible to Hold the first piece (part of LJO) because the second piece (part of SZT) must be held. Additionally, because the second last piece is also part of the STZ loop, Hold cannot be used to change the order of the the final 2 LJO pieces as discussed above. So a decision must be made with only the first 4 pieces of the bag known. In this case, the solution is to note that the STZ pattern in the previous section requires the Z to be placed last. However, the mirror STZ pattern is equally feasible, and would require the S to be placed last. Because you have these 2 options, it is impossible that the first piece dealt for the STZ loop is required to be placed last. The worst case is now ?SZX?X?, which can be expressed as ?XHX?X?. By holding the first piece, placing the second, and holding the third, you can now see the first 6 pieces of the bag. This then allows you to choose an appropriate LJO pattern.

It should be noted that this affects only the very first bag of playing forever, which is not to be confused with the first bag of every 20-bag loop of playing forever. On subsequent loops, the first piece of the first bag is already in Hold. You can see the first 5 pieces of ?HXX?X? after you put H on Hold, which makes the first piece active, and sums to 5 with the 3 previews. It is only a problem for the first bag of the game because the player is restricted to a maximum of one use of Hold before placing a piece.

The I piece loop

This pattern loops every 2 bags. No use of Hold or piece previews is required. The player must simply alternate putting the I tetromino in columns 5 and 6 to reap tetrises.

TetTetTetTetITetTetTetTetTet
TetTetTetTetITetTetTetTetTet
TetTetTetTetITetTetTetTetTet
TetTetTetTetITetTetTetTetTet
TetTetTetTetGITetTetTetTet
TetTetTetTetGITetTetTetTet
TetTetTetTetGITetTetTetTet
TetTetTetTetGITetTetTetTet

Notice that the alternate JOL method will work only if the first I tetromino of the loop is placed away from the JLO heap.

Balancing the Stacks

Since the loops have a cycle of 4, 1, and 2 bags respectively, after playing 4 bags they will all be flat. However, the I loop will have only placed 8 rows compared to the 12 rows placed by both the STZ and LJO loops.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
STTTTetTetLOOJ
SSTZTetTetLOOJ
SSZZTetTetLLJJ
SSZZTetTetJJLL
TSZZIIJOOL
TTZTIIJOOL
TZTTIILOOJ
ZZSTIILOOJ
ZZSSIILLJJ
ZZSSIILOOJ
ZTSSIILOOJ
TTTSIILLJJ

The rows stacked
after 4 bags.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
STTTTetTetLOOJ
SSTZTetTetLOOJ
SSZZTetTetLLJJ
SSZZTetTetJJLL
----------
----------
----------
----------
----------
----------
----------
----------

Though of course,
lines have cleared.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
STTTTetTetLOOJ
SSTZTetTetLOOJ
SSZZTetTetLLJJ
SSZZTetTetJJLL

Leaving us with a
surplus.

In order to offset this balance, it is necessary to change strategy. Continue to do the standard STZ loop, while using the following LO and IJ loops.

The L, O piece loop

This pattern loops after 2 bags of pieces. Order is not important, and therefore neither Hold nor piece previews are strictly required for it.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetLTet
TetTetTetTetTetTetOOLTet
TetTetTetTetTetTetOOLL
TetTetTetTetTetTetOOLL
TetTetTetTetTetTetOOGL
TetTetTetTetTetTetGGGL
TetTetTetTetTetTetGGGG

The I, J piece loop

This pattern loops after 2 bags of pieces. Order is not important, and therefore neither Hold nor piece previews are strictly required for it.

JIIJ:

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
GGGGTetTetGGGG
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetJGGGG
GGGGTetJGGGG
GGGGJJGGGG
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
GGGGJJGGGG
GGGGJGGGGG
GGGGJGGGGG
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
GGGGGGGGGG

Because of line clears, the order is not very important. Even if you place pieces in the opposite order than what is shown, the net change in screen geometry will be the same:

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
GGGGTetTetGGGG
GGGGTetJGGGG
GGGGTetJGGGG
GGGGJJGGGG
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
GGGGTetTetGGGG
GGGGTetJGGGG
GGGGTetJGGGG
----------
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
GGGGJJGGGG
GGGGJJGGGG
GGGGJJGGGG
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
----------
----------
----------
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG
GGGGTetIGGGG

Putting it all together

If you play the standard method for 12 bags, the balancing method for 4 bags, and finally the reverse balancing method (with LO on the left and STZ on the right) for 4 bags, then you will clear the entire screen allowing you to start over again and play indefinitely.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG

The net result of
12 bags stacked
the standard way.

STTTTetTetTetTetTetTet
SSTZTetTetTetTetTetTet
SSZZTetTetTetTetTetTet
SSZZTetTetTetTetTetTet
TSZZTetTetOOLL
TTZTTetTetOOLL
TZTTTetTetOOLL
ZZSTTetTetOOLL
ZZSSJJOOLL
ZZSSJIOOLL
ZTSSJIOOLL
TTTSIIOOLL
GGGGIIGGGG
GGGGIJGGGG
GGGGIJGGGG
GGGGJJGGGG
GGGGJJGGGG
GGGGJIGGGG
GGGGJIGGGG
GGGGIIGGGG
GGGGIIGGGG
GGGGIJGGGG
GGGGIJGGGG
GGGGJJGGGG

The rows stacked
after 4 bags of
balanced stacking.

STTTTetTetTetTetTetTet
SSTZTetTetTetTetTetTet
SSZZTetTetTetTetTetTet
SSZZTetTetTetTetTetTet
TSZZTetTetOOLL
TTZTTetTetOOLL
TZTTTetTetOOLL
ZZSTTetTetOOLL
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------

Of course,
line clears
have actually...

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
STTTTetTetTetTetTetTet
SSTZTetTetTetTetTetTet
SSZZTetTetTetTetTetTet
SSZZTetTetTetTetTetTet
TSZZTetTetOOLL
TTZTTetTetOOLL
TZTTTetTetOOLL
ZZSTTetTetOOLL

...kept things
realistically short.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
GGGGTetTetTetTetTetTet
GGGGTetTetTetTetTetTet
GGGGTetTetTetTetTetTet
GGGGTetTetTetTetTetTet
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG
GGGGTetTetGGGG

Where we left off.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
OOLLJJTTTZ
OOLLJISTZZ
OOLLJISSZZ
OOLLIISSZZ
OOLLIISSZT
OOLLIJTSTT
OOLLIJTTST
OOLLJJTZSS
GGGGJJZZSS
GGGGJIZZSS
GGGGJIZZTS
GGGGIIZTTT
GGGGIIGGGG
GGGGIJGGGG
GGGGIJGGGG
GGGGJJGGGG

4 bags balancing
the other side.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet

Back to
square one.

The Final Bag

The final bag requires some special consideration. Because the sides are getting low, the J piece will not necessarily clear. So I must come before J in order to follow the pattern. You can't rely on using Hold for this as a worst case scenario (eg. TJIxxxx) would also require you to Hold the T. To deal with this problem, you can follow the procedure below.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetJJTetTetTetTet
TetTetGTetJGTetTetTetTet
GGGTetJGTetTetTetg
GGGGTetGGTetGG
GGGGTetGGGGG
GGGGTetGGGGG
GGGGTetGGGGG
GGGGGGGGGG

Stack the I on
top of the J.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
OOLLJJTTTZ
OOGLJGSTZZ
GGGLJGSSZg
GGGGTetGGSGG
GGGGTetGGGGG
GGGGTetGGGGG
GGGGTetGGGGG
GGGGGGGGGG

Play the
remainder.

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
----------
----------
----------
GGGGTetGGSGG
GGGGTetGGGGG
GGGGTetGGGGG
GGGGTetGGGGG
----------
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
TetTetTetTetTetITetTetTetTet
GGGGTetGGSGG
GGGGTetGGGGG
GGGGTetGGGGG
GGGGTetGGGGG

The end of the
20-bag loop.

But after the first bag of the next loop, we're exactly where we expect to be:

TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetGTetTetTetTet
TetTetTetTetTetGTetTetTetTet
TetTetTetTetTetGTetTetTetTet
TetTetTetTetTetGTetTetTetTet
GGGGTetGGGGG
GGGGTetGGGGG
GGGGTetGGGGG
GGGGTetGGGGG
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetZTetTetTetGTetTetTetTet
ZZSTetTetGJJLL
ZTSSTetGJOOL
TTTSTetGJOOL
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetZTetTetTetGTetTetTetTet
ZZSTetTetGJJLL
ZTSSTetGJOOL
TTTSTetGJOOL
----------
----------
----------
----------
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
TetZTetTetTetGTetTetTetTet
ZZSTetTetGJJLL
ZTSSTetGJOOL
TTTSTetGJOOL

Open questions

Adapting this method to the following situations is left as an exercise for the reader:

  • All tetris line clears
  • High gravity
  • A shorter loop than 140 pieces
  • No hold piece
  • Other bag randomizers
  • Less than 3 next pieces
  • No perfect clear

It should be noted that all solutions will necessarily be a bag-multiple of pieces in length. Also, all loops must produce a net change of 0 after a complete cycle. This means that all solutions must clear as many lines as they stack, which requires pieces in a multiple of 5. Combining these 2 conditions, it can be seen that all solutions will be a multiple of 5 bags.

The STZ pattern loops every 4 bags, so all solutions that use it will necessarily be a multiple of 4-bags. Therefore with current techniques, in addition to the standard conditions above, the minimum loop size is 20 bags. As this is the size of the current solution, more efficient solutions will require a much revised approach.

Work is underway to determine whether a bravo solution in 5 bags is possible, or whether it must be a multiple of 10 bags. See Parity.

See also

  • ST stacking, a method of making back-to-back T-spin doubles

External links