From 9f7773ef5e7f9c84025fc520cd6cff879bb3d58b Mon Sep 17 00:00:00 2001 From: Sosch Date: Tue, 4 Nov 2014 13:34:17 +0100 Subject: [PATCH] Itemchance, 4 Test Items und schuss speed --- res/images/Item.png | Bin 0 -> 318 bytes res/images/Item2.png | Bin 0 -> 308 bytes res/images/Item3.png | Bin 0 -> 310 bytes res/images/Item4.png | Bin 0 -> 310 bytes .../spacescooter/entity/EnemyFour.java | 2 - .../spacescooter/entity/EnemyThree.java | 6 ++- .../spacescooter/entity/ItemChance.java | 35 +++++++++++++ .../spacescooter/entity/Items.java | 47 ++++++++++++++++++ .../spacescooter/entity/LivingEntity.java | 5 ++ .../spacescooter/entity/Player.java | 3 +- .../spacescooter/entity/ShootingEntity.java | 11 +++- .../spacescooter/entity/Shot.java | 3 +- .../spacescooter/entity/SingleShot.java | 6 +-- .../spacescooter/entity/TestItem1.java | 14 ++++++ .../spacescooter/entity/TestItem2.java | 16 ++++++ .../spacescooter/entity/TestItem3.java | 16 ++++++ .../spacescooter/entity/TestItem4.java | 16 ++++++ .../spacescooter/screen/GameScreen.java | 5 +- 18 files changed, 171 insertions(+), 14 deletions(-) create mode 100644 res/images/Item.png create mode 100644 res/images/Item2.png create mode 100644 res/images/Item3.png create mode 100644 res/images/Item4.png create mode 100644 src/de/teamteamteam/spacescooter/entity/ItemChance.java create mode 100644 src/de/teamteamteam/spacescooter/entity/Items.java create mode 100644 src/de/teamteamteam/spacescooter/entity/TestItem1.java create mode 100644 src/de/teamteamteam/spacescooter/entity/TestItem2.java create mode 100644 src/de/teamteamteam/spacescooter/entity/TestItem3.java create mode 100644 src/de/teamteamteam/spacescooter/entity/TestItem4.java diff --git a/res/images/Item.png b/res/images/Item.png new file mode 100644 index 0000000000000000000000000000000000000000..799d50feb3ebaf890d986756a706bbd3686bacc7 GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE)4%c zaKYZ?lYt_f1s;*b3=G`DAk4@xYmNj^kiEpy*OmPqHwz~px74M520$Un64!_l=ltB< z)VvY~=c3falGGH1^30M91$R&1fbd2>aiF4^o-U3d5r^MSzs+|*fx~&}$N%*^t7F8D zYA-tZB(f^&u8_c_h3l7Ga(EfoZ5Hr0=dRBd=IOsml_S{mFCVI^h!nOfh?TDUV8guc z!<5zyJ0H~l&gWXLvSED-&!1AJ>jz8=co&qnZPq|&C)|qpyuW6a4Roq2!}xuC6w}Y(Wos z#ZrnD|9<4=FVV4#p>iEBiObAE1a zYF-J0b5UwyNotBhd1gt5g1e`0KzJjcI8f0xEpmRfrW%a|waS^=oUtQStT$hggV9sXr zP**IaSn>Dw^O|!E8|N-{dbnOafKkhVwc%@9w+`3Vu!fnzR-XcF(^+Q*@7Vlc<17yM whVZp}nwmKFf4(8ONToRJ?73-|d2IJHOjh^M&{n$T3UnNUr>mdKI;Vst0C=QnzyJUM literal 0 HcmV?d00001 diff --git a/res/images/Item4.png b/res/images/Item4.png new file mode 100644 index 0000000000000000000000000000000000000000..fd349ea8631c105d6774358ebb24d315d954c515 GIT binary patch literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Y)RhkE)4%c zaKYZ?lYt_f1s;*b3=G`DAk4@xYmNj^kiEpy*OmPqHw%xX#9Wn~Aa#-@t`Q~9`MJ5N zc_j?aMX8A;sVNHOnI#zt?w-B@;f;LaKt&ThT^vIq4!@o5$ag@2gC+6*|L1SFX08!) zG|{}18n(m0D@bRl)?M}`D^}j0&Y-+P-N*cZ&J7`!)ejfPMexdhbz$3cT{`lEIh)Z# zU9ps6#oyo0YtAujoV!%%$$IqwMlA={hOceiIzd~)8fFGteG0HmXPp_mWAlTJvpC!v v!q@I;YU0@c`G(*kmEy3o=cZlevE9$GRLw)9VzPKM&~Xf&u6{1-oD!M<@bYTH literal 0 HcmV?d00001 diff --git a/src/de/teamteamteam/spacescooter/entity/EnemyFour.java b/src/de/teamteamteam/spacescooter/entity/EnemyFour.java index efddfde..03a8221 100644 --- a/src/de/teamteamteam/spacescooter/entity/EnemyFour.java +++ b/src/de/teamteamteam/spacescooter/entity/EnemyFour.java @@ -52,9 +52,7 @@ public class EnemyFour extends Enemy{ nextPoint = points.get(index); index++; neuerVektor(); - System.out.println("neuer point"); }catch(IndexOutOfBoundsException e){ - System.out.println("ich bin dann mal weg!!"); this.remove(); } } diff --git a/src/de/teamteamteam/spacescooter/entity/EnemyThree.java b/src/de/teamteamteam/spacescooter/entity/EnemyThree.java index 95fd918..272b09c 100644 --- a/src/de/teamteamteam/spacescooter/entity/EnemyThree.java +++ b/src/de/teamteamteam/spacescooter/entity/EnemyThree.java @@ -11,15 +11,16 @@ public class EnemyThree extends Enemy{ private double newY; private double ySpeed = 0.4; + private Random random; public EnemyThree(int x, int y) { super(x, y); - Random random = new Random(); + random = new Random(); this.setImage("images/nyancat.png"); this.setShootSpeed(4); this.setShootDelay(42); this.setShootSpawn(-10, 10); - this.setHealthPoints(5); + this.setHealthPoints(15); this.setPosition(GameConfig.windowWidth, random.nextInt(GameConfig.windowHeight - this.getHeight())); this.newY = this.getY(); } @@ -33,6 +34,7 @@ public class EnemyThree extends Enemy{ Screen.currentScreen.addEntity(new EnemyThree(0, 0)); } if(!this.isAlive()){ + if(random.nextInt(10) < 5) Items.create(getX(), getY()); Screen.currentScreen.addEntity(new EnemyThree(0, 0)); } LinkedList list = Screen.currentScreen.getEntities(); diff --git a/src/de/teamteamteam/spacescooter/entity/ItemChance.java b/src/de/teamteamteam/spacescooter/entity/ItemChance.java new file mode 100644 index 0000000..72a420a --- /dev/null +++ b/src/de/teamteamteam/spacescooter/entity/ItemChance.java @@ -0,0 +1,35 @@ +package de.teamteamteam.spacescooter.entity; + +import java.util.Random; + +public class ItemChance { + + private static int summe = 0; + private static int[] items; + + public ItemChance() { + ItemChance.items = new int[4]; + items[0] = 4; + items[1] = 3; + items[2] = 2; + items[3] = 1; + + for(int i=0; i entities = Screen.currentScreen.getEntities(); + for (Entity e : entities) { + if(e instanceof Player){ + itemCollected((Player) e); + } + } + } + } + + public abstract void itemCollected(Player player); + + public static void create(int x, int y){ + int auswahl = ItemChance.choose(); + switch (auswahl) { + case 0: + Screen.currentScreen.addEntity(new TestItem1(x, y)); + break; + case 1: + Screen.currentScreen.addEntity(new TestItem2(x, y)); + break; + case 2: + Screen.currentScreen.addEntity(new TestItem3(x, y)); + break; + case 3: + Screen.currentScreen.addEntity(new TestItem4(x, y));; + break; + } + } +} diff --git a/src/de/teamteamteam/spacescooter/entity/LivingEntity.java b/src/de/teamteamteam/spacescooter/entity/LivingEntity.java index f4b11ac..6e6c625 100644 --- a/src/de/teamteamteam/spacescooter/entity/LivingEntity.java +++ b/src/de/teamteamteam/spacescooter/entity/LivingEntity.java @@ -55,6 +55,11 @@ public abstract class LivingEntity extends Entity implements Collidable { enemy.takeDamage(this.getCollisionDamage()); this.takeDamage(enemy.getCollisionDamage()); } + if(this instanceof Player && entity instanceof Items){ + Items item = (Items) entity; + item.setHealthPoints(0); + item.remove(); + } } public void setCollisionDamage(int d) { diff --git a/src/de/teamteamteam/spacescooter/entity/Player.java b/src/de/teamteamteam/spacescooter/entity/Player.java index 796221a..b6e2004 100644 --- a/src/de/teamteamteam/spacescooter/entity/Player.java +++ b/src/de/teamteamteam/spacescooter/entity/Player.java @@ -9,13 +9,14 @@ public class Player extends ShootingEntity { protected boolean shoot = false; private boolean canMove = true; + public Player(int x, int y) { super(x, y); this.setImage("images/ship.png"); this.setShootDelay(5); this.setShootSpawn(50, 16); this.setShootDirection(Shot.RIGHT); - this.setShootSpeed(4); + this.setShootSpeed(10); this.setHealthPoints(100); } diff --git a/src/de/teamteamteam/spacescooter/entity/ShootingEntity.java b/src/de/teamteamteam/spacescooter/entity/ShootingEntity.java index b1b6bac..0835c94 100644 --- a/src/de/teamteamteam/spacescooter/entity/ShootingEntity.java +++ b/src/de/teamteamteam/spacescooter/entity/ShootingEntity.java @@ -9,6 +9,7 @@ public abstract class ShootingEntity extends LivingEntity { private int shootSpawnX; private int shootSpawnY; private int shootDirection; + private int damageValue = 5; private int shootSpeed; public ShootingEntity(int x, int y) { @@ -23,7 +24,7 @@ public abstract class ShootingEntity extends LivingEntity { protected void shoot() { if(this.currentShootDelay == 0) { - Screen.currentScreen.addEntity(new SingleShot(this.x + this.shootSpawnX, this.y + this.shootSpawnY, this.shootDirection, this.shootSpeed)); + Screen.currentScreen.addEntity(new SingleShot(this.x + this.shootSpawnX, this.y + this.shootSpawnY, this.shootDirection, this.shootSpeed, this.damageValue)); this.currentShootDelay = this.shootDelay; } } @@ -44,4 +45,12 @@ public abstract class ShootingEntity extends LivingEntity { this.shootSpawnX = x; this.shootSpawnY = y; } + + public void setDamageValue(int damageValue){ + this.damageValue = damageValue; + } + + public int getDamageValue(){ + return this.damageValue; + } } diff --git a/src/de/teamteamteam/spacescooter/entity/Shot.java b/src/de/teamteamteam/spacescooter/entity/Shot.java index 48c6f19..fe4eec0 100644 --- a/src/de/teamteamteam/spacescooter/entity/Shot.java +++ b/src/de/teamteamteam/spacescooter/entity/Shot.java @@ -13,11 +13,12 @@ public abstract class Shot extends LivingEntity { private int speed; private int direction; - public Shot(int x, int y, int shootDirection, int shootSpeed) { + public Shot(int x, int y, int shootDirection, int shootSpeed, int damageValue) { super(x, y); this.direction = shootDirection; this.speed = shootSpeed; this.collisionCount = 1; + this.damageValue = damageValue; } public void setImage(String filename) { diff --git a/src/de/teamteamteam/spacescooter/entity/SingleShot.java b/src/de/teamteamteam/spacescooter/entity/SingleShot.java index 182e6a3..3850ba8 100644 --- a/src/de/teamteamteam/spacescooter/entity/SingleShot.java +++ b/src/de/teamteamteam/spacescooter/entity/SingleShot.java @@ -2,10 +2,8 @@ package de.teamteamteam.spacescooter.entity; public class SingleShot extends Shot { - public SingleShot(int x, int y, int shootDirection, int shootSpeed) { - super(x, y, shootDirection, shootSpeed); + public SingleShot(int x, int y, int shootDirection, int shootSpeed, int damageValue) { + super(x, y, shootDirection, shootSpeed, damageValue); this.setImage("images/shot.png"); - this.setDamageValue(5); } - } diff --git a/src/de/teamteamteam/spacescooter/entity/TestItem1.java b/src/de/teamteamteam/spacescooter/entity/TestItem1.java new file mode 100644 index 0000000..251f970 --- /dev/null +++ b/src/de/teamteamteam/spacescooter/entity/TestItem1.java @@ -0,0 +1,14 @@ +package de.teamteamteam.spacescooter.entity; + +public class TestItem1 extends Items{ + + public TestItem1(int x, int y) { + super(x, y); + this.setImage("images/Item.png"); + } + + @Override + public void itemCollected(Player player) { + player.setDamageValue(player.getDamageValue()+5); + } +} diff --git a/src/de/teamteamteam/spacescooter/entity/TestItem2.java b/src/de/teamteamteam/spacescooter/entity/TestItem2.java new file mode 100644 index 0000000..3be7f51 --- /dev/null +++ b/src/de/teamteamteam/spacescooter/entity/TestItem2.java @@ -0,0 +1,16 @@ +package de.teamteamteam.spacescooter.entity; + +public class TestItem2 extends Items{ + + public static int chance = 2; + + public TestItem2(int x, int y) { + super(x, y); + this.setImage("images/Item2.png"); + } + + @Override + public void itemCollected(Player player) { + player.setDamageValue(player.getDamageValue()+5); + } +} diff --git a/src/de/teamteamteam/spacescooter/entity/TestItem3.java b/src/de/teamteamteam/spacescooter/entity/TestItem3.java new file mode 100644 index 0000000..658d70d --- /dev/null +++ b/src/de/teamteamteam/spacescooter/entity/TestItem3.java @@ -0,0 +1,16 @@ +package de.teamteamteam.spacescooter.entity; + +public class TestItem3 extends Items{ + + public static int chance = 3; + + public TestItem3(int x, int y) { + super(x, y); + this.setImage("images/Item3.png"); + } + + @Override + public void itemCollected(Player player) { + player.setDamageValue(player.getDamageValue()+5); + } +} diff --git a/src/de/teamteamteam/spacescooter/entity/TestItem4.java b/src/de/teamteamteam/spacescooter/entity/TestItem4.java new file mode 100644 index 0000000..69f8e21 --- /dev/null +++ b/src/de/teamteamteam/spacescooter/entity/TestItem4.java @@ -0,0 +1,16 @@ +package de.teamteamteam.spacescooter.entity; + +public class TestItem4 extends Items{ + + public static int chance = 4; + + public TestItem4(int x, int y) { + super(x, y); + this.setImage("images/Item4.png"); + } + + @Override + public void itemCollected(Player player) { + player.setDamageValue(player.getDamageValue()+5); + } +} diff --git a/src/de/teamteamteam/spacescooter/screen/GameScreen.java b/src/de/teamteamteam/spacescooter/screen/GameScreen.java index 7aef9ad..55a53b8 100644 --- a/src/de/teamteamteam/spacescooter/screen/GameScreen.java +++ b/src/de/teamteamteam/spacescooter/screen/GameScreen.java @@ -11,8 +11,8 @@ import de.teamteamteam.spacescooter.background.StarBackground; import de.teamteamteam.spacescooter.control.Keyboard; import de.teamteamteam.spacescooter.entity.EnemyFour; import de.teamteamteam.spacescooter.entity.EnemyThree; -import de.teamteamteam.spacescooter.entity.EnemyTwo; import de.teamteamteam.spacescooter.entity.Entity; +import de.teamteamteam.spacescooter.entity.ItemChance; import de.teamteamteam.spacescooter.entity.Player; public class GameScreen extends Screen { @@ -21,6 +21,7 @@ public class GameScreen extends Screen { public GameScreen(Screen parent) { super(parent); + new ItemChance(); points.add(new Point(300,300)); points.add(new Point(600,100)); points.add(new Point(0,500)); @@ -29,8 +30,6 @@ public class GameScreen extends Screen { this.entities.add(new EnemyFour(800, 400, points)); 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