Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tfm.exec.disableAutoShaman(true)
- tfm.exec.disableAutoNewGame(true)
- tfm.exec.disableAfkDeath(true)
- place = 0
- function init_matrix(wD, hG)
- local result = {}
- for y = 0, hG - 1 do
- for x = 0, wD - 1 do
- result[y * wD + x] = 1
- end
- result[y * wD + 0] = 0
- result[y * wD + wD - 1] = 0
- end
- for x = 0, wD - 1 do
- result[0 * wD + x] = 0
- result[(hG - 1) * wD + x] = 0
- end
- return result
- end
- function setMap(matrix, wD, hG)
- place = 0
- xml = '<C><P H="740" Ca="" N="" L="2200" /><Z><S><S P="0,0,0.3,0.2,0,0,0,0" X="1201" L="2500" o="0" H="760" c="4" Y="367" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" L="2200" o="0" H="40" X="1100" N="" Y="0" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" L="2240" o="0" H="40" X="1100" N="" Y="760" T="12" /><S P="0,0,0.3,0.2,90,0,0,0" L="760" o="0" H="40" X="2200" N="" Y="360" T="12" /><S m="" P="0,0,0.3,0.2,90,0,0,0" L="760" o="0" H="40" X="0" N="" Y="360" T="12" />'
- xmlEnd = '</S><D><DS Y="40" X="80" /><T X="2082" Y="735" D="" /><F Y="732" X="2080" /></D><O /></Z></C>'
- color = string.format("%X", math.random(0x000000, 0xFFFFFF))
- invColor = string.format("%06x", 0xffffff - tonumber(color, 16))
- for y = 0, hG - 1 do
- for x = 0, wD - 1 do
- if matrix[y * wD + x] == 0 then
- r = ""
- else
- angle = {0}
- xml = xml..string.format('<S H="40" P="0,0,3,0.2,%s,0,0,0" L="40" X="%s" Y="%s" o="%s" T="12" />',angle[math.random(#angle)], x*40,y*40,color)
- end
- end
- end
- xml = xml..xmlEnd
- tfm.exec.newGame(xml)
- tfm.exec.setGameTime('330')
- end
- function eventNewPlayer(p)
- tfm.exec.respawnPlayer(p)
- end
- function genMaze(matrix, wD, hG, x, y)
- local r = math.random(0, 3)
- matrix[y * wD + x] = 0
- for i = 0, 3 do
- local d = (i + r) % 4
- local dx = 0
- local dy = 0
- if d == 0 then
- dx = 1
- elseif d == 1 then
- dx = -1
- elseif d == 2 then
- dy = 1
- else
- dy = -1
- end
- local nx = x + dx
- local ny = y + dy
- local nx2 = nx + dx
- local ny2 = ny + dy
- if matrix[ny * wD + nx] == 1 then
- if matrix[ny2 * wD + nx2] == 1 then
- matrix[ny * wD + nx] = 0
- genMaze(matrix, wD, hG, nx2, ny2)
- end
- end
- end
- end
- wD = 55
- hG = 20
- function eventPlayerWon(p)
- place = place+1
- if place == 1 then
- tfm.exec.setGameTime(10)
- end
- end
- function eventLoop(t,r)
- if r <= 0 then
- matrix = init_matrix(wD, hG)
- genMaze(matrix, wD, hG, 2, 2)
- matrix[wD + 2] = 0
- matrix[(hG - 2) * wD + wD - 3] = 0
- setMap(matrix, wD, hG)
- end
- end
- tfm.exec.setGameTime(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement