Eae pessoal!
Estou tentando fazer a parte de movimentação do meu personagem, mas quando escolho o lado para onde ir o programa mostra o erro "/home/runner/fogefoge.rb:20:in `[]=': no implicit conversion from nil to integer (TypeError)
"
Agradeço muito se alguém puder me ajudar. Segue meu código logo abaixo:
1 require_relative 'ui'
2
3 def encontra_jogador(mapa)
4 caracter_do_heroi = "H"
5 mapa.each_with_index do |linha_atual, linha|
6 coluna_do_heroi = linha_atual.index caracter_do_heroi
7 if coluna_do_heroi != -1
8 return [linha, coluna_do_heroi]
9 end
10 end
11 end
12
13 def joga(nome)
14 mapa = le_mapa(1)
15
16 while true
17 desenha mapa
18 direcao = pede_movimento
19 heroi = encontra_jogador mapa
20 mapa[heroi[0]][heroi[1]] = " "
21 case direcao
22 when "W"
23 heroi[0] -= 1
24 when "A"
25 heroi[0] -= 1
26 when "S"
27 heroi[0] += 1
28 when "D"
29 heroi[0] += 1
30 end
31 mapa[heroi[0]][heroi[1]] = "H"
32 end
33 end
34
35 def inicia_fogefoge(da_boas_vindas)
36 nome = da_boas_vindas
37 joga nome
38 end