shell脚本石头剪刀布游戏

算法简介

定义、分析
本人  石头   剪刀    布
           0         1        2

机器人         石头   剪刀    布
                      1        2       3

$num1 == $num2    || $num1 == $[$num2-3]    # 两个数值相等的时候 电脑赢
$num1 == $[$num2-1]                                       # 数值二比数值一大的时候是平局  平局
else                                                                    #否则就是自己赢
 

#!/usr/bin/env bash
cat<<EOF
 ________________________
|                       |
|     石头剪刀布游戏      |
|                       |
|       0.石头          |
|       1.剪刀          |
|       2.布            |
|                       |
|                       |
|______________________ |
EOF

while 
do
     cp=$[$RANDOM%3+1]
     read -p "请输入上面数字" my
     echo "计算机出的是 ${dm[$[$cp-1]]} "
     echo "你出的是 ${dm[$my]} "
      
        if [[ "$my" =~ ^[0-2]$ ]] ;then

             if [ $cp == $my ] || [ $my == $[$cp-3] ];then
                  echo "电脑赢"
             elif [ $my == $[$cp-1] ];then
                  echo "平局"
             else
                  echo "我赢"
             fi
       else
       echo "输入错误,请从新输入!大哈子!!!"
       exit
       fi
done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
可以为您提供一个简单的shell脚本实现石头剪刀布游戏。下面是一个示例: ```shell #!/bin/bash player_score=0 computer_score=0 rounds=5 wins_required=3 declare -a options=("石头" "剪刀" "") function generate_computer_choice { computer_choice=$((RANDOM % 3)) } function determine_winner { player_choice=$1 computer_choice=$2 if [[ $player_choice -eq $computer_choice ]]; then echo "平局!" elif [[ ($player_choice -eq 0 && $computer_choice -eq 1) || ($player_choice -eq 1 && $computer_choice -eq 2) || ($player_choice -eq 2 && $computer_choice -eq 0) ]]; then echo "你赢了这局!" ((player_score++)) else echo "电脑赢了这局!" ((computer_score++)) fi } function print_scores { echo "你的得分:$player_score" echo "电脑的得分:$computer_score" } echo "欢迎来到石头剪刀布游戏!" while [[ $player_score -lt $wins_required && $computer_score -lt $wins_required && $rounds -gt 0 ]]; do echo "请选择(输入序号):" for index in "${!options[@]}"; do echo "$index. ${options[$index]}" done read -p "你的选择: " player_choice if [[ $player_choice =~ ^[0-2]$ ]]; then generate_computer_choice echo "你选择了:${options[$player_choice]}" echo "电脑选择了:${options[$computer_choice]}" determine_winner $player_choice $computer_choice ((rounds--)) print_scores else echo "无效的选择,请重新输入!" fi done if [[ $player_score -eq $wins_required ]]; then echo "恭喜,你赢得了比赛!" elif [[ $computer_score -eq $wins_required ]]; then echo "很遗憾,电脑赢得了比赛!" else echo "比赛结束,没有胜出者!" fi ``` 您可以将以上代码保存为一个.sh文件(例如:game.sh),然后通过运行 `bash game.sh` 或 `./game.sh` 来执行脚本。 这个脚本允许玩家与电脑进行石头剪刀布游戏,共进行5局,其中一方先获得3局胜利即为最终胜利。每次游戏后会显示双方的得分。最终会显示比赛结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邢函数

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值