第3回BASHゼミ解答
問題
乱数を取得し、その乱数を当てる数当てゲームを作成しなさい。
なお、数を当てたときに数を当てるまでの回数も
表示せよ。
while版とuntil版を作成すること。
ヒント:○ 乱数を取得するのは、$RANDOM
0から32767まで。
○ 標準入力を取得するには、read
解答
*while版
#!/bin/bash
num=$RANDOM
count=0
x=-1
echo "***** ある隠された値を当ててください *****"
while [ $x -ne $num ]
do
echo "0から32767までの数字を入力してください"
read x
if [ $x -gt $num ]
then
echo "もっと小さいですよ"
elif [ $x -lt $num ]
then
echo "もっと大きいですよ"
fi
let count++
done
echo "ずばり当たりです!"
echo "当たるまで$count回かかりました。"
*until版
#!/bin/bash
num=$RANDOM
count=0
x=-1
echo "***** ある隠された値を当ててください *****"
until [ $x -eq $num ]
do
echo "0から32767までの数字を入力してください"
read x
if [ $x -gt $num ]
then
echo "もっと小さいですよ"
elif [ $x -lt $num ]
then
echo "もっと大きいですよ"
fi
let count++
done
echo "ずばり当たりです!"
echo "当たるまで$count回かかりました。"