diff options
author | Joop Kiefte <ikojba@gmail.com> | 2020-09-07 05:39:11 +0200 |
---|---|---|
committer | Joop Kiefte <ikojba@gmail.com> | 2020-09-07 05:39:11 +0200 |
commit | efc9585abc6db21b2c882a361c7bddee1a2b13fa (patch) | |
tree | 7926b40f75c3a9fbf867f4fb0dec1617309df883 /tris/srs.go | |
parent | bcd3ffae567177730ac575293544e646995b0060 (diff) |
Adding foundation for wall kicks
Diffstat (limited to 'tris/srs.go')
-rw-r--r-- | tris/srs.go | 32 |
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}}, +} |