Como criar uma luta Pokémon em Ruby utilizando condicionais
- #Ruby
Como deixar a linguagem mais divertida utilizando exemplos em uma brincadeira também?
Primeiramente precisamos definir alguns parâmetros,
Como quais Pokémon iremos utilizar em um lista (Array - é uma coleção de elementos em uma variável que poderemos referenciar posteriormente por índices)
pokedex = ["Bulbasaur","Ivysaur","Venusaur","Charmander†","Charmeleon","Charizard","Squirtle†","Wartortle","Blastoise","Caterpie","Metapod","Butterfree"]
Status base de attak(Ataque) e HP(Pontos de Vida) para Pokémon selvagem e para o que iremos escolher.
iniatk = rand(5..15)
inihp = rand(30..50)
wildatk = rand(5..15)
wildhp = rand(30..50)
Gerar status aleatoriamente para ambos(Rand - ele gera um valor randômico, e o .. para definir um limite entre valores, se nao iria vir um pokemon imortal ou fatal kk ).
Gerar Pokémon Selvagem aleatoriamente.
wildran = pokedex[rand(11)]
pokemon = wildran
#pokemon randon gerado
pokewild = [pokemon,wildatk,wildhp]
E automatizar uma luta entre eles usando laços de repetições nesse caso usei o (While - é um loop, uma estrutura de repetição com uma condicional verdadeira ou falsa).
while escolha[2] >= 0 && pokewild[2] >= 0
puts " Your Pokemon's Life#{escolha[2]}"
puts " wild Pokemon's life#{pokewild[2]}"
pokewild[2] = pokewild[2] - escolha[1]
puts "you pokemon attak #{escolha[1]}"
escolha[2] = escolha[2] - pokewild[1]
puts "wild pokemon attak #{pokewild[1]}"
sleep(1)
end
(Sleep - e um temporizador para a execução , coloque pois estava muito rápido o resultado)
E por fim um condicional de caso se (If Else- o famoso se e senão) para visualizarmos o resultado da batalha.
if pokewild[2] < escolha[2]
puts "You Won"
#venceu
elsif pokewild[2] == escolha[2]
puts "Draw"
else escolha[2] <= 0
puts "You Loose"
end
Claro que usei oque aprendi ate o momento e fico aberto para melhorias e dicas , como não tinha publicado um Artigo ainda , achei uma boa opção :D
segue repositório git com código >>>
https://github.com/eduardo-veiga/Ruby-Pokemon-dio