剪刀石头布的游戏,这篇作文是抄的

案例讲解
    实现猜拳游戏的脚本程序设计
案例介绍:用脚本实现小时候玩过的游戏石头、剪刀和布PK


,三局两胜。
案例设计:循环接受用户的“出招”输入;
   比较判断胜方为用户还是电脑,并输出胜方;
 统计胜利次数,率先赢得两次,即最终获胜。
思路:游戏算法,赢的判断(需求分析)
j<s s<b b<j 三个回合 三局两胜
每一回合的比赛:用户的出招(输入) 循环验证 验证输入
电脑出招(随机)
                        两者出招比较
       比较统计结果: 统计赢的 赢两句先赢   


                                     赢的多的算赢
#!/bin/bash
#------------------------------
#--剪刀,石头和布的游戏脚本实践
#------------------------------


Input()
{
#这里的冒号代表空语句,都也是个循环,竖杠代表或者的意思
  while :
  do
    #clear;echo " -- 剪刀、石头和布游戏 -- "
    echo "请选择输入剪刀(J)、石头(S)、或布(B)"
    read Choice
    case $Choice in
    J|j)
      echo -n "您选择的是\"$Choice\"剪刀,"
      userChoice=0
      break
    ;;
    S|s)
      echo -n "您选择的是\"$Choice\"石头,"
      userChoice=1
      break
    ;;
    B|b)
      echo -n "您选择的是\"$Choice\"布匹,"
      userChoice=2
      break
    ;;
    *)
      #echo ${Choice:?"您未输入"} >/dev/null
      echo "您的输入不正确,请重新输入!"
       sleep
    ;;
    esac
  done
}
function Judge()
{
  #echo "Now --judge--"
  let Num=$RANDOM%3
  [ $Num -eq 0 ] && echo "电脑选择的是\"J\"剪刀"
  [ $Num -eq 1 ] && echo "电脑选择的是\"S\"石头"
  [ $Num -eq 2 ] && echo "电脑选择的是\"B\"布匹"


  let ${User:=0}; let ${Comp:=0}
  if [ $1 -eq $Num ];then
    echo "本局平局!"
    elif [ $1 -eq 0 ];then
      if [ $Num -eq 2 ];then
        echo "本局你赢!" ;let User++
      else
        echo "本局你输!" ;let Comp++
      fi
    elif [ $Num -eq 0 ];then
      if [ $1 -eq 2 ];then
        echo "本局你输!" ;let User++
      else
        echo "本局你赢!" ;let Comp++
      fi
    elif [ $1 -gt $Num ];then
        echo "本局你赢!" ;let User++
      else
        echo "本局你输!" ;let Comp++
      fi
}


#-- main program --
clear;echo "欢迎来到剪刀、石头和布游戏!"
sleep 2;User=0;Comp=0;Round=1
while [ $Round -le 3 ] ;do
  sleep 2;clear
  echo ">> 剪刀、石头和布第$Round回合比赛 <<"
  Input
  Judge $userChoice
  let Round++
  [ $User -ge 2 ] && echo "恭喜,你赢得了整个比赛!" \
  && exit
  [ $Comp -ge 2 ] && echo "遗憾,电脑赢得了整个比赛!" \
  && exit
done
echo "不错,你平了整个比赛"




      

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31453498/viewspace-2138186/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31453498/viewspace-2138186/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值