Descripción:
Típico juego del ahorcado hecho en Bash de forma simple, este script se apoya en un diccionario de palabras para obtener cada vez una palabra diferente.
Codigo:
#!/bin/bash
max=$(cat "diccionario.txt" | wc -l)
num=$(( $RANDOM%max ))
cad=$(head -$num "diccionario.txt" | tail -1 | tr [:upper:] [:lower:])
for var in $(seq 0 $((${#cad}-1)))
do
palabra=("${palabra[@]}" ${cad:$var:1})
respuesta=("${respuesta[@]}" _)
done
aciertos=0
intentos=0
while [ $aciertos -ne ${#palabra[@]} ]
do
contador=0
esta=0
read -p "Letra? " letra
letra=$(echo $letra | tr [:upper:] [:lower:])
for var in ${palabra[@]}
do
let contador++
if [ $letra == $var ] && [ $letra != ${respuesta[$((contador-1))]} ]
then
echo Esta en la posicion $contador
respuesta[$((contador-1))]=$var
let aciertos++
esta=1
fi
done
if [ $esta -eq 0 ]
then
let intentos++
echo "Llevas $intentos intentos de 5"
fi
if [ $intentos -eq 5 ]
then
echo "Intentos agotados, la palabra era $cad"
exit
fi
echo ${respuesta[@]}
done
echo "Correcto, has acertado!"
Capturas:
Típico juego del ahorcado hecho en Bash de forma simple, este script se apoya en un diccionario de palabras para obtener cada vez una palabra diferente.
Codigo:
#!/bin/bash
max=$(cat "diccionario.txt" | wc -l)
num=$(( $RANDOM%max ))
cad=$(head -$num "diccionario.txt" | tail -1 | tr [:upper:] [:lower:])
for var in $(seq 0 $((${#cad}-1)))
do
palabra=("${palabra[@]}" ${cad:$var:1})
respuesta=("${respuesta[@]}" _)
done
aciertos=0
intentos=0
while [ $aciertos -ne ${#palabra[@]} ]
do
contador=0
esta=0
read -p "Letra? " letra
letra=$(echo $letra | tr [:upper:] [:lower:])
for var in ${palabra[@]}
do
let contador++
if [ $letra == $var ] && [ $letra != ${respuesta[$((contador-1))]} ]
then
echo Esta en la posicion $contador
respuesta[$((contador-1))]=$var
let aciertos++
esta=1
fi
done
if [ $esta -eq 0 ]
then
let intentos++
echo "Llevas $intentos intentos de 5"
fi
if [ $intentos -eq 5 ]
then
echo "Intentos agotados, la palabra era $cad"
exit
fi
echo ${respuesta[@]}
done
echo "Correcto, has acertado!"
Capturas:
put
ResponderEliminarjuguetes
ResponderEliminar