写一个石头剪刀布的shell脚本
时间: 2023-11-23 19:58:03 浏览: 111
好的,下面是一个简单的石头剪刀布的shell脚本:
```
#!/bin/bash
echo "欢迎来到石头剪刀布游戏!"
echo "请输入你的选择:1. 石头 2. 剪刀 3. 布"
read choice
computer_choice=$((RANDOM % 3 + 1))
if [ $choice -eq $computer_choice ]
then
echo "平局!"
elif [ $choice -eq 1 -a $computer_choice -eq 2 ] || [ $choice -eq 2 -a $computer_choice -eq 3 ] || [ $choice -eq 3 -a $computer_choice -eq 1 ]
then
echo "你赢了!"
else
echo "你输了!"
fi
```
这个脚本首先会输出欢迎信息,然后要求用户输入自己的选择。接着,脚本会生成一个随机数作为电脑的选择,并根据用户和电脑的选择进行比较,输出相应的结果。
相关问题
linux石头剪刀布shell脚本
我可以回答这个问题。Linux 石头剪刀布 shell 脚本是一个基于命令行的小游戏,玩家可以与计算机进行石头剪刀布的对决。脚本使用了随机数生成器来模拟计算机的出拳,玩家可以通过输入相应的数字来选择自己的出拳方式。
使用shell脚本写石头剪刀布的脚本,三局两胜,无论谁赢,两局胜利后退出循环
当然可以,下面是一个简单的Shell脚本来实现石头、剪刀、布游戏,采用三局两胜制:
```bash
#!/bin/bash
# 定义三个选项和对应的数字
options=("rock" "paper" "scissors")
values=(1 2 3)
# 函数用于随机选择玩家的选择
choose_player() {
echo -n "Player 1 (type 1 for rock, 2 for paper, 3 for scissors): "
read player1
if [[ ! $player1 =~ ^[1-3]$ ]]; then
echo "Invalid choice, try again."
choose_player
else
player1=$((player1 - 1))
fi
}
# 函数判断胜负
judge() {
result=$((2 - ($player1 % 3)))
if [ "$player1" -eq "$result" ]; then
echo "Tie!"
elif [ "$player1" -eq "$((result - 1))" ] || [ "$player1" -eq "$((result + 2))" ]; then
echo "Player 1 wins!"
else
echo "Player 2 wins!"
fi
}
# 游戏循环
for ((i = 0; i < 3; i++)); do
choose_player
player2=$values[$RANDOM % 3]
judge
if [[ $(($i+1)) -eq 2 ]]; then
break
fi
echo "Now let's play another round!"
done
echo "Game Over! The winner is..."
if [ "$player1" -eq 2 ]; then
echo "Player 1"
else
echo "Player 2"
fi
```
当你运行这个脚本,它会引导用户输入,根据随机选择的结果判断胜负,直到有一方赢得两局。每轮结束后会询问是否继续游戏,如果只玩三局,则在第二局获胜者后结束。
阅读全文