summaryrefslogtreecommitdiff
path: root/game/tetrominoes.lua
blob: 83529ef0fcc6d06c21fe272d112cf734ce6c67d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
local poly = require "game.polyomino"

local M = {}
M.__index = M

local jlstz_kicks = {
	{{0,0}, {-1,0}, {-1, 1}, {0,-2}, {-1,-2}},
	{{0,0}, { 1,0}, { 1,-1}, {0, 2}, { 1, 2}},
	{{0,0}, { 1,0}, { 1, 1}, {0,-2}, { 1,-2}},
	{{0,0}, {-1,0}, {-1,-1}, {0, 2}, {-1, 2}},
}

M.i = poly.def("tetr.I", [[
	....
	####
	....
	....
]], {
	{{0,0}, {-2,0}, {1,0}, {-2,-1}, {1,2}}, -- TODO: format this nicely if you dare.
	{{0,0}, {-1,0}, {2,0}, {-1,2}, {2,-1}},
	{{0,0}, {2,0}, {-1,0}, {2,1}, {-1,-2}},
	{{0,0}, {1,0},{-2,0},{1,-2},{-2,1}},
})

M.j = poly.def("tetr.J", [[
	#..
	###
	...
]], jlstz_kicks)

M.l = poly.def("tetr.L", [[
	..#
	###
	...
]], jlstz_kicks)

M.o = poly.def("tetr.O", [[
	....
	.##.
	.##.
	....
]], jlstz_kicks)

M.s = poly.def("tetr.S", [[
	.##
	##.
	...
]], jlstz_kicks)

M.z = poly.def("tetr.Z", [[
	##.
	.##
	...
]], jlstz_kicks)

M.t = poly.def("tetr.T", [[
	.#.
	###
	...
]], jlstz_kicks)

return M