shell编程实例-石头剪子布游戏

新建game.sh文件,编辑内容如下:

Input()
{
	while :
	do
		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"您的输入不正确,请重新输入"
			sleep 1
		;;
		esac
	done
}

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变量未被定义过或为空,则赋值为0
	let ${CntComp:0}   
	if [ $NumUser -eq $NumComp ];then
		echo "本局平局"
	elif [ $NumUser -eq 0 ];then
		if [ $NumComp -eq 2 ];then
			echo "本局你赢!";let CntUser++
		else
			echo "本局你输!";let CntComp++
		fi
	elif [ $NumComp -eq 0 ];then
		if [ $NumUser -eq 2 ];then
			echo "本局你输!";let CntComp++
		else
			echo "本局你赢!";let CntUser++
		fi
	elif [ $NumUser -gt $NumComp ];then
		echo "本局你赢!" ;let CntUser++
	else
		echo "本局你输!";let CntComp++
	fi

}

#--main program--
clear;echo "欢迎来到剪刀、石头、布游戏!"
CntUser=0  #你赢的局数
CntComp=0  #电脑赢的局数
Round=1    #回合数
while [ $Round -le 3 ]
do
	echo ">>第$Round回合"
	Input
	Judge $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.[后面和]前面的空格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值