Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Heroi
- attr_accessor :linha, :coluna
- #para acessar diretamente usar @linha ou @coluna
- #attr_writer
- #attr_reader
- def calcula_nova_posicao direcao
- novo_heroi=self.dup
- #dicionario via array associativo, substituindo case when para as posições
- movimentos = {"W"=>[-1,0],
- "S"=>[+1,0],
- "A"=>[0,-1],
- "D"=>[0,+1]
- }
- movimento = movimentos[direcao]
- if movimento!=nil&&movimento!=[]
- novo_heroi.linha+=movimento[0]
- novo_heroi.coluna+=movimento[1]
- end
- novo_heroi
- end
- def to_array
- [linha,coluna]
- end
- def remove_do mapa
- mapa[linha][coluna] = " "
- end
- def coloca_no mapa
- mapa[linha][coluna] = "H"
- end
- def direita
- calcula_nova_posicao "D"
- end
- def esquerda
- calcula_nova_posicao "A"
- end
- def abaixo
- calcula_nova_posicao "S"
- end
- def acima
- calcula_nova_posicao "W"
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment