Conte-nos o que está acontecendo:
My issue is similar to what has been posted on the forum, but I couldn’t find a way to fix my code. I’ve refactored my code many times, changed the variable names, and tested it repeatedly, but it still doesn’t work.
Seu código até o momento
#! /bin/bash
PSQL="psql -U postgres -t --no-align --dbname=number_guess"
NUM_RANDOM=$((1 + RANDOM % 1000))
echo "Enter your username:"
read USER
CHECK_USER=$($PSQL -c "select username from name where username = '$USER'")
CHECK_PLAYED=$($PSQL -c "select count(*) from game join name on game.id_name = name.id_name where username = '$username';" | xargs)
if [[ -z $CHECK_PLAYED ]]; then
CHECK_PLAYED=0
fi
CHECK_BEST=$($PSQL -c "select min(guesses) from game join name on game.id_name = name.id_name where username = '$username';" | xargs)
if [[ -z $CHECK_BEST ]]; then
CHECK_BEST=0
fi
if [[ -z $CHECK_USER ]]; then
echo "Welcome, $USER! It looks like this is your first time here."
CHECK_USER=$($PSQL -c "INSERT INTO name(username) VALUES ('$USER');")
ID_NAME=$($PSQL -c "SELECT id_name FROM name where username = '$USER';" | xargs)
else
echo "Welcome back, $CHECK_USER You have played $CHECK_PLAYED games, and your best game took $CHECK_BEST guesses."
ID_NAME=$($PSQL -c "SELECT id_name FROM name where username = '$CHECK_USER';" | xargs)
fi
while true; do
echo "Guess the secret number between 1 and 1000:"
read secret_number
if [[ $secret_number =~ ^[0-9]+$ ]]; then
((number_of_guesses++))
if (( secret_number > NUM_RANDOM )); then
echo "It's higher than that, guess again:"
elif (( secret_number < NUM_RANDOM )); then
echo "It's lower than that, guess again:"
else
INSERT_GAME=$($PSQL -c "INSERT INTO game( number_of_guesses, guesses, id_name) VALUES ( $secret_number, $number_of_guesses, $ID_NAME);")
break
fi
else
echo "That is not an integer, guess again:"
fi
done
echo "You guessed it in $number_of_guesses tries. The secret number was $NUM_RANDOM. Nice job!"
Informações do seu navegador:
Agente de usuário: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Informações do desafio:
Number Guessing Game - Create a number guessing game