Получить элемент случайным образом из списка


Я сделал простую игру в Угадайку, в которой используется простое утверждение if. Угадайте число от 0 до 10. Это намекнет вам, чтобы поставить более высокое / низкое число. Это прекрасно работает. Чтобы сделать его немного более интересным, я хотел бы подразнить пользователя, пока не будет введен правильный ответ.

Вопрос: Как получить элемент сообщения randonly и вернуть это сообщение, если пользователь не угадал правильный номер?

Пример:
Угадайте число: 5
Ты даже не представляешь, да? Попробуй выше. 7
Ха! все еще далеко от этого. Попробуй выше. 8
Ты что, только что пукнул? Я уверен, что это была идеальная цифра 10! Попробуй выше. 10
Мама ведь учила тебя считать, верно? Попробуй ниже. 9

Да, молодец!

Есть идеи? :)

1   2  

1 ответ:

Вы можете попробовать:

# Store your string in a BASH array:
arr=( "foo" "bar" "baz" "abc" "xyz" )

# get a number between 0 and length of array:
len=${#arr[@]}

# get a random string from array using BASH variable $RANDOM
n=$(($RANDOM % len))
echo ${arr[$n]}