Skip to content

nimeia/MathAdventure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MathAdventure - 数学冒险游戏

一个基于 Godot 4.x 开发的 2D 数学教育游戏,帮助儿童练习基础计数技能。

🎮 游戏特色

核心玩法

  • 视觉计数: 树上显示 3-9 个果子,玩家需要数出正确数量
  • 多选题: 提供 3 个数字选项(正确答案 + 2个干扰项)
  • 倒计时挑战: 每题限时 5 秒,增加紧张感
  • 即时反馈: 答对/答错/超时都有不同的视觉和音效反馈

游戏机制

  • 正确答案: 果子掉落动画 + 获得金币 + 进入下一题
  • 错误答案: 果子闪烁 + 重新倒计时
  • 超时处理: 显示"再快一点!" + 直接下一题
  • 关卡进度: 每关 5 题,完成后进入下一关

📁 项目结构

MathAdventure/
├── project.godot          # Godot 项目配置
├── main.tscn             # 主游戏场景
├── icon.svg              # 项目图标
├── README.md             # 项目说明
├── scenes/               # 场景文件目录
│   ├── FruitTree.tscn   # 果树组件场景
│   └── AnswerButton.tscn # 答案按钮组件场景
├── scripts/              # 脚本文件目录
│   ├── GameManager.gd   # 主游戏管理器
│   ├── FruitTree.gd     # 果树逻辑脚本
│   └── AnswerButton.gd  # 按钮逻辑脚本
└── assets/               # 资源文件目录
	├── images/          # 图片资源(占位符)
	└── audio/           # 音频资源(占位符)

🔧 技术实现

核心组件

1. GameManager (游戏管理器)

  • 文件: scripts/GameManager.gd
  • 功能:
    • 游戏状态管理
    • 题目生成逻辑
    • 答案验证
    • 关卡进度控制
    • UI 更新

2. FruitTree (果树组件)

  • 文件: scripts/FruitTree.gd
  • 功能:
    • 动态生成指定数量的果子
    • 果子掉落动画
    • 果子闪烁动画
    • 使用代码绘制树干和树冠

3. AnswerButton (答案按钮)

  • 文件: scripts/AnswerButton.gd
  • 功能:
    • 自定义按钮样式
    • 数字显示管理
    • 点击动画效果

游戏常量配置

所有游戏参数都通过常量定义,便于调整:

const COUNTDOWN_TIME = 5.0      # 倒计时时间
const MIN_FRUITS = 3            # 最少果子数量
const MAX_FRUITS = 9            # 最多果子数量  
const QUESTIONS_PER_LEVEL = 5   # 每关题目数量
const COIN_REWARD = 1           # 答对奖励金币

🚀 快速开始

环境要求

  • Godot 4.3 或更高版本
  • 支持 2D 渲染的系统

安装步骤

  1. 下载并安装 Godot 4.x
  2. 克隆或下载本项目
  3. 在 Godot 中打开 project.godot 文件
  4. 点击运行按钮开始游戏

游戏操作

  • 鼠标左键: 点击数字按钮选择答案
  • 自动进行: 游戏会自动生成题目和切换关卡

🎨 视觉设计

当前实现(使用占位符)

  • 背景: 天蓝色渐变
  • 树干: 褐色矩形
  • 树冠: 森林绿圆形 + 高光效果
  • 果子: 红色圆形 + 白色高光
  • 按钮: 蓝色系列样式 + 圆角设计
  • UI: 简洁的进度条和标签

未来改进

  • 使用真实的精美图片素材
  • 添加更多动画效果
  • 增加粒子系统
  • 优化视觉层次

🔊 音频系统

当前状态

音频节点已配置完成,但需要添加实际音频文件:

  • assets/audio/correct.ogg - 正确答案音效
  • assets/audio/wrong.ogg - 错误答案音效
  • assets/audio/timeout.ogg - 超时音效

音频建议

  • 格式:OGG Vorbis(Godot 推荐)
  • 长度:1-2 秒
  • 音量:适中,不刺耳
  • 风格:符合儿童友好的音调

🎯 游戏设计理念

教育目标

  • 基础计数: 帮助儿童练习 1-9 的数字识别
  • 视觉处理: 提升视觉计数和数量感知能力
  • 反应速度: 通过倒计时培养快速思考能力
  • 持续激励: 通过金币和关卡系统保持学习动力

难度平衡

  • 起始简单(3个果子)
  • 逐渐增加(最多9个果子)
  • 干扰项设计合理(±1)
  • 时间压力适中(5秒)

🔄 扩展计划

短期目标

  • 添加真实图片和音频素材
  • 增加更多视觉效果和动画
  • 优化 UI 布局和字体
  • 添加设置界面(音量、难度等)

长期规划

  • 增加更多数学概念(加减法、形状识别)
  • 多关卡设计和主题切换
  • 成就系统和进度保存
  • 多语言支持
  • 移动端适配

🐛 已知问题

  1. 音频文件缺失(需要添加 OGG 文件)
  2. 图片素材为占位符(可替换为精美素材)
  3. 关卡切换逻辑简单(可扩展更多变化)

🤝 贡献指南

欢迎贡献代码、素材或建议!

  1. Fork 本项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📝 版本历史

  • v0.1.0: 初始版本,包含基础游戏逻辑和 UI
  • 核心功能完整,使用占位符素材
  • 支持题目生成、答案验证、关卡进度

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

🙏 致谢

  • Godot 游戏引擎社区
  • 数学教育游戏设计理念参考
  • 开源游戏开发资源

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published