aboutsummaryrefslogtreecommitdiff
path: root/tris/srs.go
diff options
context:
space:
mode:
authorJoop Kiefte <ikojba@gmail.com>2020-09-07 05:39:11 +0200
committerJoop Kiefte <ikojba@gmail.com>2020-09-07 05:39:11 +0200
commitefc9585abc6db21b2c882a361c7bddee1a2b13fa (patch)
tree7926b40f75c3a9fbf867f4fb0dec1617309df883 /tris/srs.go
parentbcd3ffae567177730ac575293544e646995b0060 (diff)
Adding foundation for wall kicks
Diffstat (limited to 'tris/srs.go')
-rw-r--r--tris/srs.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/tris/srs.go b/tris/srs.go
new file mode 100644
index 0000000..d6c8220
--- /dev/null
+++ b/tris/srs.go
@@ -0,0 +1,32 @@
+package tris
+
+// As at the bottom of https://tetris.fandom.com/wiki/SRS but Y inverse because we start Y at the top
+type Kicks map[Rotation][]Point
+
+var K3CW = Kicks{
+ 0: {{X:0, Y:0}, {X:-1, Y:0}, {X:-1, Y: -1}, {X:0, Y:2}, {X:-1, Y:2}},
+ 1: {{X:0, Y:0}, {X:1, Y:0}, {X:1, Y: 1}, {X:0, Y:-2}, {X:1, Y:-2}},
+ 2: {{X:0, Y:0}, {X:1, Y:0}, {X:1, Y: -1}, {X:0, Y:2}, {X:1, Y:2}},
+ 3: {{X:0, Y:0}, {X:-1, Y:0}, {X:-1, Y: 1}, {X:0, Y:-2}, {X:-1, Y:-2}},
+}
+
+var K3CCW = Kicks{
+ 1: {{X:0, Y:0}, {X:1, Y:0}, {X:1, Y: 1}, {X:0, Y:-2}, {X:1, Y:-2}},
+ 2: {{X:0, Y:0}, {X:-1, Y:0}, {X:-1, Y:-1}, {X:0, Y:2}, {X:-1, Y:2}},
+ 3: {{X:0, Y:0}, {X:-1, Y:0}, {X:-1, Y: 1}, {X:0, Y:-2}, {X:-1, Y:-2}},
+ 0: {{X:0, Y:0}, {X:1, Y:0}, {X:1, Y: -1}, {X:0, Y:2}, {X:1, Y:2}},
+}
+
+var LCW = Kicks{
+ 0: {{X:0, Y:0}, {X:-2, Y:0}, {X:1, Y: 0}, {X:-2, Y:1}, {X:1, Y:-2}},
+ 1: {{X:0, Y:0}, {X:-1, Y:0}, {X:2, Y: 0}, {X:-1, Y:-2}, {X:2, Y:1}},
+ 2: {{X:0, Y:0}, {X:2, Y:0}, {X:-1, Y: 0}, {X:2, Y:-1}, {X:-1, Y:2}},
+ 3: {{X:0, Y:0}, {X:1, Y:0}, {X:-2, Y: 0}, {X:1, Y:2}, {X:-2, Y:-1}},
+}
+
+var LCCW = Kicks{
+ 1: {{X:0, Y:0}, {X:2, Y:0}, {X:-1, Y: 0}, {X:2, Y:-1}, {X:-1, Y:2}},
+ 2: {{X:0, Y:0}, {X:1, Y:0}, {X:-2, Y: 0}, {X:1, Y:2}, {X:-2, Y:-1}},
+ 3: {{X:0, Y:0}, {X:-2, Y:0}, {X:1, Y: 0}, {X:-2, Y:1}, {X:1, Y:-2}},
+ 0: {{X:0, Y:0}, {X:-1, Y:0}, {X:2, Y: 0}, {X:-1, Y:-2}, {X:2, Y:1}},
+}