注明:本文是参考其他相关文章 整理,完全尊重原著作

#!/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 各种嵌套相结合的更多相关文章

  1. DIV+CSS+PS实现背景图的三层嵌套以及背景图的合并

    传说中的“三层嵌套技术”. 一.背景图合并: div+css+ps合图相结合的技术:通过精确到1px的css设置,使用ps合成背景图片,特别是小图片合并,来完成页面效果.         首先讲讲三层 ...

  2. angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation

    今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:

  3. CRL快速开发框架系列教程十三(嵌套查询)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  4. ScrollView嵌套ListView,GridView数据加载不全问题的解决

    我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...

  5. Android 中关于Fragment嵌套Fragment的问题

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5802146.html 问题描述: 在项目中Activity A中嵌套Fragment B,Fragment ...

  6. C#语句2——循环语句(for循环与for循环嵌套)

    循环:反复执行某段代码. 循环四要素:初始条件,循环条件,循环体,状态改变. for(初始条件;循环条件;状态改变) { 循环体 } break ——中断循环,跳出整个循环 continue——停止本 ...

  7. C#用链式方法表达循环嵌套

    情节故事得有情节,不喜欢情节的朋友可看第1版代码,然后直接跳至“三.想要链式写法” 一.起缘 故事缘于一位朋友的一道题: 朋友四人玩LOL游戏.第一局,分别选择位置:中单,上单,ADC,辅助:第二局新 ...

  8. SQL连接操作符介绍(循环嵌套, 哈希匹配和合并连接)

    今天我将介绍在SQLServer 中的三种连接操作符类型,分别是:循环嵌套.哈希匹配和合并连接.主要对这三种连接的不同.复杂度用范例的形式一一介绍. 本文中使用了示例数据库AdventureWorks ...

  9. 安卓APP与智能硬件相结合的简易方案

    第1章 概  述 (作者小波QQ463431476) (来源http://blog.chinaaet.com/zhaocundang/p/5100017645博客) (来源   http://www. ...

随机推荐

  1. CI框架基础知识

    调用一个视图 a.调用一个视图 $this->load->view('视图文件名'); b.调用多个视图 $this->load->view('index_h'); $this ...

  2. HDU1969

    记得用PI=acos(-1)反三角函数求,用一次排序,然后二分和贪心 #include<iostream> #include<algorithm> #include<io ...

  3. W​i​n​d​o​w​s​2​0​0​3​建​立​F​T​P​服​务​器以及报530 User <用户名> cannot log in home directory inaccessible的解决方法

    W​i​n​d​o​w​s​2​0​0​3​建​立​F​T​P​服​务​器:                   W​i​n​d​o​w​s​2​0​0​3​建​立​F​T​P​服​务​器 FTP连接 ...

  4. SQL must not be null(低级错误)

    提醒一下: 数据库数据源配置出错,也会发生这种低级错误的.

  5. JVM技术部分总结

    1.JVM内存模型 1.1 JVM内存模型图解 Java虚拟机在执行Java程序的过程中,会把它所管理的内存划分为若干个不同的数据区.这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程 ...

  6. 2016.10.18kubernetes 的8080和6443端口的区别与联系

    由看过的资料知道,可以使用kubectl,client libraries和REST请求来访问api.   来自官方资料: By default the Kubernetes APIserver se ...

  7. Vmware+gdb调试Linux内核——工欲善其事,必先利其器

    今天我最终忍受不了qemu的低速跟不可理喻的各种bug,開始寻找新的调试内核的方法.然后想到了Vmware,那么成熟的虚拟机怎么可能调试不了内核.于是尝试了一番,发现结果很的棒!所以立刻奋笔疾书.把这 ...

  8. 从头開始写项目Makefile(五):嵌套运行

    [版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] 在大一些的项目里面,全部源码不会仅仅放在同一个文件夹,一般各个功 ...

  9. 连续调用scanf的问题总结

    对于非常简单的scanf函数,一直使用,但是却是有很多的知识点没有掌握好,现总结如下: 1.多个scanf之后,后序以 scanf("%c",&c) 当程序连续调用scan ...

  10. vscode Python Pylint(代码检测插件)

    暑假刚开始想了解一下Python,使用vscode进行编写,根据vscode 的提示安装了一些不知道干啥的插件,编写过程中提示说  "Linter pylint is not install ...