linux-centos- 石头剪刀布小游戏-shell版
程序员文章站
2024-02-20 10:59:22
...
文章目录
使用case语句,穷举法
具体代码如下:
#!/bin/bash
computer=$[$RANDOM%3+1] //定义变量电脑, 后者为随机数生成,范围1-3
read -p " 请问你出什么 石头1 剪刀2 布3 : " player //定义玩家
case "$computer$player" in //定义条件模板
[1][2]) //匹配模板
echo "你输了,电脑出的石头,你的剪刀"
;;
[1][3])
echo "你赢了,电脑出的石头,你出的布"
;;
[1][1])
echo "平局,你们都出的石头"
;;
[2][2])
echo "平局,你们都出的剪刀"
;;
[2][1])
echo "你赢了,电脑出的剪刀,你出的石头"
;;
[2][3])
echo "你输了,电脑出的剪刀,你出的布"
;;
[3][3])
echo "平局,你们都出的布"
;;
[3][1])
echo "你输了,电脑出的布,你出的石头"
;;
[3][2]) "你赢了,电脑出的布,你出的剪刀"
;;
*?) //上面没匹配到的,默认匹配它
echo "回家多学会,再来玩"
esac
运行结果
[[email protected] shanan ~]# sh test4.sh
请问你出什么 石头1 剪刀2 布3 : 1
你输了,电脑出的布,你出的石头
[[email protected] shanan ~]# sh test4.sh
请问你出什么 石头1 剪刀2 布3 : 2
你输了,电脑出的石头,你的剪刀
[[email protected] shanan ~]# sh test4.sh
请问你出什么 石头1 剪刀2 布3 : 3
你输了,电脑出的剪刀,你出的布
[[email protected] shanan ~]# sh test4.sh
请问你出什么 石头1 剪刀2 布3 : 4566
回家多学会,再来玩
使用if 语句
代码如下
#!/bin/bash
#name=石头剪刀布
computer=$[$RANDOM%3+1]
read -p " 请问你出什么 石头1 剪刀2 布3 : " player
if [ $player -le 3 ] && [ $player -ge 1 ]
then
if [ $player -eq $computer ] && [ $player = 1 ]
then
echo " 平局,你们都出的石头 "
elif [ $player -eq $computer ] && [ $player = 2 ]
then
echo " 平局,你们都出的剪刀 "
elif [ $player -eq $computer ] && [ $player = 3 ]
then
echo " 平局,你们都出的布 "
elif [ $player -gt $computer ] && [ $player = 2 ]
then
echo " 你输了,你出的剪刀,电脑出的石头"
elif [ $player -gt $computer ] && [ $player = 3 ] && [ $computer = 1 ]
then
echo "你赢了,电脑出的石头,你出的布"
elif [ $player -gt $computer ] && [ $computer = 2 ]
then
echo "你输了,电脑出的剪刀,你出的布"
elif [ $player -lt $computer ] && [ $player = 2 ]
then
echo "你赢了,电脑出的布,你出的剪刀"
elif [ $player -lt $computer ] && [ $computer = 2 ]
then
echo "你赢了,电脑出的剪刀,你出的石头"
elif [ $player -lt $computer ] && [ $player = 1 ]&& [ $computer = 3 ]
then
echo "你输了,电脑出的布,你出的石头"
fi
else
echo "回家多学会再来玩"
fi
运行结果
[[email protected] shanan ~]# sh test5.sh
请问你出什么 石头1 剪刀2 布3 : 3
平局,你们都出的布
[[email protected] shanan ~]# sh test5.sh
请问你出什么 石头1 剪刀2 布3 : 3
你输了,电脑出的剪刀,你出的布
[[email protected] shanan ~]# sh test5.sh
请问你出什么 石头1 剪刀2 布3 : 4
回家多学会再来玩