1
resposta

n ta funcionando

n ta funcionando quando eu ando pra cima da um monte de erros alguem poderia me ajudar me dizendo os erros por que eu n achei nemnhum

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 atualiza()

-- cima
if btn(0) then
superioresquerdo = {
    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 desenhaMapa()

  map(0,   -- posisao x no mapa
            0,   -- posisao y no mapa
                        Constantes.LARGURA_DA_TELA, -- quanto desenhar x
                        Constantes.ALTURA_DA_TELA, -- quanto desenhar y
                        0,   -- em qual ponto 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, -- quantos blocos pra direita
               2) -- quantos blocos pra esquerda
end

function desenha()
    cls()
    desenhaMapa()
    desenhaJogador()
end

function TIC()
     atualiza()
  desenha()

end
1 resposta

Olá João, peço desculpas pela demora no retorno.

O erro está apenas no nome superioresquerdo, que foi criado com o e no meio minúsculo mas está sendo chamado como superiorEsquerdo com E maiúsculo, modificando qualquer um dos dois deve resolver.

Espero ter ajudado, qualquer coisa é só falar!