新建game.sh文件,编辑内容如下:
Input()
{while :doecho "请选择剪刀(J)、石头(S)或(B)"read Choicecase $Choice inJ|j)echo -n "您选择的是\"$Choice\"剪刀,"userChoice=0break;;S|s)echo -n "您选择的是\"$Choice\"石头,"userChoice=1break;;B|b)echo -n "您选择的是\"$Choice\"布,"userChoice=2break;;*)echo"您的输入不正确,请重新输入"sleep 1;;esacdone
}function Judge()
{let NumUser=$1 #$1表示传入的第一个参数let NumComp=$RANDOM%3[ $NumComp -eq 0 ] && echo "电脑选择的是\"J\"剪刀" #如果电脑选择的为0,则打印 “...剪刀”[ $NumComp -eq 1 ] && echo "电脑选择的是\"S\"石头"[ $NumComp -eq 2 ] && echo "电脑选择的是\"B\"布"let ${CntUser:=0} #如果User变量未被定义过或为空,则赋值为0let ${CntComp:0} if [ $NumUser -eq $NumComp ];thenecho "本局平局"elif [ $NumUser -eq 0 ];thenif [ $NumComp -eq 2 ];thenecho "本局你赢!";let CntUser++elseecho "本局你输!";let CntComp++fielif [ $NumComp -eq 0 ];thenif [ $NumUser -eq 2 ];thenecho "本局你输!";let CntComp++elseecho "本局你赢!";let CntUser++fielif [ $NumUser -gt $NumComp ];thenecho "本局你赢!" ;let CntUser++elseecho "本局你输!";let CntComp++fi}#--main program--
clear;echo "欢迎来到剪刀、石头、布游戏!"
CntUser=0 #你赢的局数
CntComp=0 #电脑赢的局数
Round=1 #回合数
while [ $Round -le 3 ]
doecho ">>第$Round回合"InputJudge $userChoice #userChoice为传入的参数let Round++[ $CntUser -ge 2 ]&& echo "欧耶你赢了!" && exit[ $CntComp -ge 2 ]&& echo "好遗憾你输了。。。" && exit
done
echo "最终打成了平局呢^_^"
进入game.sh所在的文件夹,为其加权限
chmod u+x game.sh
执行
./game.sh
运行结果如图:
!!!尤其要主要代码中的空格,例如
1.while和:之间的空号
2.[后面和]前面的空格