![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
求用shell编写简单的猜数字游戏的程序,要求用case和while语句。急!
3个回答
展开全部
#!/bin/sh
while [ 1 ]
do
read -p "please enter a number between 1 to 100: " number
case $number in
13)
echo "you get the first prize"
;;
71)
echo "You get the second prize"
;;
23)
echo "You get the third prize"
;;
*)
echo "You lose"
;;
esac
done
追问
请问,程序要是先输入随便的数字,然后用case语句,最后用while语句判断该怎么编写呢?
追答
#!/bin/sh
read -p "please enter a number between 1 to 100: " number
case $number in
13)
prize=1
;;
71)
prize=2
;;
23)
prize=3
;;
*)
prize=4
;;
esac
while [ $prize -gt 0 ]
do
if [ $prize -eq 1 ];then
echo "You get first prize"
elif [ $prize -eq 2 ]; then
echo "You get second prize"
elif [ $prize -eq 3 ]; then
echo "You get third prize"
else
echo "You lose"
fi
break
done
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1-100这个范围太大,难度太高,还是在1-20范围内猜猜吧。
数字随机,玩起来更有意思。
#!/bin/sh
max=20
while true
do
read -p "Please enter a number [1-$max]: " num
let rand1="RANDOM % max + 1"
let rand2="RANDOM % max + 1"
let rand3="RANDOM % max + 1"
case $num in
$rand1)
echo "Bingo! You win First Prize."
;;
$rand2)
echo "Congratulations! You win Second Prize."
;;
$rand3)
echo "Not bad! You win Third Prize."
;;
*)
echo "Bad luck! You lose."
;;
esac
sleep2
echo
done
数字随机,玩起来更有意思。
#!/bin/sh
max=20
while true
do
read -p "Please enter a number [1-$max]: " num
let rand1="RANDOM % max + 1"
let rand2="RANDOM % max + 1"
let rand3="RANDOM % max + 1"
case $num in
$rand1)
echo "Bingo! You win First Prize."
;;
$rand2)
echo "Congratulations! You win Second Prize."
;;
$rand3)
echo "Not bad! You win Third Prize."
;;
*)
echo "Bad luck! You lose."
;;
esac
sleep2
echo
done
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#!/bin/bash
a=`expr $RANDOM % 10`
b=0
echo "范围(0-10): "
while read -p "请给出你猜的价格: " p
do
let b++
if [ $p -eq $a ]
then
echo "恭喜你猜对了!!!"
echo "你一共猜了 $b 次"
exit 0
elif [ $p -gt $a ]
then
echo "猜高了"
else
echo "猜低了"
exit 0
fi
done
a=`expr $RANDOM % 10`
b=0
echo "范围(0-10): "
while read -p "请给出你猜的价格: " p
do
let b++
if [ $p -eq $a ]
then
echo "恭喜你猜对了!!!"
echo "你一共猜了 $b 次"
exit 0
elif [ $p -gt $a ]
then
echo "猜高了"
else
echo "猜低了"
exit 0
fi
done
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询