每日一个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的文件,复制进去运行即可!不会具体怎么操作的可以去我前面的文章学习掌握一下!

点赞关注转发感谢!

相关推荐
Brilliantwxx3 分钟前
【Linux】IO(上)全篇:文件本质、C 接口、系统调用与文件描述符
linux·运维·服务器·c语言
承渊政道3 分钟前
Linux网络学习【深入理解应用层HTTP协议、Cookie与Session机制及HTTPS协议原理】
linux·网络·学习·http·cookie·session
北风toto4 分钟前
Linux 服务器通过 tgz 离线部署 Docker
linux·服务器·docker
古法老登瞎折腾5 分钟前
大数据智能运维实战(三):实现第一个运维 MCP 工具——查询节点与组件状态
java·大数据·运维·人工智能·spring ai·mcp
fengkai45456 分钟前
2、Kubernetes 介绍+安装+卸载
运维·容器·kubernetes
重生之小比特7 分钟前
【Linux系统】13 基础IO(上)
linux·运维·服务器
CCCCCCCCharlie9 分钟前
从0到1:一个字节的磁盘之旅
linux·开发语言·c++
羑悻的小杀马特14 分钟前
超越Bridge:全面掌握Docker网络隔离与通信的底层逻辑!
运维·网络·docker·容器
运维小斌17 分钟前
麒麟 V10 ARM64 离线部署 OceanBase:8 步实施手册
linux·数据库·oceanbase·麒麟
着迷不白17 分钟前
生产环境标准的Linux系统安装到服务器
linux·云计算