From 04944e0391dc68b37491e25133e3b58fc4248117 Mon Sep 17 00:00:00 2001 From: Jan Philipp Timme Date: Tue, 11 Nov 2014 14:20:16 +0100 Subject: [PATCH] Create static java.util.Random wrapper, add shot hit sound. --- res/sounds/shot_hit_something_loud.wav | Bin 0 -> 53224 bytes .../spacescooter/entity/enemy/Enemy.java | 5 +-- .../spacescooter/entity/enemy/EnemyThree.java | 9 ++-- .../spacescooter/entity/enemy/EnemyTwo.java | 6 +-- .../entity/explosion/MultiExplosion.java | 21 ++++----- .../spacescooter/entity/item/ItemChance.java | 5 +-- .../spacescooter/entity/shot/Shot.java | 13 +++++- .../spacescooter/utility/Random.java | 42 ++++++++++++++++++ 8 files changed, 71 insertions(+), 30 deletions(-) create mode 100644 res/sounds/shot_hit_something_loud.wav create mode 100644 src/de/teamteamteam/spacescooter/utility/Random.java diff --git a/res/sounds/shot_hit_something_loud.wav b/res/sounds/shot_hit_something_loud.wav new file mode 100644 index 0000000000000000000000000000000000000000..3080cef07b48102c579aebf95277772a7a1aa51f GIT binary patch literal 53224 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 literal 0 HcmV?d00001 diff --git a/src/de/teamteamteam/spacescooter/entity/enemy/Enemy.java b/src/de/teamteamteam/spacescooter/entity/enemy/Enemy.java index 56fb1a1..b5ef190 100644 --- a/src/de/teamteamteam/spacescooter/entity/enemy/Enemy.java +++ b/src/de/teamteamteam/spacescooter/entity/enemy/Enemy.java @@ -1,16 +1,15 @@ package de.teamteamteam.spacescooter.entity.enemy; -import java.util.Random; import de.teamteamteam.spacescooter.entity.ShootingEntity; import de.teamteamteam.spacescooter.entity.shot.Shot; +import de.teamteamteam.spacescooter.utility.Random; public abstract class Enemy extends ShootingEntity { public Enemy(int x, int y) { super(x, y); - Random r = new Random(); this.name = "EnemyOne"; - this.willShoot = r.nextBoolean(); + this.willShoot = Random.nextBoolean(); this.setShootDirection(Shot.LEFT); this.setShootDamage(5); } diff --git a/src/de/teamteamteam/spacescooter/entity/enemy/EnemyThree.java b/src/de/teamteamteam/spacescooter/entity/enemy/EnemyThree.java index d7f3b0f..5e8702d 100644 --- a/src/de/teamteamteam/spacescooter/entity/enemy/EnemyThree.java +++ b/src/de/teamteamteam/spacescooter/entity/enemy/EnemyThree.java @@ -1,7 +1,5 @@ package de.teamteamteam.spacescooter.entity.enemy; -import java.util.Random; - import de.teamteamteam.spacescooter.datastructure.ConcurrentIterator; import de.teamteamteam.spacescooter.entity.Entity; import de.teamteamteam.spacescooter.entity.Player; @@ -9,17 +7,16 @@ import de.teamteamteam.spacescooter.entity.explosion.MultiExplosion; import de.teamteamteam.spacescooter.entity.item.Item; import de.teamteamteam.spacescooter.screen.Screen; import de.teamteamteam.spacescooter.utility.GameConfig; +import de.teamteamteam.spacescooter.utility.Random; public class EnemyThree extends Enemy{ private double newY; private double ySpeed = 0.4; - private Random random; private ConcurrentIterator entityIterator; public EnemyThree(int x, int y) { super(x, y); - random = new Random(); this.setImage("images/enemy02.png"); this.setPrimaryShotImage("images/shots/laser_red.png"); this.setShootSpeed(4); @@ -29,7 +26,7 @@ public class EnemyThree extends Enemy{ this.setHealthPoints(15); this.setCollisionDamage(10); this.setScore(30); - this.setPosition(GameConfig.windowWidth, random.nextInt(GameConfig.windowHeight - this.getHeight())); + this.setPosition(GameConfig.windowWidth, Random.nextInt(GameConfig.windowHeight - this.getHeight())); this.newY = this.getY(); this.entityIterator = Screen.currentScreen.createEntityIterator(); } @@ -39,7 +36,7 @@ public class EnemyThree extends Enemy{ */ @Override public void die() { - if(random.nextInt(10) < 5) Item.create(getX(), getY()); + if(Random.nextInt(10) < 5) Item.create(getX(), getY()); new EnemyThree(0, 0); super.die(); } diff --git a/src/de/teamteamteam/spacescooter/entity/enemy/EnemyTwo.java b/src/de/teamteamteam/spacescooter/entity/enemy/EnemyTwo.java index a21fed7..5882cac 100644 --- a/src/de/teamteamteam/spacescooter/entity/enemy/EnemyTwo.java +++ b/src/de/teamteamteam/spacescooter/entity/enemy/EnemyTwo.java @@ -1,14 +1,12 @@ package de.teamteamteam.spacescooter.entity.enemy; -import java.util.Random; - import de.teamteamteam.spacescooter.utility.GameConfig; +import de.teamteamteam.spacescooter.utility.Random; public class EnemyTwo extends Enemy{ public EnemyTwo(int x, int y) { super(x, y); - Random random = new Random(); this.setImage("images/enemy02.png"); this.setPrimaryShotImage("images/shots/laser_green.png"); this.setShootSpeed(4); @@ -19,7 +17,7 @@ public class EnemyTwo extends Enemy{ this.setHealthPoints(5); this.setScore(20); this.setCollisionDamage(this.getHealthPoints()); - this.setPosition(GameConfig.windowWidth, random.nextInt(GameConfig.windowHeight - this.getHeight())); + this.setPosition(GameConfig.windowWidth, Random.nextInt(GameConfig.windowHeight - this.getHeight())); } @Override diff --git a/src/de/teamteamteam/spacescooter/entity/explosion/MultiExplosion.java b/src/de/teamteamteam/spacescooter/entity/explosion/MultiExplosion.java index c6a0e4f..475ced9 100644 --- a/src/de/teamteamteam/spacescooter/entity/explosion/MultiExplosion.java +++ b/src/de/teamteamteam/spacescooter/entity/explosion/MultiExplosion.java @@ -1,6 +1,6 @@ package de.teamteamteam.spacescooter.entity.explosion; -import java.util.Random; +import de.teamteamteam.spacescooter.utility.Random; /** * Extends the functionality of the simple ExplosionOne to randomly @@ -13,17 +13,12 @@ public class MultiExplosion extends ExplosionOne { */ private int counter; - /** - * Instance of Random, so we get good random numbers. - */ - private Random random; - + /** * Just be a single explosion. */ public MultiExplosion(int x, int y) { super(x, y); - this.random = new Random(); } /** @@ -32,7 +27,7 @@ public class MultiExplosion extends ExplosionOne { @Override public void update() { if(this.counter % 10 == 0) { - if(this.random.nextBoolean()) { + if(Random.nextBoolean()) { this.spawnExplosion(); } } @@ -44,11 +39,11 @@ public class MultiExplosion extends ExplosionOne { * Randomly spawn a new random explosion at a random location. */ private void spawnExplosion() { - int x_offset = this.random.nextInt(35); - if(this.random.nextBoolean()) x_offset *= -1; - int y_offset = this.random.nextInt(35); - if(this.random.nextBoolean()) y_offset *= -1; - int explosionType = this.random.nextInt(2); + int x_offset = Random.nextInt(35); + if(Random.nextBoolean()) x_offset *= -1; + int y_offset = Random.nextInt(35); + if(Random.nextBoolean()) y_offset *= -1; + int explosionType = Random.nextInt(2); switch(explosionType) { case 0: new ExplosionOne(this.getX() + x_offset, this.getY() + y_offset); diff --git a/src/de/teamteamteam/spacescooter/entity/item/ItemChance.java b/src/de/teamteamteam/spacescooter/entity/item/ItemChance.java index d21b5e5..ee05e2b 100644 --- a/src/de/teamteamteam/spacescooter/entity/item/ItemChance.java +++ b/src/de/teamteamteam/spacescooter/entity/item/ItemChance.java @@ -1,6 +1,6 @@ package de.teamteamteam.spacescooter.entity.item; -import java.util.Random; +import de.teamteamteam.spacescooter.utility.Random; public class ItemChance { @@ -21,8 +21,7 @@ public class ItemChance { public static int choose() { //dauerhaft - Random random = new Random(); - int r = random.nextInt(ItemChance.summe - 1) + 1; + int r = Random.nextInt(ItemChance.summe - 1) + 1; for(int i=0; i