From 7563048cca72b2f81c7fa0b622eb66cf552b1b3b Mon Sep 17 00:00:00 2001 From: Sosch Date: Fri, 31 Oct 2014 11:00:17 +0100 Subject: [PATCH] =?UTF-8?q?Enemy=202=20und=203=20eingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spacescooter/entity/EnemyThree.java | 55 +++++++++++++++++++ .../spacescooter/entity/EnemyTwo.java | 34 ++++++++++++ .../spacescooter/screen/GameScreen.java | 11 ++-- 3 files changed, 95 insertions(+), 5 deletions(-) create mode 100644 src/de/teamteamteam/spacescooter/entity/EnemyThree.java create mode 100644 src/de/teamteamteam/spacescooter/entity/EnemyTwo.java diff --git a/src/de/teamteamteam/spacescooter/entity/EnemyThree.java b/src/de/teamteamteam/spacescooter/entity/EnemyThree.java new file mode 100644 index 0000000..95fd918 --- /dev/null +++ b/src/de/teamteamteam/spacescooter/entity/EnemyThree.java @@ -0,0 +1,55 @@ +package de.teamteamteam.spacescooter.entity; + +import java.util.Iterator; +import java.util.LinkedList; +import java.util.Random; + +import de.teamteamteam.spacescooter.screen.Screen; +import de.teamteamteam.spacescooter.utility.GameConfig; + +public class EnemyThree extends Enemy{ + + private double newY; + private double ySpeed = 0.4; + + public EnemyThree(int x, int y) { + super(x, y); + Random random = new Random(); + this.setImage("images/nyancat.png"); + this.setShootSpeed(4); + this.setShootDelay(42); + this.setShootSpawn(-10, 10); + this.setHealthPoints(5); + this.setPosition(GameConfig.windowWidth, random.nextInt(GameConfig.windowHeight - this.getHeight())); + this.newY = this.getY(); + } + + @Override + public void update() { + super.update(); + this.setPosition(this.getX()-1, this.getY()); + if(this.getX() < 0-getWidth()){ + this.remove(); + Screen.currentScreen.addEntity(new EnemyThree(0, 0)); + } + if(!this.isAlive()){ + Screen.currentScreen.addEntity(new EnemyThree(0, 0)); + } + LinkedList list = Screen.currentScreen.getEntities(); + Iterator i = list.iterator(); + while (i.hasNext()) { + Entity entity = i.next(); + if(entity instanceof Player){ + Player player = (Player) entity; + if(this.y < player.getY()){ + this.newY += ySpeed; + this.setPosition(this.getX(), (int) newY); + }else if(this.y > player.getY()){ + this.newY -= ySpeed; + this.setPosition(this.getX(), (int) newY); + } + } + } + } + +} diff --git a/src/de/teamteamteam/spacescooter/entity/EnemyTwo.java b/src/de/teamteamteam/spacescooter/entity/EnemyTwo.java new file mode 100644 index 0000000..5ae4204 --- /dev/null +++ b/src/de/teamteamteam/spacescooter/entity/EnemyTwo.java @@ -0,0 +1,34 @@ +package de.teamteamteam.spacescooter.entity; + +import java.util.Random; + +import de.teamteamteam.spacescooter.screen.Screen; +import de.teamteamteam.spacescooter.utility.GameConfig; + +public class EnemyTwo extends Enemy{ + + public EnemyTwo(int x, int y) { + super(x, y); + Random random = new Random(); + this.setImage("images/nyancat.png"); + this.setShootSpeed(4); + this.setShootDelay(42); + this.setShootSpawn(-10, 10); + this.setHealthPoints(5); + this.setPosition(GameConfig.windowWidth, random.nextInt(GameConfig.windowHeight - this.getHeight())); + } + + @Override + public void update() { + super.update(); + this.setPosition(this.getX()-1, this.getY()); + if(this.getX() < 0-getWidth()){ + this.remove(); + Screen.currentScreen.addEntity(new EnemyTwo(0, 0)); + } + if(!this.isAlive()){ + Screen.currentScreen.addEntity(new EnemyTwo(0, 0)); + } + } + +} diff --git a/src/de/teamteamteam/spacescooter/screen/GameScreen.java b/src/de/teamteamteam/spacescooter/screen/GameScreen.java index 55fd6a3..a452960 100644 --- a/src/de/teamteamteam/spacescooter/screen/GameScreen.java +++ b/src/de/teamteamteam/spacescooter/screen/GameScreen.java @@ -7,7 +7,8 @@ import java.util.LinkedList; import de.teamteamteam.spacescooter.background.StarBackground; import de.teamteamteam.spacescooter.control.Keyboard; -import de.teamteamteam.spacescooter.entity.EnemyOne; +import de.teamteamteam.spacescooter.entity.EnemyThree; +import de.teamteamteam.spacescooter.entity.EnemyTwo; import de.teamteamteam.spacescooter.entity.Entity; import de.teamteamteam.spacescooter.entity.Player; @@ -17,10 +18,10 @@ public class GameScreen extends Screen { super(parent); this.entities.add(new StarBackground(0, 0)); this.entities.add(new Player(200, 300)); - this.entities.add(new EnemyOne(650, 300)); - this.entities.add(new EnemyOne(450, 100)); - this.entities.add(new EnemyOne(750, 550)); - this.entities.add(new EnemyOne(150, 250)); + this.entities.add(new EnemyThree(650, 300)); + this.entities.add(new EnemyThree(450, 100)); + this.entities.add(new EnemyTwo(750, 550)); + this.entities.add(new EnemyTwo(150, 250)); } @Override