почему $ computer_choice не случайный? - PullRequest
0 голосов
/ 08 мая 2019

так что я никогда не брал никаких уроков по программированию, я только следовал нескольким учебникам на youtube и пытался начать писать код с нуля. Я пытаюсь сделать эту программу броска монеты в нано, но она не работает. когда я выбираю H (головы), я иногда выигрываю или проигрываю, но когда я выбираю T (Tails), он говорит «ты проиграл» дважды.

Терминал, которым я пользуюсь, - это Cygwin, который по какой-то причине не поддерживает C ++. я даже не знаю, работает ли функция randomize.

printf "(H) heads or (T) tails"
read user_choice
if [ $user_choice != H ] && [ $user_choice != T ]; then
  echo invalid choice defaulting to heads
  user_choice=H=1
  user_choice=T=0
fi
#value of 1 is heads, 2 is Tails
computer_choice=$(($RANDOM% 2 + 1))
if [ $computer_choice == 1 ]; then
  echo computer chooses tails
fi
if [ $computer_choice == 1 ] && [ $user_choice = H ]; then
  echo you win!
else
  echo you lose
  if [ $computer_choice == 2 ] && [ $user_choice = T ]; then
    echo you win!
    echo computer chooses heads
  else
    echo you lose
  fi
fi

Я ожидаю увидеть «ты выиграл» или «ты проиграл», однако, ты только можешь видеть, что выиграл, когда выбираешь головы, и ты всегда проигрываешь, выбирая хвосты, но видишь это дважды. еще раз у меня очень мало опыта работы с любым языком программирования. если бы кто-нибудь мог объяснить, что происходит, это было бы очень признательно!

1 Ответ

0 голосов
/ 07 июня 2019
printf "(H) heads or (T) tails"
read user_choice
if [ $user_choice != H ] && [ $user_choice != T ]; then
  echo invalid choice defaulting to heads
 $user_choice=H=1
 $user_choice=T=2
fi
#value of 1 is heads, 2 is Tails
computer_choice=$(($RANDOM% 2 + 1))
if [ $computer_choice == 1 ]; then
  echo computer chooses heads
elif [ $computer_choice == 2 ]; then
echo computer chooses tails
fi
if [ $computer_choice == 1 ] && [ $user_choice = H ]; then
  echo you win!
else
if [ $computer_choice == 2 ] && [ $user_choice = T ]; then
    echo you win!
  else
    echo you lose
  fi
fi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...