admin 发表于 2024-8-21 16:28:35

SHELL编程实现石头剪刀布脚本

剪刀石头布,一把剪刀,一块石头,变成小白兔。 一把剪刀,两把剪刀,亲亲小白兔。 一把剪刀,一块布,抓住小白兔。 一块布,两块布,我是老鹰,不是兔。我们一起来写一个SHELL编程脚本,让我们hi起来。
#!/bin/bash
#by author www.jfedu.net 2024
#######################
#编写脚本,实现人机<石头,剪刀,布>游戏;
#通过随机数获取计算机的出拳;
#出拳的可能性保存在数组中,GAME,GAME,GAME分别是3种不同的可能;
#RANDOM%3表示随机产生0 1 2三个数;
GAME=(石头 剪刀 布)
NUM=$(echo $RANDOM%3|bc)
COMPUTER=${GAME[$NUM]}
echo "请根据下列提示,选择您的出拳手势: "
echo "1.石头"
echo "2.剪刀"
echo "3.布"

function jfcmd1(){
echo ""
if [ $NUM -eq 0 ]
then
    echo "计算机出石头"
    echo "---------------"
    echo -e "\033[31m平局,你们不分秋色\033[0m"
    elif [ $NUM -eq 1 ]
    then
      echo "计算机出剪刀"
      echo "---------------"
      echo -e "\033[31m恭喜,你赢了\033[0m"
else
    echo "计算机出布"
    echo "---------------"
    echo -e "\033[31m不好意思,计算机赢了\033[0m"
fi
}

function jfcmd2(){
if [ $NUM -eq 0 ]
then
    echo "计算机出剪刀"
    echo "---------------"
    echo -e "\033[31m平局,你们不分秋色\033[0m"
    elif [ $NUM -eq 1 ]
    then
      echo "计算机出布"
      echo "---------------"
      echo -e "\033[31m恭喜,你赢了\033[0m"
else
    echo "计算机出石头"
    echo "---------------"
    echo -e "\033[31m不好意思,计算机赢了\033[0m"
fi
}

function jfcmd3(){
if [ $NUM -eq 0 ]
then
    echo "计算机出布"
    echo "---------------"
    echo -e "\033[31m平局,你们不分秋色\033[0m"
    elif [ $NUM -eq 1 ]
    then
      echo "计算机出石头"
      echo "---------------"
      echo -e "\033[31m恭喜,你赢了\033[0m"
else
    echo "计算机出剪刀"
    echo "---------------"
    echo -e "\033[31m不好意思,计算机赢了\033[0m"
fi
}

read -p "请选择 1‐3:" person
case$personin
        1)
        echo "你出石头"
        jfcmd1
        ;;
        2)
        echo "你出剪刀"
        jfcmd2
        ;;
        3)
        echo "你出布"
        jfcmd3
        ;;
        *)
        echo "必须输入 1‐3 的数字"
esac

页: [1]
查看完整版本: SHELL编程实现石头剪刀布脚本