shell脚本写出一个简单的猜价格游戏

[[email protected] ~]# vim game.sh
#!/bin/bash
a=$(expr ${RANDOM} % 1000)
#$RANDOM是一个环境变量,每次都会输出一个不一样的数,并且小于2的16次方
count=0
echo "这个商品的价格是(0-999)元之间,猜猜具体价格?"
while true
do
let count++
read -p " 请输入您猜到的具体价格,并按Enter键确认:" b
if [ $b -eq $a ]
then
echo "恭喜你,答对了,商品的实际价格是${b}!"
echo "您一共猜了${count}次!"
exit 0
elif [ $b -gt $a ]
then
echo "太高了哦!"
else
echo "太低了哦!"
fi
done

保存退出,玩一下!!!

[[email protected] ~]# . game.sh

这个商品的价格是(0-999)元之间,猜猜具体价格?
请输入您猜到的具体价格,并按Enter键确认:500
太低了哦!
请输入您猜到的具体价格,并按Enter键确认:600
太高了哦!
请输入您猜到的具体价格,并按Enter键确认:550
太低了哦!
请输入您猜到的具体价格,并按Enter键确认:570
太高了哦!
请输入您猜到的具体价格,并按Enter键确认:560
太低了哦!
请输入您猜到的具体价格,并按Enter键确认:565
太低了哦!
请输入您猜到的具体价格,并按Enter键确认:566
太低了哦!
请输入您猜到的具体价格,并按Enter键确认:568
恭喜你,答对了,商品的实际价格是568!
您一共猜了8次!

原文地址:https://blog.51cto.com/14154700/2399847

时间: 2024-10-11 14:05:47

shell脚本写出一个简单的猜价格游戏的相关文章

C++编写的一个简单的猜数字游戏源码

将开发过程比较重要的一些内容段做个记录,下面内容段是关于C++编写的一个简单的猜数字游戏的内容. #include <iostream> #include <string> #include <cstdlib> #include <cctype> #include <ctime> #include <conio.h> using namespace std; int main () { int wins = 0; int losses

用MFC完成一个简单的猜数字游戏: 输入的四位数中,位置和数字都正确为A,数字相同而位置不同的为B。

最近学习了MFC一些比较基础的知识,所以打算通过做一个简单的数字游戏来理解MFC的流程并进一步熟悉其操作. 在这里,我做了一个猜数字的小游戏.第一步当然是设计主界面,先给大家展示一下游戏界面: 主界面: 从这个主界面可以看到,它包含标题,菜单栏,工具栏. 标题是给人一个认识,这是什么游戏,标题设置为:“猜数游戏”: 而菜单栏和工具栏才是游戏的核心,它要保证能够完成游戏的基本功能. 菜单栏和工具栏是对应的,包含了”start“,"help","restart"这三个菜

用shell脚本写的一个9*9乘法表

1 脚本如下 [[email protected] ~]# vim 99.sh  #!/bin/bash  # 9*9 table  # 2015.5.26 by luzhi  for i in {1..9} do   for j in {1..9}   do         if [ $j -le $i ]         then         c=$(( $i*$j ))         echo -e -n  "$j*$i=$c\t"         fi   done   

C实现一个比较简单的猜数游戏

为了练习使用do..while和while,特地使用此实例,一个简单的猜数游戏对while循环进行的练习使用.所有的东西都在注释当中: #include <stdio.h> #include <conio.h> /********************************** * 该实例用于实现一个简单的猜数字的游戏 * 主要用于练习使用while循环 * 开始的时候需要用户输入游戏密码(1234) * 如果用户输入错误 * 则提示用户重新输入 * 如果三次输入错误,则提示用

如何在linux Shell脚本里面把一个数组传递到awk内部进行处理

前段时间和几位同事讨论过一个问题:Shell脚本里面怎样把一个数组传递到awk内部进行处理? 当时没有找到方法.前两天在QQ群里讨论awk的时候,无意间又聊起这个话题.机缘巧合之下找到一个思路,特此分享. 测试环境: [root]# head -1 /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago) [root]# awk --version | head -1 GNU Awk 3.1.7 众所周知

《Effective C 》资源管理:条款25--考虑写出一个不抛出异常的swap函数

条款25考虑写出一个不抛出异常的swap函数 条款25:考虑写出一个不抛出异常的swap函数 swap是STL中的标准函数,用于交换两个对象的数值.后来swap成为异常安全编程(exception-safe programming,条款29)的脊柱,也是实现自我赋值(条款11)的一个常见机制.swap的实现如下: namespace std{ template<typename T> void swap(T& a, T& b) { T temp(a); a=b; b=temp;

一个文件中有40亿个整数,每个整数为四个字节,内存为1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数

4个字节表示的整数,总共只有2^32约等于4G个可能.为了简单起见,可以假设都是无符号整数.分配500MB内存,每一bit代表一个整数,刚好可以表示完4个字节的整数,初始值为0.基本思想每读入一个数,就把它对应的bit位置为1,处理完40G个数后,对500M的内存遍历,找出一个bit为0的位,输出对应的整数就是未出现的.算法流程:1)分配500MB内存buf,初始化为02)unsigned int x=0x1;  for each int j in file  buf=buf|x<<j;  e

怎样写出一个较好的高速排序程序

写出一个较好的高速排序程序 高速排序是经常使用的排序算法之中的一个,但要想写出一个又快又准的使用程序,就不是那么简单了 须要注意的事项 首先要写正确.通常使用递归实现.其递归相当于二叉树展开,因此假设要用迭代实现的话须要使用一个队列来保存兴许遍历信息. 高速排序须要找到一个pivot值,假设顺序选择pivot则易造成N^2的复杂度,假设使用随机数则效果最好,但开销又太大,採取三数中值法比較合适.三数中值法指的是选取第一个值,最后一个值,数组中间的值的中值.有文献表明能够提升5%的执行时间. 当数

《Effective C++》item25:考虑写出一个不抛异常的swap函数

std::swap()是个很有用的函数,它可以用来交换两个变量的值,包括用户自定义的类型,只要类型支持copying操作,尤其是在STL中使用的很多,例如: int main(int argc, _TCHAR* argv[]) { int a[10] = {1,2,3,4,5,6,7,8,9,10}; vector<int> vec1(a, a + 4); vector<int> vec2(a + 5, a + 10); swap(vec1, vec2); for (int i =