用shell写一个简单的小游戏,要求输出的字符带颜色
时间: 2024-03-02 18:48:16 浏览: 69
好的,我可以给你提供一个猜拳小游戏的shell脚本,其中输出的字符带有颜色:
```shell
#!/bin/bash
# 定义颜色常量
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m'
# 定义猜拳选项数组
options=("石头" "剪刀" "布")
# 随机生成电脑的猜拳选项
computer_choice=${options[$((RANDOM % 3))]}
echo "欢迎来到猜拳小游戏!"
echo "你可以选择下面的选项进行猜拳:"
echo "1. 石头"
echo "2. 剪刀"
echo "3. 布"
# 提示用户选择猜拳选项
read -p "请输入你的选择: " user_choice
# 根据用户选择的数字,获取猜拳选项名称
case $user_choice in
1)
user_choice="石头"
;;
2)
user_choice="剪刀"
;;
3)
user_choice="布"
;;
*)
echo -e "${RED}无效的选择,请重新运行游戏!${NC}"
exit 1
;;
esac
# 输出用户和电脑的猜拳选项,并显示结果
echo -e "你选择了:${YELLOW}$user_choice${NC}"
echo -e "电脑选择了:${YELLOW}$computer_choice${NC}"
if [ "$user_choice" == "$computer_choice" ]; then
echo -e "${GREEN}平局!${NC}"
elif [ "$user_choice" == "石头" ] && [ "$computer_choice" == "剪刀" ]; then
echo -e "${GREEN}你赢了!${NC}"
elif [ "$user_choice" == "剪刀" ] && [ "$computer_choice" == "布" ]; then
echo -e "${GREEN}你赢了!${NC}"
elif [ "$user_choice" == "布" ] && [ "$computer_choice" == "石头" ]; then
echo -e "${GREEN}你赢了!${NC}"
else
echo -e "${RED}你输了!${NC}"
fi
```
在这个脚本中,我定义了一些颜色常量,用于在输出时设置颜色。在输出中,我使用了echo -e命令,并将要输出的字符用${颜色常量}的形式包裹起来,来设置输出的颜色。同时,在输出电脑和用户的猜拳选项时,我也使用了颜色来区分它们。
运行这个脚本后,你可以选择石头、剪刀或布进行猜拳。脚本会随机生成电脑的猜拳选项,并根据用户和电脑的选择来判断输赢。同时,输出也会使用颜色来区分不同的信息。
阅读全文