| Compare Preços no Buscape e no BondFaro | ||||||
|
Amazon PC Core 2 Duo 2.1 GHz 4Gb Ram - 250 GB HD |
Snoopy, Eu Te Amo Charles M. Schulz |
Sony DCR-DVD610 |
Trilogia Star Wars |
Pen Drive 4 GB |
Receptor TV ( USB ) |
|
|
Patinho Faminto Expr Regular Remasterização SED Shell Script Distros Dizinha Patinho Faminto Nerd Desejo Nerd Shell Scripts Artístico Livro Musica Poesias Tirinhas Bobagens Ascii Art Games Antigos Porque Amar Nerds Porque Não Amar Nerds Eu About Me Recomendo Contato DOAÇÕES Amigos Aurélio Jogos Antigos NeoDizinha Nerds Nervosos ProibidoParaNormais * = Recentemente Atualizado |
Ver Indice Geral da Apostila de Shell Script Aplicação Prática: Jogo Batalha Naval - Parte 2 Veja o Segundo Código que criei para o jogo Batalha Naval
linhaa=( "#" "#" "#" "#" "#" ) linhab=( "#" "#" "#" "#" "#" ) linhac=( "#" "#" "#" "#" "#" ) linhad=( "#" "#" "#" "#" "#" ) linhae=( "#" "#" "#" "#" "#" ) Usei 5 Arrays, para gerar o tabuleiro
letras=("a" "b" "c" "d" "e")
Criei um array com 5 letras, cada letra representa uma linha do tabuleiro.
barco1=${letras[$((RANDOM % 5))]}$((RANDOM % 5))
barco2=${letras[$((RANDOM % 5))]}$((RANDOM % 5))
barco3=${letras[$((RANDOM % 5))]}$((RANDOM % 5))
Sorteia a posição de 3 barcos no tabuleiro.
afundados=0 Define o número de barcos afundados. Como acabamos de iniciar o script, nenhum barco afundou até agora
for ((x=1;x>=0;x++)); Faz um conjunto de comandos ser executado repetidas vezes.
echo " 0 1 2 3 4"
echo "a ${linhaa[@]}"
echo "b ${linhab[@]}"
echo "c ${linhac[@]}"
echo "d ${linhad[@]}"
echo "e ${linhae[@]}"
read -p "Onde quer que eu ataque? " lin coluna
Imprime o tabuleiro e pergunta onde o usuário quer jogar a bomba, guarda as informações nas variáveis "lin" e "coluna"
if [[ "${lin}${coluna}" = "$barco1" || "${lin}${coluna}" = "$barco2" || "${lin}${coluna}" = "$barco3" ]]
then
escrita='='
let afundado++
if [ $afundado -eq 3 ]
then
echo "KABUM!"
echo "Você acertou todos os barcos na tentativa número: $x"
exit 0
fi
Verifica se a posição da bomba lançada pelo usuário é a mesma posição de algum dos barcos.
else escrita='.' fi Se nenhum dos barcos foi atingido define escrita como ".", que representa que o usuário jogou a bomba na água
eval linha${lin}[$coluna]="$escrita"
Chama um array de acordo com a posição em que o usuário lançou a bomba e define como "." ( caso não tenha acertado o barco ) ou "=" ( caso tenha acertado o barco ) Nota: 9 |
|