欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

猜数字游戏-学员版本

程序员文章站 2022-05-30 16:30:09
...
#!/bin/bash
while true
do
  i=3   ## i初始值
  while [ $i -ne 0 ]   ##循环条件
  do
   number=`echo $RANDOM|cksum |cut -c 1-2`  ### 生成随机数
   read -p "请输入一个两位数:" num
   if [ -z $num ]
   then echo "请不要输入空字符"
   #else
   #echo "aaa"
   #elif [ -n
   fi
   
   let i--

     if  [ $num -gt $number ]
     then
        echo "大了,你还有$i次机会"   ##判断 
     elif [ $num -lt $number ]
     then
        echo "小了,你还有$i次机会"
     elif [ $num -eq $number ]
     then
        echo "猜对了"
        read -p "是否继续" fun3
          if [ $fun3 -eq 1 ]
             then
                break
          elif [ $fun3 -eq 0 ]
             then
                exit
          fi
     else
        echo "请输入一个正确的两位数,你还有$i次机会"
     fi
     if [ $i -eq 0 ]
        then
          read -p "你的机会没得了,是否继续(继续输入1,退出输入0):" fun5
          if [ $fun5 -eq 1 ]
             then
                break
          elif [ $fun5 -eq 0 ]
             then
                exit
          fi
      fi
  done
done

这个脚本里面还有一些瑕疵,比如没有判断用户输入的是否为数字,是否是两位数等。不过基本的功能实现了,得分85分。

在此基础上还可以继续追加条件,比如

  1. 开始游戏前,要求用户先输入用户名和密码登录
  2. 根据用户输入的用户名对比黑名单文件判断此用户是否合法
  3. 若输入用户名和密码超过三次,则把此用户加入黑名单
  4. 在后续的猜数字游戏中,如果用户猜对一次+10分,把结果写入到record.txt文件里
  5. 在游戏结束时候遍历文件,对得分进行排名,并提示用户,他目前排在第几名
  6. 若用户是第一名,则提示用户使用积分换礼品
  7. 礼品有4种,分别是 1 鼠标 2 铅笔 3.50元购物券, 4. 50元充值卡
  8. 根据用户选的序号,来提示是否兑换成功
  9. 若用户兑换成功,则要求用户输入邮寄地址和姓名
    10.用户输入完后要跟用户确认地址是否正确
  10. 若用户输入Y表示正确,输入N表示在修改

其实脚本或者说编程就是把一个小的需求逐步完善的过程,在不断写的过程中,不断的去测试。可能一开始你写这个脚本需要一周时间,后来慢慢的写的多了,就变成了1天。前期你可能需要百度,比如如何判断用户输入的是数字而不是字母。慢慢的写的多了,这些用法就像印在了脑子里,下次写就可以直接从大脑里获取用法,而不用百度了

写脚本是一个不断修改的过程,在修改中完善,在测试中修改。

相关标签: linux运维教学