case_for_if 各种嵌套相结合
注明:本文是参考其他相关文章 整理,完全尊重原著作
#!/bin/bash
usage() {
cat << EOF EOF
} main() {
echo "猜分数赢大奖(0-100)"
echo "请选择难度:"
echo '###########################################'
echo "1,试下牛刀:50-100,7次机会"
echo "2,不过尔尔:0- 100,7次机会"
echo "3,俯视众生:50-100,4次机会"
echo "4,我是菜鸟:0- 100,4次机会"
echo "5,我是主宰:50-100,2次机会"
echo "6,上帝视角:0- 100,2次机会"
echo '###########################################'
echo ""
read -p "输入当前关卡难度:" difficulty
case $difficulty in
)
init_num=
max_try=
echo "游戏难度级别: 1,玩的开心"
;;
)
init_num=
max_try=
echo "游戏难度级别: 2,祝你好运"
;;
)
init_num=
max_try=
echo "游戏难度级别: 3,学霸你好"
;;
)
init_num=
max_try=
echo "游戏难度级别: 4,大牛你好"
;;
)
init_num=
max_try=
echo "游戏难度级别: 5,珍爱生命"
;;
)
init_num=
max_try=
echo "游戏难度级别: 6,上帝你好"
;;
* )
init_num=
max_try=
echo "恭喜你获得隐藏关卡:地狱模式"
;; esac bingo_num=$[RANDOM % ]
lucky_num=$[$bingo_num + $init_num]
if [[ $lucky_num -gt ]]; then
lucky_num=$bingo_num
fi for (( i=;i<=$max_try;i++)); do
case $i in
)
read -p "游戏开始,请输入你的分数:" GRADE
;;
*)
read -p "请再次输入你的分数:" GRADE
;;
esac
result=$[ $GRADE - $lucky_num ]
if [[ $result -ge && $result -le ]]; then
echo "你的分数:$GRADE ! 远远大于幸运号码"
elif [[ $result -ge && $result -le ]]; then
echo "你的分数:$GRADE 分! 稍微大于幸运号码"
elif [[ $result -gt && $result -lt && $result -ne ]]; then
echo "你的分数:$GRADE 分! 就比幸运号码大一丢丢啦"
elif [[ $result -ge - && $result -lt && $result -ne ]]; then
echo "你的分数:$GRADE 分! 离幸运号码就差一小丢丢"
elif [[ $result -eq ]]; then
echo " "
echo "BINGO!!恭喜!!!!"
echo "幸运号码:$lucky_num,请带上身份证原件还有299元手续费来领奖"
case $difficulty in
)
echo "学霸带我一起飞吧";;
)
echo "大牛给个大腿吧" ;;
)
echo "少年传授你一本绝世秘籍吧" ;;
)
echo "上帝快来救救我吧,我被传销迫害" ;;
*)
echo "你一定是从外星空来的";;
esac
exit
elif [[ $result -gt - && $result -lt - ]];then
echo "你的分数:$GRADE 分! 比幸运号码小"
elif [[ $result -lt - ]];then
echo "你的分数:$GRADE 分! 远远小于幸运号码"
fi echo "还有$[$max_try - $i] 次机会"
echo "" if [[ $i -eq $max_try ]];then
echo "非常抱歉你的次数你全部用完,离大奖就差一点点。"
echo "你可以选择"
echo "#########################################################"
echo "1.消费100购买全部次数"
echo "2.临时工"
echo "3.试试手气"
echo "其它任意键结束游戏"
echo "#########################################################" read -p "请选择:" choose echo "" case $choose in
)
read -p "请输入金额:"money
if [[ $money -le ]];then
read -p "请确认购买y/n ?"confilm
if [[ $confilm == y ]]; then
echo "购买成功,信春哥满血复活!"
echo ""
i= else
echo "没关系,说不定下轮大奖就是你的"
fi
else
echo "金额不到位,无法购买"
fi
;;
)
echo "天灵灵,地灵灵,请老天再给我一次机会把"
echo ""
read -p "按任意键试下你的上帝之手吧" lucky_try
case $lucky_try in
*)
echo ""
;;
esac
guess_again=$[RANDOM+ %]
if [[ $GRADE_again -eq $lucky_num ]];then
echo "恭喜你很荣幸的获得上天的眷顾"
echo "女神恩赐了你两次机会,请珍惜!"
for (( j=;j<;j++ ));do
case $j in
) read -p "请输入你的第一次眷顾:" GRADE_again
;;
*) read -p "请输入你的分数:"GRADE_again ;;
esac
result_again = $[ $GRADE_again - $lucky_num ]
if [[ $result_again -eq ]];then
echo "大奖号码: $lucky_num 恭喜你通过眷顾机会获得超级大奖,通知所有今晚吃鸡翅!!!!!"
exit
elif [[ $result -ne ]];then
echo "你此次的眷顾结果运气就差一点点"
fi
echo "还剩 $[2-$j]次眷顾机会"
echo ""
done
else
echo "没被眷顾到,运气就差一点点"
fi
;;
*)
echo "没关系,说不定下次就轮到你了"
esac
fi
done } main "$@"
exit
case_for_if 各种嵌套相结合的更多相关文章
- DIV+CSS+PS实现背景图的三层嵌套以及背景图的合并
传说中的“三层嵌套技术”. 一.背景图合并: div+css+ps合图相结合的技术:通过精确到1px的css设置,使用ps合成背景图片,特别是小图片合并,来完成页面效果. 首先讲讲三层 ...
- angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation
今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:
- CRL快速开发框架系列教程十三(嵌套查询)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- ScrollView嵌套ListView,GridView数据加载不全问题的解决
我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...
- Android 中关于Fragment嵌套Fragment的问题
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5802146.html 问题描述: 在项目中Activity A中嵌套Fragment B,Fragment ...
- C#语句2——循环语句(for循环与for循环嵌套)
循环:反复执行某段代码. 循环四要素:初始条件,循环条件,循环体,状态改变. for(初始条件;循环条件;状态改变) { 循环体 } break ——中断循环,跳出整个循环 continue——停止本 ...
- C#用链式方法表达循环嵌套
情节故事得有情节,不喜欢情节的朋友可看第1版代码,然后直接跳至“三.想要链式写法” 一.起缘 故事缘于一位朋友的一道题: 朋友四人玩LOL游戏.第一局,分别选择位置:中单,上单,ADC,辅助:第二局新 ...
- SQL连接操作符介绍(循环嵌套, 哈希匹配和合并连接)
今天我将介绍在SQLServer 中的三种连接操作符类型,分别是:循环嵌套.哈希匹配和合并连接.主要对这三种连接的不同.复杂度用范例的形式一一介绍. 本文中使用了示例数据库AdventureWorks ...
- 安卓APP与智能硬件相结合的简易方案
第1章 概 述 (作者小波QQ463431476) (来源http://blog.chinaaet.com/zhaocundang/p/5100017645博客) (来源 http://www. ...
随机推荐
- C++ 11中几个我比较喜欢的语法(二)
之前在文章C++ 11中几个我比较喜欢的语法中介绍了几个我比较喜欢的C++语法,其中有些语法由于VC 11还不支持,无法跨平台,所以没有介绍.前几天VS 2013 Preview发布后,对C++ 11 ...
- mac安装apache的mod_wsgi模块
第一次用pip安装 ,最终不能使用,原因是系统自带的apache,python和新安装的冲突, 所以需要安装时需要指定apache,python路径 所以用make makeinstall方式 参考链 ...
- Java中的http相关的库:httpclient/httpcore/okhttp/http-request
httpclient/httpcore是apache下面的项目:中文文档下载参考 5 官网:http://hc.apache.org/ 在线文档:http://hc.apache.org/httpco ...
- 实现页面切换(动画效果实现,不用ViewPager)
源代码地址 http://download.csdn.net/detail/u013210620/8791687 先看主页面布局activity_main <?xml version=" ...
- 同步数据库到Codis代码
同步mysql数据库到codis缓存中 public void syncRule() { // 根据时间戳获取Mycat中规则表数据 logger.info("start ..." ...
- [javase学习笔记]-8.5 statickeyword的使用场景
这一节我们来看一下在我们开发的过程中,在什么时候我们要用到statickeyword进行静态修饰. 我们这里所说的静态.无非就是两种.一种是静态变量,一种是静态函数,我们分这两种情况进行说明stati ...
- Spring技术笔记(一)
一.控制反转(IoC)&依赖注入(DI) 1.控制反转: 所谓的控制反转就是应用本身不负责依赖对象的创建及维护, 依赖对象的创建及维护是由外部容器负责的. 这样控制权就由应用转移到了外部容器, ...
- matlab-1
1.size():获取矩阵的行数和列数 (1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数.(2)[r,c]=size(A),当 ...
- Android · 广告走灯
layout <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:and ...
- MySQL -进阶
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用 SELECT * FROM(SELE ...