Tetris Wiki
No edit summary
(spam)
(36 intermediate revisions by 28 users not shown)
Line 1: Line 1:
  +
[[Image:SRS-pieces.png|thumb|All rotation states of all seven tetrominoes. From top to bottom: I, J, L, O, S, T, Z. The circle doesn't appear in the game; it helps to illustrate the axis on which each tetromino rotates.]]
[http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=11&postno=26&type=.htm cheap lortab] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/adipex/n83 adipex online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=13&postno=9&type=.htm cheap ultracet] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcmluZ3RvbmVzL244Mw mp3 ringtones] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=365 fioricet online] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvYWRpcGV4L244Mw adipex] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5564 tracfone ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=9&postno=4&type=.htm prozac online] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=99 cheap ambien] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=17&postno=13&type=.htm qwest ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=1&postno=3&type=.htm zanaflex online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvYXRpdmFuL244Mw buy ativan] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=1&postno=4&type=.htm diethylpropion online] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvbGV2aXRyYS9uODM levitra online] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=79 valium online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/xanax/n83 cheap xanax] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5522 cheap tramadol] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=370 cheap viagra] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcGhlbnRlcm1pbmUvbjgz phentermine online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcmluZ3RvbmVzL244Mw free tracfone ringtones] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=380 free free ringtones] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=362 phentermine online] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=94 clonazepam] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=11&type=.htm sprint ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=101 xenical] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=376 clonazepam online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=17&postno=8&type=.htm tracfone ringtones] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5530 fioricet online] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvY2FyaXNvcHJvZG9sL244Mw carisoprodol online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvY2xvbmF6ZXBhbS9uODM but clonazepam] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQveGVuaWNhbC9uODM xenical online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvYWRpcGV4L244Mw cheap adipex] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=9&postno=12&type=.htm tenuate online] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQveGFuYXgvbjgz xanax] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvZGlhemVwYW0vbjgz diazepam online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5529 xanax online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/valium/n83 cheap valium] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvYXRpdmFuL244Mw buy ativan] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5552 order hydrocodone] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=1&postno=9&type=.htm zyban online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/soma/n83 buy soma] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=17&postno=4&type=.htm free wwe ringtones] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvdWx0cmFtL244Mw cheap ultram] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/meridia/n83 meridia online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5562 nokia ringtones] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5552 cheap ambien] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvY3ljbG9iZW56YXByaW5lL244Mw cheap cyclobenzaprine] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=11&postno=12&type=.htm cheap tramadol] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=84 cheap ultram] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvYW1iaWVuL244Mw ambien online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/phentermine/n83 phentermine] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5581 sonyericsson ringtones] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvdmFsaXVtL244Mw valium online] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=381 free tracfone ringtones] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5572 motorola ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=93 alprazolam online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5576 music ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=96 levitra online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvYWxwcmF6b2xhbS9uODM cheap alprazolam] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=17&postno=14&type=.htm free real ringtones] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5569 free qwest ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=5&type=.htm carisoprodol online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=11&postno=23&type=.htm free midi ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=9&postno=6&type=.htm buy clomid] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178197581.html free tracfone ringtones] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvdHJhbWFkb2wvbjgz buy tramadol] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcmluZ3RvbmVzL244Mw free free ringtones] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5549 levitra online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/norco/n83 but norco] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=13&postno=4&type=.htm buy lorazepam] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvZGlhemVwYW0vbjgz cheap diazepam] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/ringtones/n83 free free ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=100 lorazepam online] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178197475.html adipex online] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=374 vicodin online] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178197418.html cheap viagra] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcGhlbnRlcm1pbmUvbjgz phentermine online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=5&postno=5&type=.htm cheap paxil] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvd2VsbGJ1dHJpbi9uODM cheap wellbutrin] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178197549.html free ringtones] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=378 levitra online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5531 cheap ultram] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvdHJhbWFkb2wvbjgz order tramadol] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=87 ativan online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/ultracet/n83 ultracet online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvbWVyaWRpYS9uODM meridia online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=17&postno=7&type=.htm free ringtones] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcGF4aWwvbjgz paxil online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=5&postno=9&type=.htm mtv ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=85 online diazepam] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvZGlkcmV4L244Mw didrex] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcmluZ3RvbmVzL244Mw nokia ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=12&type=.htm free music ringtones] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5567 free mp3 ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=106 free mp3 ringtones] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=388 samsung ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=9&postno=10&type=.htm lipitor] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=17&type=.htm sonyericsson ringtones] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/ativan/n83 ativan online] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178196825.html cheap cialis] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=5&postno=2&type=.htm vicodin online] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178197501.html buy norco] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5533 cialis online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=5&postno=6&type=.htm levitra online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5541 buy norco] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/didrex/n83 didrex online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5566 funny ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=98 cheap hydrocodone] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvYWxwcmF6b2xhbS9uODM alprazolam online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/hydrocodone/n83 cheap hydrocodone] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5568 free nextel ringtones] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcmluZ3RvbmVzL244Mw funny ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=86 cheap cialis] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5574 free sprint ringtones] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5535 ativan] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=11&postno=15&type=.htm ativan online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQveGFuYXgvbjgz xanax online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=18&type=.htm free sony ericsson ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=88 viagra online] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178196796.html diazepam online] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvZmlvcmljZXQvbjgz fioricet online] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178197612.html funny ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=13&postno=11&type=.htm didrex online] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcmluZ3RvbmVzL244Mw free tracfone ringtones] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcmluZ3RvbmVzL244Mw nokia ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=91 norco online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvY2FyaXNvcHJvZG9sL244Mw carisoprodol online] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=102 free nokia ringtones] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvdWx0cmFtL244Mw ultram online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5563 free ringtones] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=95 paxil online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=16&type=.htm free sagem ringtones] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcGF4aWwvbjgz cheap paxil] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5560 cheap propecia] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/ambien/n83 ambien online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/ultram/n83 ultram online] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=367 cheap diazepam] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=11&postno=14&type=.htm valium online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/viagra/n83 cheap viagra] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=5&postno=7&type=.htm free sony ringtones] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=387 free motorola ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=5&postno=4&type=.htm clonazepam online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/diazepam/n83 cheap diazepam] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=11&postno=25&type=.htm pharmacy online online] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178197641.html mp3 ringtones] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvdWx0cmFjZXQvbjgz cheap ultracet] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5548 paxil online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=9&type=.htm diazepam] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=11&postno=16&type=.htm viagra] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=83 fioricet] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=5&postno=3&type=.htm alprazolam] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5526 cheap valium] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvbmV4aXVtL244Mw nexium online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=9&postno=8&type=.htm cheap lisinopril] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/clonazepam/n83 buy clonazepam] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=5&postno=8&type=.htm ericsson ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=11&postno=13&type=.htm cheap soma] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvbmV4aXVtL244Mw nexium online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvZGlkcmV4L244Mw didrex online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=9&postno=11&type=.htm celexa online] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/ringtones/n83 free mp3 ringtones] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5557 nexium] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5528 carisoprodol online] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=371 order meridia] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvdWx0cmFjZXQvbjgz cheap ultracet] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178196741.html fioricet online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5579 cingular ringtones] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcHJvcGVjaWEvbjgz propecia online] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=360 cheap soma] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=105 free funny ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=20&type=.htm alltel ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=11&postno=18&type=.htm online adipex] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=379 nokia ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=9&postno=9&type=.htm cheap zoloft] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=9&postno=5&type=.htm sildenafil online] [http://www2.cs.washington.edu/bugzilla/attachment.cgi?id=77 tramadol online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5583 free mono ringtones] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/cyclobenzaprine/n83 cyclobenzaprine online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvc29tYS9uODM soma online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvY2lhbGlzL244Mw cialis online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=9&postno=7&type=.htm cheap albuterol] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvY2lhbGlzL244Mw cialis] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=382 funny ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=13&postno=8&type=.htm nexium online] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvcmluZ3RvbmVzL244Mw free mp3 ringtones] [http://edweb6.educ.msu.edu/forum/forum_posts.asp?TID=377 paxil online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5547 clonazepam online] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5559 ultracet online] [http://www.cs.txstate.edu/~ob1016/ProxyServer/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvc29tYS9uODM soma online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=17&postno=5&type=.htm kyocera ringtones] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/fioricet/n83 fioricet online] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=5&postno=10&type=.htm jazz ringtones] [http://www.sccs.swarthmore.edu/org/daily/forum/papprint.php?id=5556 but cyclobenzaprine] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=17&postno=6&type=.htm free nokia ringtones] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/propecia/n83 buy propecia] [http://dblife.cs.wisc.edu/markUpDBWorld.cgi?fileName=messages/2007-05/1178197240.html cheap ativan] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=13&type=.htm free verizon ringtones] [http://boole.cs.iastate.edu/semanticweb/attachment.cgi?forum=49&topic=25&postno=7&type=.htm fioricet online] [http://eden.rutgers.edu/~goldins/random/index.php?q=aHR0cDovL2RpdmluZy1kZWVwLm5ldC9uZXQvYW1iaWVuL244Mw order ambien] [http://shell.ce.sharif.edu/~taghi/nph-proxy.cgi/011100A/http/diving-deep.net/net/xenical/n83 xenical online] [[Image:SRS-pieces.png|thumb|All rotation states of all seven tetrominoes. From top to bottom: I, J, L, O, S, T, Z. The circle doesn't appear in the game; it helps to illustrate the axis on which each tetromino rotates.]]
 
'''''Super Rotation System''''', or '''''SRS''''' is the current [[Tetris Guideline]] standard for how [[tetromino|tetrominoes]] behave, in a broad sense. SRS represents where and how tetrominoes spawn, how they [[rotate]], and what [[wall kick|wall kicks]] they may perform. In [[Tetris The Grand Master 3 Terror-Instinct|TI]], a player may choose between ''World'' and ''Classic'' rotation styles. ''World'' closely resembles SRS, and ''Classic'' closely resembles the rotation styles of its predecessors [[Tetris The Grand Master|TGM]] and [[Tetris The Absolute The Grand Master 2|TAP]]. [[Henk Rogers]], in his effort to unify all new Tetris games into the Tetris Guideline, required [[Arika]] to include SRS, which is called ''World'' in Ti. SRS traces its routes back to 1991 when [[BPS]] introduced its signature third and fourth [[orientation]]s for the ''S'', ''Z'', and ''I'' tetrominoes in their [[Tetris 2 and Bombliss|Tetris 2 Bombliss]]. Later would come flipped-side-up spawned ''T'', ''L'', and ''J'' tetrominoes and flexible new wall kicks. Probably the most accurate SRS finds itself in BPS's latest games [[Tetris Worlds]] and [[Tetris Deluxe]], which both feature exact same rotation styles.
+
'''''Super Rotation System''''', or '''''SRS''''' is the current [[Tetris Guideline]] standard for how [[tetromino]]es behave, in a broad sense. SRS represents where and how tetrominoes spawn, how they [[rotate]], and what [[wall kick]]s they may perform. In [[Tetris The Grand Master 3 Terror-Instinct|TI]], a player may choose between ''World'' and ''Classic'' rotation styles. ''World'' closely resembles SRS, and ''Classic'' closely resembles the rotation styles of its predecessors [[Tetris The Grand Master|TGM]] and [[Tetris The Absolute The Grand Master 2|TAP]]. [[Henk Rogers]], in his effort to unify all new Tetris games into the Tetris Guideline, required [[Arika]] to include SRS, which is called ''World'' in Ti. SRS traces its routes back to 1991 when [[BPS]] introduced its signature third and fourth [[orientation]]s for the ''S'', ''Z'', and ''I'' tetrominoes in their [[Tetris 2 and Bombliss|Tetris 2+Bombliss]]. Later would come flipped-side-up spawned ''T'', ''L'', and ''J'' tetrominoes and flexible new wall kicks. Probably the most accurate SRS finds itself in BPS's latest games [[Tetris Worlds]] and [[Tetris Deluxe]], which both feature exact same rotation styles.
   
  +
==Spawn Orientation and Location==
==Description==
 
All tetrominoes exist inside a bounding square and rotate about the center of this square unless obstructed. Tetrominoes of width 3 (J, L, S, T, Z) are placed in the top two rows of the bounding square and (for J, L, and T) with the flat side down. I is placed in the top middle row.
 
   
  +
The spawn orientations are included in the diagram on the right.
All tetrominoes spawn in 2 usually hidden rows at the top of the playfield. They are placed in the center of these rows, rounding to the left.
 
  +
* All tetrominoes spawn horizontally and wholly above the playfield.
  +
* The ''I'' and ''O'' tetrominoes spawn centrally, and the other, 3-cell wide tetrominoes spawn rounded to the left.
  +
* The ''J'', ''L'' and ''T'' spawn pointing up.
  +
* In Tetris Worlds, the tetrominoes spawn in rows 22 and 23 (or just row 22 in the case of the "I" tetromino), however, in later games the tetrominoes spawn 1 row lower.
   
  +
==Basic Rotation==
Once a tetromino lands, it does not lock until the lock delay expires. The lock delay behavior, called [[Infinity]] by the Tetris Company, resets the lock delay whenever the tetromino is moved or rotated.
 
  +
The basic rotation states are shown in the diagram on the right.
Hard drop is generally mapped to up, which has has no lock delay.
 
  +
Some points to note:
  +
* When unobstructed, the tetrominoes all rotate purely about a single point. These apparent rotation centers are shown as circles in the diagram.
  +
* It is a pure rotation in a mathematical sense, as opposed to the combination of rotation and translation found in other systems such as [[Sega Rotation]] and [[Atari Rotation]].
  +
* As a direct consequence, the ''J'', ''L'', ''S'', ''T'' and ''Z'' tetrominoes have 1 of their 4 states (the spawn state) in a "floating" position where they are not in contact with the bottom of their [[bounding box]].
  +
* This allows the bounding box to descend below the surface of the stack (or the floor of the playing field) making it impossible for the tetrominoes to be rotated without the aid of floor kicks.
  +
* The ''S'', ''Z'' and ''I'' tetrominoes have two horizontally oriented states and two vertically oriented states.
  +
* For the "I" and "O" tetrominoes, the apparent rotation center is at the intersection of gridlines, whereas for the "J", "L", "S", "T" and "Z" tetrominoes, the rotation center coincides with the center of one of the four constituent minoes.
   
  +
==Wall Kicks==
Wall kicks in SRS are extremely flexible compared to those of earlier games. Some rotations result in new positions that do not overlap the former position at all, allowing for highly controversial T-spin triples (see [[Twist]]).
 
  +
When the player attempts to rotate a tetromino, but the position it would normally occupy after basic rotation is obstructed, (either by the wall or floor of the playfield, or by the stack), the game will attempt to "kick" the tetromino into an alternative position nearby.
  +
Some points to note:
  +
* When a rotation is attempted, 5 positions are sequentially tested (inclusive of basic rotation); if none are available, the rotation fails completely.
  +
* Which positions are tested is determined by the initial rotation state, and the desired final rotation state. Because it is possible to rotate both clockwise and counter-clockwise, for each of the 4 initial states there are 2 final states. Therefore there are a total of 8 possible rotations for each tetromino and 8 sets of wall kick data need to be described.
  +
* The positions are commonly described as a sequence of <tt>(&nbsp;x,&nbsp;y)</tt> kick values representing translations relative to basic rotation; a convention of positive x rightwards, positive y upwards is used, e.g. <tt>(-1, 2)</tt> would indicate a kick of 1 cell left and 2 cells up.
  +
* The ''J'', ''L'', ''S'', ''T'' and ''Z'' tetrominoes all share the same kick values, the ''I'' tetromino has its own set of kick values, and the ''O'' tetromino does not kick.
  +
* Several different conventions are commonly used for the naming of the rotation states. On this page, the following convention will be used:
  +
**0 = spawn state
  +
**1 = state resulting from a clockwise rotation ("right") from spawn
  +
**2 = state resulting from 2 successive rotations in either direction from spawn.
  +
**3 = state resulting from a counter-clockwise ("left") rotation from spawn
  +
  +
  +
{| border="1" cellspacing="0"
  +
|+'''J, L, S, T, Z Tetromino Wall Kick Data'''
  +
|- align = center
  +
! width="45"|
  +
! bgcolor="#80A3F8" width="60"|Test 1
  +
! bgcolor="#80A3F8" width="60"|Test 2
  +
! bgcolor="#80A3F8" width="60"|Test 3
  +
! bgcolor="#80A3F8" width="60"|Test 4
  +
! bgcolor="#80A3F8" width="60"|Test 5
  +
|}
  +
  +
{| border="1" cellspacing="0"
  +
|- align = center
  +
| bgcolor="#80A3F8" width="45"|0>>1
  +
|width="60"|<tt>( 0, 0)</tt>
  +
|width="60"|<tt>(-1, 0)</tt>
  +
|width="60"|<tt>(-1, 1)</tt>
  +
|width="60"|<tt>( 0,-2)</tt>
  +
|width="60"|<tt>(-1,-2)</tt>
  +
|- align = center
  +
| bgcolor="#80A3F8"|1>>0||<tt>( 0, 0)</tt>||<tt>( 1, 0)</tt>||<tt>( 1,-1)</tt>||<tt>( 0, 2)</tt>||<tt>( 1, 2)</tt>
  +
|}
  +
  +
{| border="1" cellspacing="0"
  +
|- align = center
  +
| bgcolor="#80A3F8" width="45"|1>>2
  +
|width="60"|<tt>( 0, 0)</tt>
  +
|width="60"|<tt>( 1, 0)</tt>
  +
|width="60"|<tt>( 1,-1)</tt>
  +
|width="60"|<tt>( 0, 2)</tt>
  +
|width="60"|<tt>( 1, 2)</tt>
  +
|- align = center
  +
| bgcolor="#80A3F8"|2>>1||<tt>( 0, 0)</tt>||<tt>(-1, 0)</tt>||<tt>(-1, 1)</tt>||<tt>( 0,-2)</tt>||<tt>(-1,-2)</tt>
  +
|}
  +
  +
{| border="1" cellspacing="0"
  +
|- align = center
  +
| bgcolor="#80A3F8" width="45"|2>>3
  +
|width="60"|<tt>( 0, 0)</tt>
  +
|width="60"|<tt>( 1, 0)</tt>
  +
|width="60"|<tt>( 1, 1)</tt>
  +
|width="60"|<tt>( 0,-2)</tt>
  +
|width="60"|<tt>( 1,-2)</tt>
  +
|- align = center
  +
| bgcolor="#80A3F8"|3>>2||<tt>( 0, 0)</tt>||<tt>(-1, 0)</tt>||<tt>(-1,-1)</tt>||<tt>( 0, 2)</tt>||<tt>(-1, 2)</tt>
  +
|}
  +
  +
{| border="1" cellspacing="0"
  +
|- align = center
  +
| bgcolor="#80A3F8" width="45"|3>>0
  +
|width="60"|<tt>( 0, 0)</tt>
  +
|width="60"|<tt>(-1, 0)</tt>
  +
|width="60"|<tt>(-1,-1)</tt>
  +
|width="60"|<tt>( 0, 2)</tt>
  +
|width="60"|<tt>(-1, 2)</tt>
  +
|- align = center
  +
| bgcolor="#80A3F8"|0>>3||<tt>( 0, 0)</tt>||<tt>( 1, 0)</tt>||<tt>( 1, 1)</tt>||<tt>( 0,-2)</tt>||<tt>( 1,-2)</tt>
  +
|}
  +
  +
  +
  +
{| border="1" cellspacing="0"
  +
|+'''I Tetromino Wall Kick Data'''
  +
|- align = center
  +
! width="45"|
  +
! bgcolor="#80A3F8" width="60"|Test 1
  +
! bgcolor="#80A3F8" width="60"|Test 2
  +
! bgcolor="#80A3F8" width="60"|Test 3
  +
! bgcolor="#80A3F8" width="60"|Test 4
  +
! bgcolor="#80A3F8" width="60"|Test 5
  +
|}
  +
  +
{| border="1" cellspacing="0"
  +
|- align = center
  +
| bgcolor="#80A3F8" width="45"|0>>1
  +
|width="60"|<tt>( 0, 0)</tt>
  +
|width="60"|<tt>(-2, 0)</tt>
  +
|width="60"|<tt>( 1, 0)</tt>
  +
|width="60"|<tt>(-2,-1)</tt>
  +
|width="60"|<tt>( 1, 2)</tt>
  +
|- align = center
  +
| bgcolor="#80A3F8"|1>>0||<tt>( 0, 0)</tt>||<tt>( 2, 0)</tt>||<tt>(-1, 0)</tt>||<tt>( 2, 1)</tt>||<tt>(-1,-2)</tt>
  +
|}
  +
  +
{| border="1" cellspacing="0"
  +
|- align = center
  +
| bgcolor="#80A3F8" width="45"|1>>2
  +
|width="60"|<tt>( 0, 0)</tt>
  +
|width="60"|<tt>(-1, 0)</tt>
  +
|width="60"|<tt>( 2, 0)</tt>
  +
|width="60"|<tt>(-1, 2)</tt>
  +
|width="60"|<tt>( 2,-1)</tt>
  +
|- align = center
  +
| bgcolor="#80A3F8"|2>>1||<tt>( 0, 0)</tt>||<tt>( 1, 0)</tt>||<tt>(-2, 0)</tt>||<tt>( 1,-2)</tt>||<tt>(-2, 1)</tt>
  +
|}
  +
  +
{| border="1" cellspacing="0"
  +
|- align = center
  +
| bgcolor="#80A3F8" width="45"|2>>3
  +
|width="60"|<tt>( 0, 0)</tt>
  +
|width="60"|<tt>( 2, 0)</tt>
  +
|width="60"|<tt>(-1, 0)</tt>
  +
|width="60"|<tt>( 2, 1)</tt>
  +
|width="60"|<tt>(-1,-2)</tt>
  +
|- align = center
  +
| bgcolor="#80A3F8"|3>>2||<tt>( 0, 0)</tt>||<tt>(-2, 0)</tt>||<tt>( 1, 0)</tt>||<tt>(-2,-1)</tt>||<tt>( 1, 2)</tt>
  +
|}
  +
  +
{| border="1" cellspacing="0"
  +
|- align = center
  +
| bgcolor="#80A3F8" width="45"|3>>0
  +
|width="60"|<tt>( 0, 0)</tt>
  +
|width="60"|<tt>( 1, 0)</tt>
  +
|width="60"|<tt>(-2, 0)</tt>
  +
|width="60"|<tt>( 1,-2)</tt>
  +
|width="60"|<tt>(-2, 1)</tt>
  +
|- align = center
  +
| bgcolor="#80A3F8"|0>>3||<tt>( 0, 0)</tt>||<tt>(-1, 0)</tt>||<tt>( 2, 0)</tt>||<tt>(-1, 2)</tt>||<tt>( 2,-1)</tt>
  +
|}
   
 
==20G==
 
==20G==
Since Henk Rogers has never been directly involved with a game boasting 20G, certain behaviors are likely undefined in the Tetris Guidelines. ''Tetris Worlds'' approaches 20G but reportedly never attains it. TGM3 and TGM ACE are the first and second games to support 20G and SRS, and ''[[Tetris DS]]'' (TDS) is the third. Though the rotations are identical, these games have different mobility restrictions due to their different order of processing events in between frames.
+
Since Henk Rogers has not been directly involved with a game boasting [[20G]] aside from [[Tetris Zone]], and the guideline Marathon mode only reaches 2.36G (same as ''Tetris Worlds''), certain behaviors are undefined in the Tetris Guideline. ''Tetris Worlds'' reaches only 2.36G. ''Minna no Soft Series: Tetris Advance'' was the first game to feature SRS and 20G. TGM3 and TGM ACE are the second and third, and ''[[Tetris DS]]'' (TDS) is the fourth. Though the rotations are identical, these games have different mobility restrictions due to their different order of processing events in between frames.
   
 
In this example, Left is being held and then a clockwise rotation is initiated.
 
In this example, Left is being held and then a clockwise rotation is initiated.
 
{|
 
{|
 
|{{pfstart}}{{pfrow| | | | | | | | | | |}}{{pfrow|G|G|L|L|L| | | | | |}}
|{{pfstart}}
 
{{pfrow| | | | | | | | | | |}}
 
{{pfrow|G|G|L|L|L| | | | | |}}
 
 
{{pfrow|G|G|L| | | | | | | |}}
 
{{pfrow|G|G|L| | | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
 
{{pfend}}
 
{{pfend}}
 
|{{pfstart}}{{pfrow| | |L|L| | | | | | |}}{{pfrow|G|G| |L| | | | | | |}}
|{{pfstart}}
 
{{pfrow| | |L|L| | | | | | |}}
 
{{pfrow|G|G| |L| | | | | | |}}
 
 
{{pfrow|G|G| |L| | | | | | |}}
 
{{pfrow|G|G| |L| | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
Line 31: Line 169:
 
|}
 
|}
   
The above example ends mid-frame... So the figure on the right is never actually rendered. It simply represents the internal game status after rotation has been processed.
+
The above example ends mid-frame. So the figure on the right is never actually rendered. It simply represents the internal game status after rotation has been processed.
   
Now, if the game processes movement followed by gravity, the following scenario will happen (as found in TGM3).
+
Now, if the game processes movement followed by gravity, the following scenario will happen (as found in TGM3, TGMA and Tetris Zone). This is most likely the result of the relatively fast DAS.
 
{|
 
{|
 
|{{pfstart}}{{pfrow| | |L|L| | | | | | |}}{{pfrow|G|G| |L| | | | | | |}}
|{{pfstart}}
 
{{pfrow| | |L|L| | | | | | |}}
 
{{pfrow|G|G| |L| | | | | | |}}
 
 
{{pfrow|G|G| |L| | | | | | |}}
 
{{pfrow|G|G| |L| | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
 
{{pfend}}
 
{{pfend}}
 
|{{pfstart}}{{pfrow| |L|L| | | | | | | |}}{{pfrow|G|G|L| | | | | | | |}}
|{{pfstart}}
 
{{pfrow| |L|L| | | | | | | |}}
 
{{pfrow|G|G|L| | | | | | | |}}
 
 
{{pfrow|G|G|L| | | | | | | |}}
 
{{pfrow|G|G|L| | | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
Line 51: Line 185:
 
On the other hand, if gravity is processed next, the following scenario will happen (as found in TDS). This could be the result of either movement processed after gravity, movement processed before rotation, or (most likely in the case of TDS) movement occurring one or more frames after both rotation and gravity due to slow [[DAS]].
 
On the other hand, if gravity is processed next, the following scenario will happen (as found in TDS). This could be the result of either movement processed after gravity, movement processed before rotation, or (most likely in the case of TDS) movement occurring one or more frames after both rotation and gravity due to slow [[DAS]].
 
{|
 
{|
 
|{{pfstart}}{{pfrow| | |L|L| | | | | | |}}{{pfrow|G|G| |L| | | | | | |}}
|{{pfstart}}
 
{{pfrow| | |L|L| | | | | | |}}
 
{{pfrow|G|G| |L| | | | | | |}}
 
 
{{pfrow|G|G| |L| | | | | | |}}
 
{{pfrow|G|G| |L| | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
 
{{pfrow|G|G|G| | | | | | | |}}
 
{{pfend}}
 
{{pfend}}
 
|{{pfstart}}{{pfrow| | | | | | | | | | |}}{{pfrow|G|G|L|L| | | | | | |}}
|{{pfstart}}
 
{{pfrow| | | | | | | | | | |}}
 
{{pfrow|G|G|L|L| | | | | | |}}
 
 
{{pfrow|G|G| |L| | | | | | |}}
 
{{pfrow|G|G| |L| | | | | | |}}
 
{{pfrow|G|G|G|L| | | | | | |}}
 
{{pfrow|G|G|G|L| | | | | | |}}
Line 66: Line 196:
   
 
==External links==
 
==External links==
*[http://www.tetrisconcept.com/tdsg.txt Tetris DS Systems Guide]
+
*[http://www.tetrisconcept.com/tdsg.txt Tetris DS Systems Guide (dead link)]
 
*[http://web.archive.org/web/20081216145551/http://www.the-shell.net/img/srs_study.html Jaragochi's analysis] of SRS wallkicks (Wayback Machine archived)
*[http://epictetris2.ytmnd.com/ T-SPIN]
 
*[http://www.the-shell.net/img/srs_study.html Jagorochi's analysis] of SRS wall kicks
 
 
 
[[Category:Game Mechanics]]
 
[[Category:Gameplay Components]]
 
 
[[Category:Rotation Systems]]
 
[[Category:Rotation Systems]]

Revision as of 23:47, 6 October 2019

SRS-pieces

All rotation states of all seven tetrominoes. From top to bottom: I, J, L, O, S, T, Z. The circle doesn't appear in the game; it helps to illustrate the axis on which each tetromino rotates.

Super Rotation System, or SRS is the current Tetris Guideline standard for how tetrominoes behave, in a broad sense. SRS represents where and how tetrominoes spawn, how they rotate, and what wall kicks they may perform. In TI, a player may choose between World and Classic rotation styles. World closely resembles SRS, and Classic closely resembles the rotation styles of its predecessors TGM and TAP. Henk Rogers, in his effort to unify all new Tetris games into the Tetris Guideline, required Arika to include SRS, which is called World in Ti. SRS traces its routes back to 1991 when BPS introduced its signature third and fourth orientations for the S, Z, and I tetrominoes in their Tetris 2+Bombliss. Later would come flipped-side-up spawned T, L, and J tetrominoes and flexible new wall kicks. Probably the most accurate SRS finds itself in BPS's latest games Tetris Worlds and Tetris Deluxe, which both feature exact same rotation styles.

Spawn Orientation and Location

The spawn orientations are included in the diagram on the right.

  • All tetrominoes spawn horizontally and wholly above the playfield.
  • The I and O tetrominoes spawn centrally, and the other, 3-cell wide tetrominoes spawn rounded to the left.
  • The J, L and T spawn pointing up.
  • In Tetris Worlds, the tetrominoes spawn in rows 22 and 23 (or just row 22 in the case of the "I" tetromino), however, in later games the tetrominoes spawn 1 row lower.

Basic Rotation

The basic rotation states are shown in the diagram on the right. Some points to note:

  • When unobstructed, the tetrominoes all rotate purely about a single point. These apparent rotation centers are shown as circles in the diagram.
  • It is a pure rotation in a mathematical sense, as opposed to the combination of rotation and translation found in other systems such as Sega Rotation and Atari Rotation.
  • As a direct consequence, the J, L, S, T and Z tetrominoes have 1 of their 4 states (the spawn state) in a "floating" position where they are not in contact with the bottom of their bounding box.
  • This allows the bounding box to descend below the surface of the stack (or the floor of the playing field) making it impossible for the tetrominoes to be rotated without the aid of floor kicks.
  • The S, Z and I tetrominoes have two horizontally oriented states and two vertically oriented states.
  • For the "I" and "O" tetrominoes, the apparent rotation center is at the intersection of gridlines, whereas for the "J", "L", "S", "T" and "Z" tetrominoes, the rotation center coincides with the center of one of the four constituent minoes.

Wall Kicks

When the player attempts to rotate a tetromino, but the position it would normally occupy after basic rotation is obstructed, (either by the wall or floor of the playfield, or by the stack), the game will attempt to "kick" the tetromino into an alternative position nearby. Some points to note:

  • When a rotation is attempted, 5 positions are sequentially tested (inclusive of basic rotation); if none are available, the rotation fails completely.
  • Which positions are tested is determined by the initial rotation state, and the desired final rotation state. Because it is possible to rotate both clockwise and counter-clockwise, for each of the 4 initial states there are 2 final states. Therefore there are a total of 8 possible rotations for each tetromino and 8 sets of wall kick data need to be described.
  • The positions are commonly described as a sequence of ( x, y) kick values representing translations relative to basic rotation; a convention of positive x rightwards, positive y upwards is used, e.g. (-1, 2) would indicate a kick of 1 cell left and 2 cells up.
  • The J, L, S, T and Z tetrominoes all share the same kick values, the I tetromino has its own set of kick values, and the O tetromino does not kick.
  • Several different conventions are commonly used for the naming of the rotation states. On this page, the following convention will be used:
    • 0 = spawn state
    • 1 = state resulting from a clockwise rotation ("right") from spawn
    • 2 = state resulting from 2 successive rotations in either direction from spawn.
    • 3 = state resulting from a counter-clockwise ("left") rotation from spawn


J, L, S, T, Z Tetromino Wall Kick Data
Test 1 Test 2 Test 3 Test 4 Test 5
0>>1 ( 0, 0) (-1, 0) (-1, 1) ( 0,-2) (-1,-2)
1>>0 ( 0, 0) ( 1, 0) ( 1,-1) ( 0, 2) ( 1, 2)
1>>2 ( 0, 0) ( 1, 0) ( 1,-1) ( 0, 2) ( 1, 2)
2>>1 ( 0, 0) (-1, 0) (-1, 1) ( 0,-2) (-1,-2)
2>>3 ( 0, 0) ( 1, 0) ( 1, 1) ( 0,-2) ( 1,-2)
3>>2 ( 0, 0) (-1, 0) (-1,-1) ( 0, 2) (-1, 2)
3>>0 ( 0, 0) (-1, 0) (-1,-1) ( 0, 2) (-1, 2)
0>>3 ( 0, 0) ( 1, 0) ( 1, 1) ( 0,-2) ( 1,-2)


I Tetromino Wall Kick Data
Test 1 Test 2 Test 3 Test 4 Test 5
0>>1 ( 0, 0) (-2, 0) ( 1, 0) (-2,-1) ( 1, 2)
1>>0 ( 0, 0) ( 2, 0) (-1, 0) ( 2, 1) (-1,-2)
1>>2 ( 0, 0) (-1, 0) ( 2, 0) (-1, 2) ( 2,-1)
2>>1 ( 0, 0) ( 1, 0) (-2, 0) ( 1,-2) (-2, 1)
2>>3 ( 0, 0) ( 2, 0) (-1, 0) ( 2, 1) (-1,-2)
3>>2 ( 0, 0) (-2, 0) ( 1, 0) (-2,-1) ( 1, 2)
3>>0 ( 0, 0) ( 1, 0) (-2, 0) ( 1,-2) (-2, 1)
0>>3 ( 0, 0) (-1, 0) ( 2, 0) (-1, 2) ( 2,-1)

20G

Since Henk Rogers has not been directly involved with a game boasting 20G aside from Tetris Zone, and the guideline Marathon mode only reaches 2.36G (same as Tetris Worlds), certain behaviors are undefined in the Tetris Guideline. Tetris Worlds reaches only 2.36G. Minna no Soft Series: Tetris Advance was the first game to feature SRS and 20G. TGM3 and TGM ACE are the second and third, and Tetris DS (TDS) is the fourth. Though the rotations are identical, these games have different mobility restrictions due to their different order of processing events in between frames.

In this example, Left is being held and then a clockwise rotation is initiated.

TetTetTetTetTetTetTetTetTetTet
GGLLLTetTetTetTetTet
GGLTetTetTetTetTetTetTet
GGGTetTetTetTetTetTetTet
TetTetLLTetTetTetTetTetTet
GGTetLTetTetTetTetTetTet
GGTetLTetTetTetTetTetTet
GGGTetTetTetTetTetTetTet

The above example ends mid-frame. So the figure on the right is never actually rendered. It simply represents the internal game status after rotation has been processed.

Now, if the game processes movement followed by gravity, the following scenario will happen (as found in TGM3, TGMA and Tetris Zone). This is most likely the result of the relatively fast DAS.

TetTetLLTetTetTetTetTetTet
GGTetLTetTetTetTetTetTet
GGTetLTetTetTetTetTetTet
GGGTetTetTetTetTetTetTet
TetLLTetTetTetTetTetTetTet
GGLTetTetTetTetTetTetTet
GGLTetTetTetTetTetTetTet
GGGTetTetTetTetTetTetTet

On the other hand, if gravity is processed next, the following scenario will happen (as found in TDS). This could be the result of either movement processed after gravity, movement processed before rotation, or (most likely in the case of TDS) movement occurring one or more frames after both rotation and gravity due to slow DAS.

TetTetLLTetTetTetTetTetTet
GGTetLTetTetTetTetTetTet
GGTetLTetTetTetTetTetTet
GGGTetTetTetTetTetTetTet
TetTetTetTetTetTetTetTetTetTet
GGLLTetTetTetTetTetTet
GGTetLTetTetTetTetTetTet
GGGLTetTetTetTetTetTet

External links