Shell猜数字 Shell实现猜数字游戏
不知名工程师某某某 人气:0初学Shell时,需要使用shell完成各种各样的小目标,比如输入一个日期,计算那天是星期几,又或者编写一个小游戏。
首先给大家介绍一个概念就是RANDOM,random(),函数,random函数返回一个0~num-1之间的随机数. random(num)是在stdlib.h中的一个宏定义. num和函数返回值都是整型数.
下面是脚本内容
#!/bin/bash #guess number game; init() { echo " ################################### " echo " " echo " Guess Number Game " echo " " echo " ################################### " } game() { number=$[$RANDOM%100] while : do read -p "输入你要猜测的数字: " n1 n2=`echo $n1 | sed 's/[0-9]//g'` if [ ! -z $n2 ] then echo "你输入的不是一个数字." continue fi if [ $n1 == $number ] then echo "你猜对了." read -p "你还想再玩一次么?(yes/no)" an1 while true do case $an1 in yes) game break ;; no) break ;; *) exit esac done break elif [ $n1 -gt $number ] then echo "猜大了." continue else echo "猜小了." continue fi done } while true do init echo "1: Start Game " echo "0: exit " read -p " please input 0-1:" NUM case $NUM in 1) game break ;; 0) break ;; esac done
这个脚本相比简单的猜数字游戏加入了,可以选择是否再来一次。
简单的小游戏,送给大家。
加载全部内容