Skip to content

Instantly share code, notes, and snippets.

@lrlucena
Last active June 26, 2017 11:27
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lrlucena/07b23ab43b4edb0502bba155e6783bbe to your computer and use it in GitHub Desktop.
Save lrlucena/07b23ab43b4edb0502bba155e6783bbe to your computer and use it in GitHub Desktop.
Jogo para percorrer um mapa
mapa = Matriz.mutavel(12,12," ")
PAREDE = "▓"
JOGADOR = "♞"
var x := 3
var y := 11
montar_mapa()
para i de 1 até 12 faça
mapa[i][1] := PAREDE
mapa[i][12] := PAREDE
mapa[1][i] := PAREDE
mapa[12][i] := PAREDE
fim
mapa[1][9]:= " "
mapa[y][x] := JOGADOR
fim
exibir_mapa()
para linha em mapa faça
para posicao em linha faça
imprima posicao
fim
escreva ""
fim
fim
mover(novo_x, novo_y : Inteiro)
mapa[y][x] := "+"
se mapa[novo_y][novo_x] <> PAREDE então
x := novo_x
y := novo_y
fim
mapa[y][x] := JOGADOR
fim
mover_direita()
mover(x+1, y)
fim
mover_esquerda()
mover(x-1, y)
fim
mover_cima()
mover(x, y-1)
fim
mover_baixo()
mover(x, y+1)
fim
perguntar_movimento()
imprima "Qual direção (wasd): "
leia_texto
fim
# Programa principal
var jogando := verdadeiro
montar_mapa
exibir_mapa
enquanto jogando faça
letra = perguntar_movimento
escolha letra
caso "d" => mover_direita
caso "a" => mover_esquerda
caso "w" => mover_cima
caso "s" => mover_baixo
caso _ =>
fim
exibir_mapa
se y == 1 então jogando := falso fim
fim
mapa = Matriz.mutavel(12,12," ")
PAREDE, JOGADOR = "▓", "♞"
var x, y := 3, 11
var jogando := verdadeiro
montar_mapa()
para i de 1 até 12 faça
mapa[i][1] := PAREDE
mapa[i][12] := PAREDE
mapa[1][i] := PAREDE
mapa[12][i] := PAREDE
fim
mapa[1][9]:= " "
mapa[y][x] := JOGADOR
fim
exibir_mapa()
para linha em mapa faça
para posicao em linha faça
imprima posicao
fim
escreva ""
fim
fim
mover(novo_x, novo_y : Inteiro)
mapa[y][x] := "+"
se mapa[novo_y][novo_x] <> PAREDE então
x := novo_x
y := novo_y
fim
mapa[y][x] := JOGADOR
fim
mover_direita()
mover(x+1, y)
fim
mover_esquerda()
mover(x-1, y)
fim
mover_cima()
mover(x, y-1)
fim
mover_baixo()
mover(x, y+1)
fim
perguntar_movimento()
imprima "Qual direção (wasd): "
leia_texto
fim
atualizar_mapa()
letra = perguntar_movimento
escolha letra
caso "d" => mover_direita
caso "a" => mover_esquerda
caso "w" => mover_cima
caso "s" => mover_baixo
caso _ =>
fim
se y == 1 então jogando := falso fim
fim
# Programa Principal
montar_mapa
exibir_mapa
enquanto jogando faça
atualizar_mapa
exibir_mapa
fim
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment