猜数字游戏。首先让系统随机生成一个数字,给这个数字定一个范围(1-60),让用户输入猜的数字,对输入进行判断,如果不符合要求,就给予高或低的提示,猜对后则给出猜对用的次数,并根据猜的历史给出击败了百分之多少的已经猜过的用户,并把关键的内容以特殊颜色提示用户。
最终实现效果如下:
公布代码啦:
[root@web01 scripts]# cat 7.sh
#!/bin/bash
i="$((RANDOM%60))"
count=0
Beat(){
a=0
b=0
while read line
do
if [ $line -ge $count ]
then
((a++))
else
((b++))
fi
done</tmp/count.log
echo $a $((a+b))|awk '{print ($1/$2)*100"%"}'
}
while true
do
read -p "请输入1-60数字: " num
[ $num -gt 60 ]&&{
echo "是不是傻,没看到让你输1-60的数字吗???"
continue
}
[ $num -lt 1 ] &&{
echo "是不是傻,没看到让你输1-60的数字吗???"
continue
}
expr 10 + $num &>/dev/null
[ $? -ne 0 ] &&{
echo "请输入数字,别瞎输"
continue
}
let count+=1
if [ $num -gt $i ]
then
echo -e 兄弟,输"\033[41;37m高\033[0m"了,Come on!
elif [ $num -eq $i ]
then
if [ $count -le 3 ]
then
echo -e "\033[43;32m牛逼啊,${count}次就对了,击败了全国`Beat`的人,你绝对能出任CEO,赢取白富美,走上人生巅峰\033[0m"
else
echo "用了$count 次才答对,击败了全国`Beat`的人"
fi
echo "$count" >>/tmp/count.log
exit 0
else
echo -e 兄弟,输"\033[44;37m低\033[0m"了,Come on!
fi
done