2021年12月24日

課題★いま、秒針が何秒を指していたかクイズ改良。シェルスクリプト稚談-7

何回目のトライで当てたか、を表示させたくなって、
コードをいじりました。じぶんにはむずかしかったです。
何がむずかしいって、順次進行です。
言うは易し、行いがたしでして、どこに
カウントする行を入れたらいいかが さっぱり判らない。
なかば当てずっぽうに入れたところで、機能しました。
#!/bin/bash

guess=-1
count=0
answer=`date +%S`
while [ $guess -ne $answer ];
do
count=`expr $count + 1`
echo "〜〜〜〜〜〜〜 〜〜〜〜〜〜〜 〜〜〜〜〜〜〜〜"
echo "0から59。いまかみさまのこころに浮かんだ
数字があります。当ててみて?:"
echo " "
read guess
if [[ $guess -gt $answer ]]
then
echo " "
echo "その数より小さいです"
echo " "
elif [[ $guess -lt $answer ]]
then
echo " "
echo "その数より大きいです"
echo " "
else
echo " "
echo "おぉ、当たった。あなたはしあわせもの!!!
$count回目のちょうせんで当てたね。"
echo " "
fi
done

考えてみれば、繰り返しのところは、
doとdoneの間のはずで、その中でないと、
プログラムとして、回数が数えられない
にも拘らず、whileより上に入れてみたり、
正解のところの表示のそばに入れてみたり。

エラー表示がそんなに親切でもないのは、
わかっていましたが、けっこうな時間がかかりました。
プログラミングで云う”順次進行”って、
意外にむずかしいですね。
特にループ動作が絡むときには。

クイズは、適切な日本語が浮かんでこずで、
物語を変更しました。何度目に当てたかを
出すことにしたので、チャンチャチャーン!と
フルスクリーンの画像を派手に出すのは、
難しくなりました。

mikokoro_2021-12-24_12-43-43.jpg


posted by ブログ開設者 at 14:08| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする