Skip to content

lunar-huang/Cornucopia

Repository files navigation

🌾 Cornucopia - 农场模拟系统

一个简单的 2D 农场模拟系统,实现了基本的种植、收获、动物成长管理等功能,灵感来源于《星露谷物语》。此项目旨在练习 Unity 游戏开发以及软件工程中的架构设计。

📖 项目概述

该项目包含以下主要功能:

  • 作物系统:玩家可以种植作物(胡萝卜、西红柿),并观察它们随时间成长,最终成熟后收获。
  • 动物系统:游戏中生成可爱的动物(如鸡和牛),并随着时间成长。
  • 背包管理:支持种子、工具和作物的管理,自动添加收获物。
  • 工具栏系统:动态显示玩家当前选中的道具状态。
  • 高可扩展性:支持通过 ScriptableObject 快速扩展作物和动物数据。

✨ 项目功能

作物系统

  • 种植:玩家可在锄过的土地上种植种子,每种作物具有多阶段的成长周期。
  • 成长阶段:通过设置不同阶段的 Sprite,动态更新作物的外观。
  • 收获:作物成熟后,玩家可以将其收获并自动存入背包。

动物系统

  • 动物生成:游戏初始化时自动生成动物。
  • 成长:动物随时间长大,改变其外观。

背包和工具栏

  • 物品管理:支持种子数量减少、工具切换、收获物添加到背包。
  • 动态更新:工具栏实时展示玩家当前选中的道具。

🏛 系统架构

架构风格

项目采用 分层架构(Layered Architecture),将逻辑层、管理层和表现层分离,便于扩展和维护。

主要组件

组件名 功能概述
PlantManager 管理作物的种植、成长和收获逻辑。
AnimalManager 管理动物的生成、成长和状态更新。
InventoryManager 管理玩家的背包和工具栏,包括物品的添加和移除。
Player 处理玩家输入和动作(如种植、收获、移动)。
ToolbarUI 显示玩家的工具栏状态,并支持物品切换与使用。
GameData 使用 ScriptableObject 保存作物和动物的静态数据。

🛠 使用说明

环境需求

  • Unity 版本:Unity 2023.1 或更高版本
  • 编程语言:C#

运行方法

  1. 克隆本仓库:

  2. 打开 Unity 并加载项目文件夹。

  3. 打开 SampleScene,点击 播放 按钮开始游戏。

📂 文件结构

Assets/
├── Animations/           # 动画相关资源
├── Prefabs/              # 预制体(作物、动物、UI 等)
├── Resources/            # ScriptableObject 数据
├── Scenes/               # 场景文件
├── Scripts/              # 项目核心脚本
│   ├── Manager/          # 管理类(PlantManager、AnimalManager 等)
│   ├── UI/               # UI 管理脚本(ToolbarUI 等)
│   └── Player.cs         # 玩家脚本
└── Sprites/              # 游戏使用的 2D 图像素材

🎯 扩展功能

未来可以添加的功能:

  1. 天气系统:影响作物成长速度和动物状态。
  2. NPC 交互:玩家可与 NPC 交易作物和动物。
  3. 经济系统:加入金钱系统,用作物换取货币,购买新种子或动物。
  4. 更复杂的作物管理:支持灌溉、施肥等功能。

👨‍💻 贡献

欢迎对本项目提出建议或提交 PR!
如需联系,请发送邮件至:[email protected]

About

this is a farming game imitating stardew valley

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages