乱数を使ってランダムな問題を表示させます。乱数は1〜20の範囲で発生させます。
#!/bin/bash
question() {
echo "$1 + $2 = ?"
}
question $((RANDOM % 20 + 1)) $((RANDOM % 20 + 1))
実行結果
13 + 19 = ?
ユーザーの解答を読み取り、正誤判定を行います。
解答が正解だった場合のみ次の問題へ移行します。
不正解だった場合はそのままゲーム終了となります。
read answer
if [ $answer -eq $(($1 + $2)) ]; then
echo "正解!"
question $((RANDOM % 20 + 1)) $((RANDOM % 20 + 1))
else
echo "不正解!"
fi
全体のコードです。
#!/bin/bash
question() {
echo "$1 + $2 = ?"
read answer
if [ $answer -eq $(($1 + $2)) ]; then
echo "正解!"
question $((RANDOM % 20 + 1)) $((RANDOM % 20 + 1))
else
echo "不正解!"
fi
}
question $((RANDOM % 20 + 1)) $((RANDOM % 20 + 1))
実際のゲームの実行画面
12 + 5 = ?
17
正解!
3 + 5 = ?
8
正解!
10 + 19 = ?
29
正解!
15 + 12 = ?
27
正解!
20 + 11 = ?
22
不正解!