Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

meu código da erro e eu não consigo resolver de jeito nenhum


jogador = {
sprite = 32,
x = 120,
y = 68
}
Constantes = {
LARGURA_DA_TELA = 240,
ALTURA_DA_TELA  = 138
}
function temColisaoComMapa(ponto)
    blocoId = mget( ponto.x / 8, ponto.y / 8)
        if  blocoId >= 128 then
        return true
             else
                return false
                end
            end


function desenhamapa ()
    cls() 
    map(0,-- y no mapa
                0, -- x no mapa
                Constantes.LARGURA_DA_TELA,-- quanto desenha para o x
                Constantes.ALTURA_DA_TELA,-- quanto desenhar para o y
                0, -- em qual pontos colocar o x
                0) -- em qual ponto colocar o y
end

function desenhajogador ()




    spr( jogador.sprite, 
    jogador.x - 8, 
    jogador.y - 8,
     0,--    cor de fundo
     1,--    escala 
        0,-- espelhar
     0,-- rotacionar
        2,-- blocos para direita
     2)-- blocos para esquerda

end
function atualiza()

    if btn(0) then
    superorEsquerdo = {
    x = jogador.x + 8,
    y = jogador.y - 8 - 1
    }
    superiorDireito = {
    x = jogador.x + 8,
    y = jogador.y - 8 - 1
    }

    if temColisaoComMapa ( superiorEsquerdo) or 
                temColisaoComMapa ( superiorDireito)    then
    --colisao!!!
    else
     jogador.y = jogador.y -1
    end            




            end

    if btn(1) then 
    jogador.y = jogador.y +1 end
    if btn(2) then
     jogador.x = jogador.x -1 end
    if btn(3) then 
    jogador.x = jogador.x +1 end

end


function  TIC() 

atualiza()
desenhamapa()
desenhajogador()

print(jogador.y)
print(blocoId, 0, 16)

end


fica dando stack traceback

1 resposta
solução!

Tem um erro de digitação na função atualiza(), está faltando um i em superorEsquerdo = {. E o código dele está idêntico ao do superiorDireito.