面向对象大作业之课程设计(自主选题)-第一次提交

植物大战僵尸(Java GUI 初学者版)项目规划模板

1. 辅助选题的AI工具

豆包编程助手(用于梳理项目可行性、简化技术方案、提供开发大纲与核心代码思路,适配初学者技术水平)

2. 选题与前期调查

想要做什么:

开发一款基于 Java Swing 的简化版植物大战僵尸小游戏,聚焦核心玩法(植物种植、僵尸自动进攻、豌豆射击战斗),搭配基础 GUI 美化,实现操作简单、界面直观的桌面端小游戏,适配编程初学者的技术能力。

别人是怎么做的:

  1. Java 完整版植物大战僵尸(含多植物、多僵尸、关卡系统):https://download.csdn.net/download/weixin_45330802/11350554
  2. 初学者简化版植物大战僵尸(Swing 实现核心玩法):https://blog.csdn.net/shaofeiwang/article/details/6684931
  3. 植物大战僵尸基础 GUI 实现(含种植与移动逻辑):https://blog.csdn.net/qq_32688843/article/details/119382267

准备实现哪几部分:

  1. 基础 GUI 窗口与背景绘制(含固定尺寸窗口、草地背景显示);
  2. 植物系统(2种基础植物选择、鼠标点击种植功能,无重叠种植);
  3. 僵尸系统(定时随机生成僵尸、僵尸自动向左移动);
  4. 战斗系统(豌豆射手自动发射子弹、子弹移动、简单碰撞检测);
  5. 游戏结束判定与基础美化(分数统计、失败提示、按钮美化)。

3. 系统功能设计

功能1:界面展示功能

  • 显示固定尺寸(800x600)的游戏窗口,居中显示且不可拉伸;
  • 绘制草地背景图,在窗口下方展示植物选择按钮,上方显示分数提示。

功能2:植物种植功能

  • 提供向日葵、豌豆射手2种植物选择按钮,点击按钮可激活种植状态;
  • 鼠标点击草地空白区域,可种植对应植物,避免植物重叠。

功能3:僵尸生成与移动功能

  • 每隔3秒从窗口右侧随机生成1只普通僵尸;
  • 僵尸自动向左匀速移动,移动过程中实时刷新位置。

功能4:战斗交互功能

  • 豌豆射手每隔2秒自动发射豌豆子弹,子弹向右飞行;
  • 子弹与僵尸发生碰撞时,两者同时消失,分数+1;
  • 子弹超出窗口边界后自动失效并清理。

功能5:游戏结束功能

  • 当僵尸移动到窗口左侧(x<0)时,判定游戏失败;
  • 弹出失败提示框,停止所有游戏循环,关闭程序。

4. 准备使用的Java生态第三方工具/服务

无(全程使用 Java 自带 JDK 工具类,仅依赖 Swing 组件库,无需额外第三方工具或服务,降低初学者学习成本)

5. 数据如何存储

内存存储(所有游戏数据:已种植植物、生成的僵尸、飞行的子弹、游戏分数等,均通过 Java 集合(List)在内存中临时存储,程序运行期间有效,关闭后数据不保留,简化数据处理逻辑)

6. 界面

GUI 界面(基于 Java 自带 Swing 组件库实现,含窗口、按钮、绘图画布等元素,无需额外学习 Web 或其他界面技术,适配初学者基础)

posted @ 2025-11-10 21:53  小牙不会写代码  阅读(0)  评论(0)    收藏  举报