请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 216|回复: 0

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

[复制链接]

31

主题

20

回帖

251

积分

管理员

积分
251
发表于 2024-1-13 11:51:00 | 显示全部楼层 |阅读模式
1.1  SHELL编程实现石头剪刀布脚本

剪刀石头布,一把剪刀,一块石头,变成小白兔。 一把剪刀,两把剪刀,亲亲小白兔。 一把剪刀,一块布,抓住小白兔 一块布,两块布,我是老鹰,不是兔。我们一起来写一个SHELL编程脚本,让我们hi起来。

#!/bin/bash
#2024年1月11日10:51:45
#by author wuguangke

#编写脚本,实现人机<石头,剪刀,布>游戏;

#通过随机数获取计算机的出拳;

#出拳的可能性保存在数组中,GAME[0],GAME[1],GAME[2]分别是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  $person  in
        1)
        echo "你出石头"
        jfcmd1
        ;;
        2)
        echo "你出剪刀"
        jfcmd2
        ;;
        3)
        echo "你出布"
        jfcmd3
        ;;
        *)
          echo "必须输入 1‐3 的数字"
esac

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表