Clean-up and add comments

This commit is contained in:
raul 2025-01-08 10:00:49 +01:00
parent bf6ed0cb21
commit 35e53a796c
Signed by: raul
GPG Key ID: C1AA797073F17129
1 changed files with 13 additions and 8 deletions

21
rps.sh
View File

@ -1,12 +1,16 @@
#!/bin/bash #!/bin/bash
# Definimos los jugadores y su puntuación
declare JUGADOR1 declare JUGADOR1
declare JUGADOR2 declare JUGADOR2
declare JUGADOR1_PUNTOS=0 declare JUGADOR1_PUNTOS=0
declare JUGADOR2_PUNTOS=0 declare JUGADOR2_PUNTOS=0
# Definimos las opciones disponibles para cada jugador
OPCIONES_DISPONIBLES=("piedra" "papel" "tijera") OPCIONES_DISPONIBLES=("piedra" "papel" "tijera")
# Función utilizada para comprobar que la entrada de usuario
# sea válida acorde al array anterior
checkAnswer() { checkAnswer() {
ESVALIDA=false ESVALIDA=false
for respuesta in "${OPCIONES_DISPONIBLES[@]}"; do for respuesta in "${OPCIONES_DISPONIBLES[@]}"; do
@ -17,51 +21,51 @@ checkAnswer() {
echo $ESVALIDA echo $ESVALIDA
} }
# 2 args # Función que comprueba el ganador de la ronda a partir de
# dos argumentos
checkWinner() { checkWinner() {
case "$2" in case "$2" in
"piedra") "piedra")
if [[ "$1" == "piedra" ]]; then if [[ "$1" == "piedra" ]]; then
echo "EMPATE" echo "EMPATE"
fi fi
if [[ "$1" == "papel" ]]; then if [[ "$1" == "papel" ]]; then
echo "$JUGADOR1" echo "$JUGADOR1"
fi fi
if [[ "$1" == "tijera" ]]; then if [[ "$1" == "tijera" ]]; then
echo "$JUGADOR2" echo "$JUGADOR2"
fi fi
;; ;;
"papel") "papel")
if [[ "$1" == "piedra" ]]; then if [[ "$1" == "piedra" ]]; then
echo "$JUGADOR2" echo "$JUGADOR2"
fi fi
if [[ "$1" == "papel" ]]; then if [[ "$1" == "papel" ]]; then
echo "EMPATE" echo "EMPATE"
fi fi
if [[ "$1" == "tijera" ]]; then if [[ "$1" == "tijera" ]]; then
echo "$JUGADOR1" echo "$JUGADOR1"
fi fi
;; ;;
"tijera") "tijera")
if [[ "$1" == "piedra" ]]; then if [[ "$1" == "piedra" ]]; then
echo "$JUGADOR1" echo "$JUGADOR1"
fi fi
if [[ "$1" == "papel" ]]; then if [[ "$1" == "papel" ]]; then
echo "$JUGADOR2" echo "$JUGADOR2"
fi fi
if [[ "$1" == "tijera" ]]; then if [[ "$1" == "tijera" ]]; then
echo "EMPATE" echo "EMPATE"
fi fi
;; ;;
esac esac
} }
# Función encargada de limpiar la pantalla y mostrar la puntuación
# actual
status() { status() {
clear clear
echo -e " echo -e "
@ -70,6 +74,7 @@ Puntos de $JUGADOR2: $JUGADOR2_PUNTOS / $PUNTOS_LIMITE
" "
} }
# Función principal
main() { main() {
clear clear
echo "Bienvenido!" echo "Bienvenido!"
@ -124,9 +129,9 @@ main() {
read -sp "Pulse enter para continuar: " lol read -sp "Pulse enter para continuar: " lol
done done
done done
} }
# Ejecuta la función principal
main main