Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---------------------------------
- -- SNAKE - escrito por Ninguem --
- ---------------------------------
- -- Data: 11/06/2014 -------------
- -- Identificaçao de TextAreas
- idStatus = 1
- idConj = 2
- -- Variáveis de Teclado
- kUp = 38
- kDown = 40
- kLeft = 37
- kRight = 39
- kW = 87
- kA = 65
- kS = 83
- kD = 68
- kSpace = 32
- k0 = 48
- k9 = 57
- -- Variáveis Globais de configuração
- lado = "direita" -- para onde a conjuração irá
- modo = "deslizar" -- como a conjuração irá
- passo = 1 -- quantos espaços por vez a conjuração se moverá
- x = 38 -- posição x da conjuração
- xh = 10 * x -- posição x do ponteiro
- y = 38 -- posição y da conjuração
- yh = 10 * x -- posição y do ponteiro
- ratos = 1 -- quantos ratos no mapa
- shaman = "" -- quem controla
- -- Procedimentos ao start do script
- tfm.exec.disableAutoTimeLeft(true)
- tfm.exec.disableAutoShaman(true)
- tfm.exec.disableAutoNewGame(true)
- ui.addTextArea(idStatus, "Direção : " .. lado .. " | Passo: " .. tostring(passo) .. " | Modo: " .. modo, nil, 5, 25, 300, 20, 0x0, 0x0, 0.0, true)
- tfm.exec.newGame("<C></C>")
- -- Procedimentos ao início de mapa
- function eventNewGame()
- lado = "direita"
- modo = "deslizar"
- x = 38
- y = 38
- passo = 1
- ratos = 0
- maior = -1
- -- Laço para ver quem tem mais pontos
- for _, v in pairs(tfm.get.room.playerList) do
- if(v.score > maior) then
- maior = v.score
- shaman = v.playerName
- end
- ratos = ratos + 1
- end
- bindPlayer(shaman, true)
- tfm.exec.setUIShamanName(shaman)
- tfm.exec.setUIMapName("Snake")
- tfm.exec.killPlayer(shaman)
- tfm.exec.setPlayerScore(shaman, 0, false)
- end
- -- Procedimentos de teclado
- function eventKeyboard(player, key, down, x, y)
- if(key == kUp or key == kW) then
- lado = "cima"
- elseif(key == kDown or key == kS) then
- lado = "baixo"
- elseif(key == kLeft or key == kA) then
- lado = "esquerda"
- elseif(key == kRight or key == kD) then
- lado = "direita"
- elseif(key == kSpace) then
- if(modo == "saltar") then
- modo = "deslizar"
- elseif(modo == "deslizar") then
- modo = "saltar"
- end
- else
- passo = key - 48
- end
- end
- -- Procedimentos de mouse
- function eventMouse(player, xpos, ypos)
- x = math.floor(xpos/10)
- y = math.floor(ypos/10)
- end
- -- Procedimentos que ocorrem a cada instante
- function eventLoop(tempoAtual, tempoRestante)
- todosMortos = false
- if(ratos > 1) then
- todosMortos = true
- for _, v in pairs(tfm.get.room.playerList) do
- if(not v.isDead and v.playerName ~= shaman) then
- tfm.exec.setPlayerScore(v.playerName, 1, true) -- incrementa 1 ponto para todos vivos
- todosMortos = false
- end
- end
- end
- if(tempoRestante < 0 or todosMortos) then
- bindPlayer(shaman, false)
- tfm.exec.newGame("<C></C>")
- end
- if(modo == "saltar") then
- if(lado == "cima") then
- y = y - passo
- elseif(lado == "baixo") then
- y = y + passo
- elseif(lado == "esquerda") then
- x = x - passo
- elseif(lado == "direita") then
- x = x + passo
- end
- y = arrumaY(y)
- x = arrumaX(x)
- tfm.exec.addConjuration(x, y, 10000)
- elseif(modo == "deslizar") then
- if(lado == "cima") then
- for i = 1, passo do
- y = y - 1
- y = arrumaY(y)
- tfm.exec.addConjuration(x, y, 10000)
- end
- elseif(lado == "baixo") then
- for i = 1, passo do
- y = y + 1
- y = arrumaY(y)
- tfm.exec.addConjuration(x, y, 10000)
- end
- elseif(lado == "esquerda") then
- for i = 1, passo do
- x = x - 1
- x = arrumaX(x)
- tfm.exec.addConjuration(x, y, 10000)
- end
- elseif(lado == "direita") then
- for i = 1, passo do
- x = x + 1
- x = arrumaX(x)
- tfm.exec.addConjuration(x, y, 10000)
- end
- end
- end
- xh = 10 * x - 4
- yh = 10 * y - 3
- ui.addTextArea(idConj, "<p align='center'>x</p>", nil, xh, yh, 20, 20, 0x0, 0x0, 0.0, true)
- ui.updateTextArea(idStatus, "Direção : " .. lado .. " | Passo: " .. tostring(passo) .. " | Modo: " .. modo, nil)
- end
- -- Corrige a posição do x para dentro do mapa
- function arrumaX(v)
- if(v < 0) then
- v = 0
- elseif(v > 79) then
- v = 79
- end
- return(v)
- end
- -- Corrige a posição do y para dentro do mapa
- function arrumaY(v)
- if(v < 5) then
- v = 5
- elseif(v > 39) then
- v = 39
- end
- return(v)
- end
- -- Define se o jogador vai ou não ter permissão dos comandos
- function bindPlayer(player, on)
- tfm.exec.bindKeyboard(player, kUp, true, on)
- tfm.exec.bindKeyboard(player, kDown, true, on)
- tfm.exec.bindKeyboard(player, kLeft, true, on)
- tfm.exec.bindKeyboard(player, kRight, true, on)
- tfm.exec.bindKeyboard(player, kW, true, on)
- tfm.exec.bindKeyboard(player, kA, true, on)
- tfm.exec.bindKeyboard(player, kS, true, on)
- tfm.exec.bindKeyboard(player, kD, true, on)
- tfm.exec.bindKeyboard(player, kSpace, true, on)
- for i = k0, k9 do
- tfm.exec.bindKeyboard(player, i, true, on)
- end
- system.bindMouse(player, on)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement