预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

目录 一设计分析………………………………………………………………………3 1.设计目标……………………………………………………………………………3 2.主要内容……………………………………………………………………………3 二设计说明……………………………………………………………………4 1.游戏逻辑……………………………………………………………………………4 2.技术分工……………………………………………………………………………4 3.设计方法……………………………………………………………………………5 三成果展示……………………………………………………………………6 1.运行截图………………………………………………………………6 2.程序代码………………………………………………………………7 四结束语………………………………………………………………………18 五致谢……………………………………………………………………………18 六参考文献……………………………………………………………………18 1 一设计分析 一.设计目标: 此项目是模仿PopCapGames公司开发的一款同名游戏《植物大战僵 尸》而开发的,是一款益智策略类单机游戏,玩家通过武装多种植物切换不同的 功能,快速有效地把僵尸阻挡在入侵的道路上。不同的敌人,不同的玩法,游戏 的内容就是:玩家控制植物,抵御僵尸的进攻,保护主人的屋子。此游戏对玩家 的要求也是大脑的智慧和小脑的反应,玩家可以从游戏中获得成就感和战略思 维。 特点: 1、冒险模式。 2、有不同的敌人和可使用道具,使游戏更具挑战性。 3、无限次重玩,不会经历两次同样的事件。 二.设计内容: 通过玩家对不同植物的选择,例如向日葵可快速产生阳光,豌豆射手可 攻击敌人等等,来操作游戏,后台通过调整时间和参数达到前端界面游戏的可玩 性。 功能类别子功能 主界面 模式选择 前端游戏界面进入游戏 确定关卡 退出 选择、放置植物 阳光生产时间 后台代码设计收集阳光 产生僵尸 攻击、杀死僵尸 2 二设计说明 1游戏逻辑 (1)僵尸是攻击方,为了攻击,防御僵尸,人类通过栽种培植出的各种植物来 抵御进攻型僵尸的攻击。植物需要相应的阳光值成长。 (2)在作战地点,玩家需要通过种植各种攻击植物来消灭僵尸,也可以通过种 防御植物来阻挡僵尸,还需要太阳花来产生种植需要的阳光。 3僵尸作战单位 (1)普通僵尸。速度(1帧),血限3,毁掉植物需要3s。 4植物作战单位 (1)太阳花。种植需阳光值50,作用:生产种植所需的阳光值,每隔10s生产 50点阳光值,不具备攻击力。 (2)碗豆射手。种植需阳光值100,作用:5s发射一颗炮弹,战斗值1。 (3)寒冰射手。种植需阳光值175,作用:5s发射一颗炮弹,战斗值1. (4)土豆卫士。种植需阳光值50,作用:抵挡各种僵尸3s,主要用来防御,没 有任何战斗力。等共5种可供选择种植的植物。关卡简介:所有的僵尸都会参与 攻击,所有的植物也都会参与作战,每次只能选取5种植物参与作战。 5碰撞逻辑说明 僵尸会在屏幕的右边生成,然后缓慢向左边屏幕移动,如果在僵尸移动的线路 上有攻击型植物,则发射炮弹。当种植的植物或炮弹与僵尸接触,即当他们的坐 标相同的时候,即为接触,接触大小的区域就是图片的大小区域。当炮弹与僵尸 碰撞之后,炮弹也就会立即消失,同时僵尸生命值的也随之减少一点。若炮弹未 击中任何僵尸,越出屏幕后也将消失。 2.技术分工 本人在项目中负责后台代码实现,主要有 1.阳光添加 2.僵尸移动 3.子弹移动 4.生产阳光 5.产生子弹 3 3.设计方法 通过玩家对不同植物的选择,例如向日葵可快速产生阳光,豌豆射手可攻击敌 人等等,来操作游戏,后台通过调整时间和参数达到前端界面游戏的可玩性。 功能类别子功能 主界面 模式选择 前端游戏界面进入游戏 确定关卡 退出 选择、放置植物 阳光生产时间 后台代码设计收集阳光 产生僵尸 攻击、杀死僵尸 技术要求: 前端:Javascript 后台:Servlet 开发工具:MyEclipse 因为类中已经写好了方法和属性,在后台代码设计中,只需要调用之前写 好的类,对静止的图像进行多次重绘,就可以实现游戏的画面。 4 第三部分成果展示 设计成果:产品设计类 一:运行截图 5 二:程序代码: 阳光添加代码: packageplantvsplant.tool; importjava.awt.event.MouseAdapter; importjava.awt.event.