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

点赞关注转发感谢!

相关推荐
真正的醒悟42 分钟前
2025【1460天】网络工程师经验之道
运维·服务器
Nimsolax1 小时前
Linux信号
linux
ajassi20005 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
JosieBook6 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工6 小时前
Linux MInt启动速度的优化
linux
Broken Arrows6 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
Light607 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
羚羊角uou7 小时前
【Linux】命名管道
linux·运维·服务器
IT 小阿姨(数据库)8 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
THMAIL8 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融