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

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

bash 复制代码
#!/usr/bin/bash
# **************************************
#   CSDN:         M乔木
#   qq邮箱:        2776617348@qq.com
#   解释器:        这是一个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的文件,复制进去运行即可!不会具体怎么操作的可以去我前面的文章学习掌握一下!

点赞关注转发感谢!

相关推荐
童槿顏丶3 分钟前
GitLab部署到Linux
linux·运维·gitlab
小柒儿3362 小时前
从单Agent到多智能体系统:多智能体协作重塑自动化边界
运维·自动化
空堂与归3 小时前
Linux 命令实战:AI 开发者必备的终端操作手册
linux
QYR-分析4 小时前
注塑机机械手自动化装备行业发展研判:存量升级催生增量红利,2032 年市场规模逼近 9 亿美元
运维·自动化
牢姐与蒯4 小时前
Linux基本指令及知识点(二)
linux·运维·服务器
小玮看世界4 小时前
[Python]从“脏”数据到优雅实现:一个IoT滑动窗口最大值问题的测试驱动优化实录
linux·前端·python
ᥬ 小月亮4 小时前
SonarQube使用教程(Docker安装)
运维·docker·容器
去伪存真20255 小时前
数字样机、态势推演与3D汇报场景下的平台选型对比
运维·服务器
自动化测试行业观察5 小时前
从“自动化”到“智能化”:TestMan AI测试平台引领软件测试范式转移
运维·自动化测试·人工智能·测试工具·自动化·app测试·移动应用测试
xiaoxiangsiyan5 小时前
运维之前端反调试学习
运维·前端·学习·状态模式