一个使用 Python 和 Pygame 开发的简易农场种植游戏,灵感来自《星露谷物语》。
这是一个2D农场模拟游戏,玩家可以控制角色在农场中移动,开垦土地、种植作物、等待作物生长并收获产品。
- Python 3 - 主要开发语言
- Pygame - 游戏开发框架,用于图形渲染和事件处理
planting-game/
├── main.py # 游戏主入口,包含游戏循环和主要逻辑
├── block.py # 土地块类定义(Block、Soil)
├── character.py # 角色类定义,包含背包管理
├── item.py # 物品类定义(Item、ItemType、Plant)
└── import pygame.py # 早期版本/备份文件
- 初始化 Pygame 和游戏窗口(800x600)
- 创建玩家角色和初始物品(锄头、小麦种子)
- 生成土地块网格
- 处理游戏主循环:事件监听、渲染更新、植物生长逻辑
- Block 类:基础土地块,包含位置和状态属性
- Soil 类(继承Block):可种植的土地
- 支持开垦(cultivate)
- 支持种植(plant_crop)
- 支持生长(grow)- 基于时间的生长系统
- 支持收获(harvest)
- 角色位置管理
- 背包系统:添加、移除、获取物品
- ItemType 类:物品类型枚举(工具、种子、植物、产品)
- Item 类:基础物品定义
- Plant 类(继承Item):植物定义,包含生长时间、产出物品、种子掉落等属性
| 按键 | 功能 |
|---|---|
| W | 向上移动 |
| A | 向左移动 |
| S | 向下移动 |
| D | 向右移动 |
| 空格 | 交互(开垦土地/种植/收获) |
| E | 打开/关闭背包 |
- 开垦土地:站在未开垦的土地上,背包中有锄头时按空格键开垦
- 种植作物:站在已开垦的土地上,背包中有种子时按空格键种植
- 等待生长:作物会随时间自动生长,生长阶段以数字显示
- 收获产品:作物成熟后(达到最大生长阶段),按空格键收获产品和种子
# 安装依赖
pip install pygame
# 运行游戏
python main.py- 添加更多作物种类(番茄、玉米、南瓜等)
- 实现浇水系统,影响作物生长速度
- 添加季节系统,不同季节可种植不同作物
- 优化玩家角色动画
- 添加商店系统,可以买卖种子和产品
- 实现金币系统
- 添加更多工具(水壶、斧头等)
- 添加背包容量限制和堆叠功能
- 保存/读取游戏进度
- 添加天气系统
- 实现 NPC 和对话系统
- 添加任务系统
- 扩展地图,添加多个区域
- 添加音效和背景音乐
- 添加动物养殖系统
欢迎提交 Issue 和 Pull Request!
本项目开源,欢迎学习和使用。