User:Nightmareci/SRS

From TetrisWiki
< User:Nightmareci
Revision as of 09:55, 3 July 2009 by Nightmareci (talk | contribs) (A very new description of SRS)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Offsets

I
(+0, +0) (-1, +0) (+2, +0) (-1, +0) (+2, +0)
90° (-1, +0) (+0, +0) (+0, +0) (+0, +1) (+0, -2)
180° (-1, +1) (+1, +1) (-2, +1) (+1, +0) (-2, +0)
270° (+0, +1) (+0, +1) (+0, +1) (+0, -1) (+0, +2)


J, L, S, T and Z
(+0, +0) (+0, +0) (+0, +0) (+0, +0) (+0, +0)
90° (+0, +0) (+1, +0) (+1, -1) (+0, +2) (+1, +2)
180° (+0, +0) (+0, +0) (+0, +0) (+0, +0) (+0, +0)
270° (+0, +0) (-1, +0) (-1, -1) (+0, +2) (-1, +2)


O
(+0, +0)
90° (+0, -1)
180° (-1, -1)
270° (-1, +0)

Explanation of Offsets

Upon pressing a rotation input, clockwise or counterclockwise, there is orientation-start (the orientation before the rotation input is sent) and orientation-end (the orientation that will possibly be changed to). True rotation is performed from orientation-start to orientation-end, even if intersection occurs. Next, the first offset pair is attempted; given (a, b) as the first offset for orientation-start and (c, d) as the offset for orientation-end, the number of columns the offset attempt goes rightward is a-c when a-c is positive and leftward if a-c is negative, and the number of rows upward is b-d if b-d is positive and downward if b-d is negative. If applying the first pair of offsets results in some intersection with the field or walls, then the next offset pair is tried, and so on, until an offset pair succeeds; if none succeed, then no change in state will have occurred.