[个人笔记]shell脚本猜数字游戏

##声明##

所有都为笔记,因为方便查阅,也是一种分享。
呃,欢迎大神斧正或者提出修改
有引用我也会标注出来
本文修改时参考大数据模型:[讯飞星火]

#!/bin/bash
#Function:猜数字游戏test
#思路; 两个变量组 一个是答案一个是猜答案
# 一个是$RANDOM 变量 控制在 3位数
# aa=`echo $RANDOM | cut -c 1-3 `
#将随机的答案内容输入到一个文件夹里
# read -p "请输入您的猜测" bb
# 输出的$bb # echo $bb | grep "[^0-9]"
# 猜测的输入bb 然后输出的变量bb 过滤一下0-9 但是加了^ 取反 所以是过滤除了0-9
#if [ $? -eq 0 ]; then echo "不合法" else if [ `echo ${$bb}` -eq 3];then
#如果 过滤除了0-9的结果内容不是-eq 不等于0 就输出内容 您输入的内容不合法
#else if [ `echo ${#bb}` -eq 3 ] ; then
#转换过来 if 语句 [ 优先输出 ${#bb} -eq 3 ${#bb}为变量bb ${#}约定俗成内的变量限制个数 -eq=3 限制bb长度个数不能超过3]
#if [ $aa -gt $bb ] ;then 进行比较运算 随机数$aa 如果大于 $bb  因为输入的数字$bb 随机数是$aa 如果你输入的数字小于 $aa------
#--------那就是----输出数小--- 反之就是当输入的$bb大于$aa 就是输入的数字过大 就要----输出内容你输出的数字太大了---再反之---两个条件>都不满足 就是成功了! 你是个天才!
#最后的else对应的是 限制长度的${#bb} 如果超过就是输入长度不合法了.
#最后调整好对其顺序 这样不会报语法错误


#----当我想要给它进行一个循环时,而不是输入一次就将我踢出游戏,我可以将其增加一个循环变量为cc
#cc=0 寓意着从0次开始
#while语句 [ $cc -lt 5] 小于5时执行这些操作,可以让我多玩几次
#最后加上一个 cc=$((cc+1)) 控制他每次都对循环结果+1 +到5时就到五次了 0-4 0,1,2,3,4
#最后输出将我踢出去
#但是这样会有一个问题 就是在我五次输入时,每进行一次猜数,就会创建出一个新的随机数,所以这时候要将创建随机数这条命令拿出 让他不进行循

#我们保存进行尝试一下 #将$RANDOM随机数从循环中摘出
#虽然成功的不更改随机数,但是又出现了新的问题,它在五次内猜对依旧会让你继续猜,而在第五次操作后,无论对错都会输出'不给你玩了'
#在echo "你答对了" 之后加入一个判断 在你输入正确时 退出 任务就好了

cc=0 #while循环量赋值
aa=`echo $RANDOM | cut -c 1-3 ` #aa变量为随机数 优先执行 并限制长度是因为会报错
while [ $cc -lt 5 ] #循环变量cc 小于5 就会循环
do #循环
echo $aa >/tmp/caishuzi.txt #将随机数输入到/tmp下的随机一个文件 方便"透题"
read -p "请输入您的猜测: " bb #输入 猜测数$bb
echo $bb | grep "[^0-9]"  #对$bb 进行一个取反限制 因为是猜数字游戏 输入别的不像样子
if [ $? -eq 0 ] ; then #如果不等于0就说明输入的不是数字
        echo "您输入的内容不合法"
else
        if [ `echo ${#bb}` -eq 3 ];then #进行比较
                if [ $aa -gt $bb ];then
                        echo "你输入的数字太小了"
                elif [ $aa -lt $bb ] ;then #进行比较
                        echo "你输入的数字太大了"
                else
                        echo "你答对了"
                        exit 0 #答对了就退出
                fi
        else
                echo"您输入的长度不合法"
        fi
fi
 cc=$((cc+1))
done
echo "你已经错了五次,不给你玩了" #答不对 循环5次后就会踢你出去
exit 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值