墨尔本大学 SWEN20003 Project2 课业解析

墨尔本大学 SWEN20003 Project2 课业解析

题意:

用Java设计与实现一款结合消除、弹珠等元素的Shadow Bounce游戏,包括绘制UML图及代码实现

解析:

在一张2D棋盘上有一些不同类别的钉子,玩家通过投掷球消除所有的红色钉子进入下一关,每一关玩家有20次机会,通过所有关卡赢得游戏,若机会用尽游戏失败。

钉子有四种颜色:蓝色钉子最普通;灰色钉子不能被消除;红色钉子在初始化关卡时,由随机从蓝色钉子取出的5分之1转换而来;绿色钉子在每关初始化时随机生成1枚,和其它钉子不同的是,普通球碰到其他钉子将反弹,碰到绿色钉子将分裂产生两个新的球,分别以10像素每秒的速度分别以斜向右上和斜向左下方向移动;

球有两种类型:普通球和爆炸球,普通球碰到普通钉子反弹,爆炸球碰到第一个钉子将自爆,伤害以钉子位置为中心周围70个像素范围并消除包含的所有钉子。每关开始时有0.1的机会随机生成一个不断移动的爆炸源,当普通球撞上爆炸源powerup后,将升级为爆炸球,同时爆炸源消失;

幸运桶:bucket是一个运动在地图底部的幸运回收桶,初始位置是(512,744),以每帧4像素的速度向地图左侧移动,当球撞进桶内,本次投掷不计数;若桶超出地图,重置为初始位置,而球超出屏幕则玩家次数减1;

游戏一共有5关,地图信息存储在对应的csv文件中,每行信息代表了钉子在地图的位置

涉及知识点:

UML、面向对象、Bagel库

更多可加微信讨论

微信号:ITCSdaixie

图片发自App

你可能感兴趣的:(墨尔本大学 SWEN20003 Project2 课业解析)