每日一个shell脚本之钓鱼游戏练手

每日一个shell脚本之钓鱼游戏练手

bash 复制代码
#!/usr/bin/bash
# **************************************
#   CSDN:         M乔木
#   qq邮箱:        [email protected]
#   解释器:        这是一个shell脚本
# **************************************

# 游戏初始化
fishing_rod="普通钓竿"
bait="虫子"
score=0
# 主循环
while true; do
      # 显示游戏进度
      echo "---------------------------"
      echo "当前分数:[${score}]"
      echo "请选择操作:"
      echo "1. 更换钓竿"
      echo "2. 更换鱼饵"
      echo "3. 开始钓鱼"
      echo "4. 退出游戏"
      echo "---------------------------"
      read -p "请输入操作序号:" action
      # 处理玩家操作
      case $action in
      1)
            echo "---------------------------"
            echo "请选择钓竿:"
            echo "1. 普通钓竿"
            echo "2. 高级钓竿"
            echo "---------------------------"
            read -p "请输入钓竿序号:" rod
            if [ $rod -eq 1 ]; then
                  fishing_rod="普通钓竿"
            elif [ $rod -eq 2 ]; then
                  fishing_rod="高级钓竿"
            fi
            ;;
      2)
            echo "---------------------------"
            echo "请选择鱼饵:"
            echo "1. 虫子"
            echo "2. 面包"
            echo "---------------------------"
            read -p "请输入鱼饵序号:" bait
            if [ $bait -eq 1 ]; then
                  bait="虫子"
            elif [ $bait -eq 2 ]; then
                  bait="面包"
            fi
            ;;
      3)
            # 生成随机事件
            fish_type=$((RANDOM % 3))
            fish_size=$((RANDOM % 10 + 1))

            # 计算成功率
            success_rate=0
            if [ $fishing_rod == "普通钓竿" ]; then
                  success_rate=50
            elif [ $fishing_rod == "高级钓竿" ]; then
                  success_rate=90
            fi
            if [ $bait == "虫子" ]; then
                  success_rate=$((success_rate + 10))
            elif [ $bait == "面包" ]; then
                  success_rate=$((success_rate - 10))
            fi

            # 判断是否成功
            if [ $((RANDOM % 100)) -lt $success_rate ]; then
                  clear
                  echo "[恭喜你,成功捕获了一条${fish_type}号鱼,大小为${fish_size}!]"
                  score=$((score + fish_size))
            else
                  clear
                  echo "[很遗憾,未能捕获到鱼]"
            fi
            ;;
      4)
            echo "游戏结束 最终得分:[${score}]"
            exit 0
            ;;
      *)
            echo "[无效的操作,请重新输入]"
            ;;
      esac
done

新建一个.sh的文件,复制进去运行即可!不会具体怎么操作的可以去我前面的文章学习掌握一下!

点赞关注转发感谢!

相关推荐
泛黄的咖啡店22 分钟前
域名系统DNS
运维·云计算
dessler32 分钟前
Kubernetes(k8s)-集群监控(Prometheus)
linux·运维·kubernetes
一夜沐白32 分钟前
Linux用户管理
linux·运维·服务器·笔记
PLUS_WAVE1 小时前
【Tools】chezmoi 跨多台不同的机器管理 dotfiles 的工具
linux·服务器·软件工程·工具·chezmoi
Pasregret2 小时前
备忘录模式:实现对象状态撤销与恢复的设计模式
运维·服务器·设计模式
唐青枫2 小时前
Linux man 命令使用教程
linux
珹洺3 小时前
Linux红帽:RHCSA认证知识讲解(十 四)分区管理、交换分区,创建逻辑卷与调整逻辑卷的大小
linux·运维·服务器
威桑3 小时前
解决Ubuntu下使用CLion构建Qt项目时找不到已安装的模块的问题
linux·运维·ubuntu
PLUS_WAVE4 小时前
【SSH 端口转发】通过SSH端口转发实现访问远程服务器的 tensorboard
linux·服务器·ssh·软件工程·端口转发·tensorboard
珹洺5 小时前
Linux操作系统从入门到实战(四)Linux基础指令(下)
linux·运维·服务器