lanjut kebagian 2
Bomb.java
Background.java
//Name: Background.java
//Purpose: update and scroll the background image when player moves
package com.basithsteviejhei.mouse;
public class Background {
//local variables
private int bgX, bgY, speedX;
//constructor
public Background(int x, int y){
bgX = x;
bgY = y;
speedX = 0;//at the beggining the background must not move
}
//update and move the background when palyer moves
public void update() {
bgX += speedX;
//based on image of dimension 2160x480
if (bgX <= -2160){
bgX += 4320;
}
}
//getters//
public int getBgX() {
return bgX;
}
public int getBgY() {
return bgY;
}
public int getSpeedX() {
return speedX;
}
//setters//
public void setBgX(int bgX) {
this.bgX = bgX;
}
public void setBgY(int bgY) {
this.bgY = bgY;
}
public void setSpeedX(int speedX) {
this.speedX = speedX;
}
}
//Purpose: update and scroll the background image when player moves
package com.basithsteviejhei.mouse;
public class Background {
//local variables
private int bgX, bgY, speedX;
//constructor
public Background(int x, int y){
bgX = x;
bgY = y;
speedX = 0;//at the beggining the background must not move
}
//update and move the background when palyer moves
public void update() {
bgX += speedX;
//based on image of dimension 2160x480
if (bgX <= -2160){
bgX += 4320;
}
}
//getters//
public int getBgX() {
return bgX;
}
public int getBgY() {
return bgY;
}
public int getSpeedX() {
return speedX;
}
//setters//
public void setBgX(int bgX) {
this.bgX = bgX;
}
public void setBgY(int bgY) {
this.bgY = bgY;
}
public void setSpeedX(int speedX) {
this.speedX = speedX;
}
}
//Name: Kamikazi.java
//Purpose: the bomb enemy with the coordinates
package com.basithsteviejhei.mouse;
//android libraries stored in SDK platform
import android.graphics.Rect;//hold 4 integer coordinates for rectangle
public class Bomb extends Enemy {
//constructor
public Bomb(int centerX, int centerY) {
setCenterX(centerX);//x axis coordinates
setCenterY(centerY);//y axis coordinates
}
@Override
public void update() {
centerX += speedX;
speedX = bg.getSpeedX() * 5 + movementSpeed;
r.set(centerX - 25, centerY - 25, centerX + 25, centerY + 35);
if (Rect.intersects(r, Mouse.yellowRed)) {
checkCollision();
}
}
public void subtractHealth(int health){
this.health-=health;
}
}
//Purpose: the bomb enemy with the coordinates
package com.basithsteviejhei.mouse;
//android libraries stored in SDK platform
import android.graphics.Rect;//hold 4 integer coordinates for rectangle
public class Bomb extends Enemy {
//constructor
public Bomb(int centerX, int centerY) {
setCenterX(centerX);//x axis coordinates
setCenterY(centerY);//y axis coordinates
}
@Override
public void update() {
centerX += speedX;
speedX = bg.getSpeedX() * 5 + movementSpeed;
r.set(centerX - 25, centerY - 25, centerX + 25, centerY + 35);
if (Rect.intersects(r, Mouse.yellowRed)) {
checkCollision();
}
}
public void subtractHealth(int health){
this.health-=health;
}
}
Cheese,java
//Name: Cheese.java
//Purpose: the cheese reward with the coordinates
package com.basithsteviejhei.mouse;
public class Cheese extends Rewards {
//constructor
public Cheese(int centerX, int centerY) {
setCenterX(centerX);//x axis coordinates
setCenterY(centerY);//y axis coordinates
}
}
//Purpose: the cheese reward with the coordinates
package com.basithsteviejhei.mouse;
public class Cheese extends Rewards {
//constructor
public Cheese(int centerX, int centerY) {
setCenterX(centerX);//x axis coordinates
setCenterY(centerY);//y axis coordinates
}
}
Enemy.java
//Name: Enemy.java
//Purpose: all the attributes and functions of the enemy like health, death, collision and more
package com.basithsteviejhei.mouse;
//android libraries stored in SDK platform
import android.graphics.Rect;//hold 4 integer coordinates for rectangle
public class Enemy {
private int power;
protected int centerX;
protected int speedX;
protected int centerY;
protected Background bg = GameScreen.getBg1();
private Mouse Mouse = GameScreen.getMouse();
public Rect r = new Rect(0, 0, 0, 0);
protected int health;//total health of enemy
public boolean alive=true;
protected int movementSpeed;//speed of enemy
//Behavioral Method, update coordinates and intersects
public void update() {
follow();
centerX += speedX;
speedX = bg.getSpeedX() * 5 + movementSpeed;
r.set(centerX - 25, centerY - 25, centerX + 25, centerY + 35);
if (Rect.intersects(r, Mouse.yellowRed)) {
checkCollision();
}
}
//check if the enemy is killed by the bullets and update score
public void checkKillsByBullets(){
if ((this.health == 0) && (this.alive=true))
{
Mouse.addKamikaziKilled(1);
alive=false;
if (Settings.soundEnabled)
{
Assets.collision.play(1);
}
}
}
//check if mouse and enemy had collision
protected void checkCollision() {
if (Rect.intersects(r, Mouse.rect)|| Rect.intersects(r, Mouse.rect2) || Rect.intersects(r, Mouse.rect3) || Rect.intersects(r, Mouse.rect4)) {
die();
}
}
//the enemy follow the mouse
public void follow() {
if (centerX < -95 || centerX > 810){
movementSpeed = 0;
}
else if (Math.abs(Mouse.getCenterX() - centerX) < 5) {
movementSpeed = 0;
}
else {
if (Mouse.getCenterX() >= centerX) {
movementSpeed = 1;
} else {
movementSpeed = -1;
}
}
}
//enemy is die
public void die() {
this.setHealth(0);
Mouse.subtractHealth(10);
this.setCenterX(-100);
if (Settings.soundEnabled)
{
Assets.collision.play(1);
}
}
//when background moves, the enemy must move to the same direction
public Background getBg() {
return bg;
}
public void setBg(Background bg) {
this.bg = bg;
}
//getters//
public int getPower() {
return power;
}
public int getSpeedX() {
return speedX;
}
public int getCenterX() {
return centerX;
}
public int getCenterY() {
return centerY;
}
public int getHealth() {
return health;
}
//setters//
public void setHealth(int health) {
this.health = health;
}
public void setPower(int power) {
this.power = power;
}
public void setSpeedX(int speedX) {
this.speedX = speedX;
}
public void setCenterX(int centerX) {
this.centerX = centerX;
}
public void setCenterY(int centerY) {
this.centerY = centerY;
}
public void subtractHealth(int health){
this.health-=health;
}
}
//Purpose: all the attributes and functions of the enemy like health, death, collision and more
package com.basithsteviejhei.mouse;
//android libraries stored in SDK platform
import android.graphics.Rect;//hold 4 integer coordinates for rectangle
public class Enemy {
private int power;
protected int centerX;
protected int speedX;
protected int centerY;
protected Background bg = GameScreen.getBg1();
private Mouse Mouse = GameScreen.getMouse();
public Rect r = new Rect(0, 0, 0, 0);
protected int health;//total health of enemy
public boolean alive=true;
protected int movementSpeed;//speed of enemy
//Behavioral Method, update coordinates and intersects
public void update() {
follow();
centerX += speedX;
speedX = bg.getSpeedX() * 5 + movementSpeed;
r.set(centerX - 25, centerY - 25, centerX + 25, centerY + 35);
if (Rect.intersects(r, Mouse.yellowRed)) {
checkCollision();
}
}
//check if the enemy is killed by the bullets and update score
public void checkKillsByBullets(){
if ((this.health == 0) && (this.alive=true))
{
Mouse.addKamikaziKilled(1);
alive=false;
if (Settings.soundEnabled)
{
Assets.collision.play(1);
}
}
}
//check if mouse and enemy had collision
protected void checkCollision() {
if (Rect.intersects(r, Mouse.rect)|| Rect.intersects(r, Mouse.rect2) || Rect.intersects(r, Mouse.rect3) || Rect.intersects(r, Mouse.rect4)) {
die();
}
}
//the enemy follow the mouse
public void follow() {
if (centerX < -95 || centerX > 810){
movementSpeed = 0;
}
else if (Math.abs(Mouse.getCenterX() - centerX) < 5) {
movementSpeed = 0;
}
else {
if (Mouse.getCenterX() >= centerX) {
movementSpeed = 1;
} else {
movementSpeed = -1;
}
}
}
//enemy is die
public void die() {
this.setHealth(0);
Mouse.subtractHealth(10);
this.setCenterX(-100);
if (Settings.soundEnabled)
{
Assets.collision.play(1);
}
}
//when background moves, the enemy must move to the same direction
public Background getBg() {
return bg;
}
public void setBg(Background bg) {
this.bg = bg;
}
//getters//
public int getPower() {
return power;
}
public int getSpeedX() {
return speedX;
}
public int getCenterX() {
return centerX;
}
public int getCenterY() {
return centerY;
}
public int getHealth() {
return health;
}
//setters//
public void setHealth(int health) {
this.health = health;
}
public void setPower(int power) {
this.power = power;
}
public void setSpeedX(int speedX) {
this.speedX = speedX;
}
public void setCenterX(int centerX) {
this.centerX = centerX;
}
public void setCenterY(int centerY) {
this.centerY = centerY;
}
public void subtractHealth(int health){
this.health-=health;
}
}
Post a Comment
Post a Comment