当前位置: > shell编程 >

使用shell编写的猜数字游戏

时间:2014-07-09 17:08来源:linux.it.net.cn 作者:IT网

怎么判断输入(read)来的字符串到底是数字还是非数字呢?

下载此脚本文件

 

#!/bin/bash

#显示游戏历史的函数
function List
{
echo "|>>"
cat ~/.guessnumbergame
echo "|>>"
}
#
#进行游戏
function DoGame
{
while true
do

let "TheTimeGuess += 1"
echo "请输入您猜到的整数(输入-1承认失败)"
BeginTime=$SECONDS
read GuessNumber

if [ ${GuessNumber} -eq "-1" ];then
echo "看来你选择了放弃:-)"
echo "其实那个数字就是${TheNumberNeedGuess}"
let "UseTime = $SECONDS - ${BeginTime}"
echo "共猜测了${TheTimeGuess}次,用时${UseTime}秒"
echo "${playername}大侠<<放弃>>了游戏,共猜测了${TheTimeGuess}次,用时${UseTime}秒." >> ~/.guessnumbergame
break
fi

if [ ${GuessNumber} -lt ${TheNumberNeedGuess} ];then
echo "低了,加油啊~"
fi

if [ ${GuessNumber} -gt ${TheNumberNeedGuess} ];then
echo "高了,努力啊~"
fi

if [ ${GuessNumber} -eq ${TheNumberNeedGuess} ];then
echo "恭喜你猜对了:-)"
let "UseTime = $SECONDS - ${BeginTime}"
echo "共猜测了${TheTimeGuess}次,用时${UseTime}秒"
echo "${playername}大侠<<完成>>了游戏,共猜测了${TheTimeGuess}次,用时${UseTime}秒." >> ~/.guessnumbergame
break
fi

done
}
#函数结束

clear

echo "|-----------------------------------------------|"
echo "|---------------- 猜数字游戏 v0.1 --------------|"
echo "|-----------------------------------------------|"
echo "|-----------------------------------------------|"
echo "|--------------------数字范围(0 - 32767)--------|"
echo "|-----------Mailto:Harite.K@gmail.com-----------|"
echo "|-----------MyBolg:http://hi.baidu.com/harite---|"

TheNumberNeedGuess=$RANDOM
TheTimeGuess=0

#echo ${TheNumberNeedGuess}

while true
do

echo "<1. 我要进行游戏>"
echo "<2. 查看排行榜>"
echo "<3. 退出游戏>"
echo "请选择(1/2/3)"
read choose

if [ ${choose} -eq "1" ];then
echo "输入你的大名:"
read playername
DoGame
elif [ ${choose} -eq "2" ];then
List
elif [ ${choose} -eq "3" ];then
exit 0
else
continue
fi

done

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容