🗼😀本站将逐步迁移至新站点,点击访问 -->

[oldboy]一道没人搞得定的趣味Shell编程游戏题!,看看你会不会?

1,858次阅读
没有评论

摘要

在老男孩博客看了个Shell脚本的考试题,觉得挺有意思就试着写了下,只实现了基本的功能,大佬勿喷。

需求

首先让系统随机生成一个数字,给这个数字定一个范围(1-60),让用户输入猜的数字,对输入进行判断,如果不符合要求,就给予高或低的提示。其他要求:

1、全部猜对后则给出猜对使用用的 总次数

2、根据猜的历史给出击败了百分之多少的已经猜过的用户。

3、并把关键的内容(高低以及数字部分)以特殊颜色提示用户。

效果展示

1、猜测超过5次的提示

[oldboy]一道没人搞得定的趣味Shell编程游戏题!,看看你会不会?

2、猜测4-5次的提示

[oldboy]一道没人搞得定的趣味Shell编程游戏题!,看看你会不会?

3、猜测1-3次的提示

[oldboy]一道没人搞得定的趣味Shell编程游戏题!,看看你会不会?

4、1次猜对的提示

[oldboy]一道没人搞得定的趣味Shell编程游戏题!,看看你会不会?

 

代码

[s][p]

 

#!/bin/bash
clear
number=`expr ${RANDOM} % 60`
# 作弊专用
# echo "Answer: ${number}" > /mnt/1.txt
i=0
while true
do
	read -p "请猜一个1-60的数字并输入: " num
	let i+=1
	if [ ${num} -eq ${number} ];then
		if [ ${i} -ge 5 ];then
			echo -e "你一共猜了\033[33m${i}\033[0m次,哥们儿,就这智商啊,是不是该找薛大佬学习了."
		fi
		if [ ${i} -le 3 ];then
			echo -e "你一共猜了\033[33m${i}\033[0m次,太牛逼了,膜拜!"
		fi
		if [ ${i} -gt 3 -a ${i} -lt 5 ];then
			echo -e "你一共猜了\033[33m${i}\033[0m次,马马虎虎,继续努力!"
		fi
		echo ${i} >> /mnt/sum.txt
		bigNumber=0	
		for content in `cat /mnt/sum.txt`
			do
				if [ ${content} -gt ${i} ];then
					let bigNumber+=1
				fi
			done
		sum=`cat /mnt/sum.txt | wc -l`
		if [ ${sum} -eq 1 ];then
			echo -e "截止目前共\033[33m${sum}\033[0m人参加,你猜了\033[33m${i}\033[0m次,击败了全国\033[33m100%\033[0m的Linux运维工程师,继续努力."
		elif [ ${bigNumber} -eq 0 ];then
			echo -e "截止目前共\033[33m${sum}\033[0m人参加,你猜了\033[33m${i}\033[0m次,击败了全国\033[33m0%\033[0m的Linux运维工程师,继续努力."
		elif [ ${bigNumber} -eq `expr ${sum} - 1` ];then
			echo -e "截止目前共\033[33m${sum}\033[0m人参加,你猜了\033[33m${i}\033[0m次,击败了全国\033[33m100%\033[0m的Linux运维工程师,继续努力."
		else		
			percent=`awk 'BEGIN{printf "%.2f%\n",('${bigNumber}'/'${sum}')*100}'`
			echo -e "截止目前共\033[33m${sum}\033[0m人参加,你猜了\033[33m${i}\033[0m次,击败了全国\033[33m${percent}\033[0m的Linux运维工程师,继续努力."
		fi
		exit
	fi
	if [ ${num} -gt ${number} ];then
		echo -e "哥们儿,猜\033[33m高\033[0m了,请继续"
	fi
	if [ ${num} -lt ${number} ];then
		echo -e "哥们儿,猜\033[33m低\033[0m了,请继续"
	fi
done	

 

[/p]

 

 

Honest1y
版权声明:本站原创文章,由Honest1y于2018年09月29日发表,共计4662字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)