Shell脚本之剪刀石头布人机对战2

文章目录

  • 剪刀石头布,人机对战
    • 一、实现1
      • 1、新建文件text3.sh
      • 2、添加执行权限
      • 3、测试
    • 二、实现2
      • 1、新建文件text4.sh
      • 2、测试

剪刀石头布,人机对战

一、实现1

1、新建文件text3.sh

文件内容如下所示:

#!/bin/bash
read -p "0:代表剪刀;1:代表石头;2:代表布;请输入剪刀石头布(0-2)" num
echo ""
jnum=`expr $RANDOM % 3`
if [ "$num" = "$jnum" ]
then
   echo "你们打平了"
else
case $num in
  [0-2])
        if [ `expr $num + 1` = "$jnum" ] || [ `expr $jnum + 2` = "$num" ]
                then
                echo "机器赢了"
        elif [ `expr $jnum + 1` = "$num" ] || [ `expr $num + 2` = "$jnum" ]
                then
                echo "你赢了"
        fi
   ;;
   *)
        echo "您输入的格式有问题!"
esac
fi
echo ""
echo "机器的值为:$jnum;您输出的值为:$num;"
echo ""

2、添加执行权限

chmod +x text3.sh

3、测试

Shell脚本之剪刀石头布人机对战2_第1张图片

二、实现2

1、新建文件text4.sh

文件内容如下所示,其中内循环可以抽象成一个方法来调用

#!/bin/bash
read -p "0:代表剪刀;1:代表石头;2:代表布;请输入剪刀石头布(0-2)" num
echo ""
jnum=`expr $RANDOM % 3`
num1=`expr $num + 1`

if [ "$num" = "$jnum" ]
then
   echo "你们打平了"
else
  case $num in
  [0-2])
        if [ "$num1" = "$jnum" -a "$num" != 2 ] || [ "$num" = 2  -a  "$jnum" = 0 ]
           then
           echo "机器赢了,你输了"
        else
           echo "你赢了,机器输了"
        fi
   ;;
   *)
        echo "您输入的格式有问题!"
esac
fi
echo ""
echo "机器的值为:$jnum;您输出的值为:$num;"
echo ""

2、测试

Shell脚本之剪刀石头布人机对战2_第2张图片

你可能感兴趣的:(Shell编程)