diff --git a/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java b/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java index 76a3cea..1c58f7f 100644 --- a/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java +++ b/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java @@ -13,10 +13,10 @@ public class TorpedoStore { private double FAILURE_RATE = 0.0; //NOSONAR private int torpedoCount = 0; - + private Random generator; public TorpedoStore(int numberOfTorpedos){ this.torpedoCount = numberOfTorpedos; - + this.generator = new Random(); // update failure rate if it was specified in an environment variable String failureEnv = System.getenv("IVT_RATE"); if (failureEnv != null){ @@ -30,18 +30,18 @@ public TorpedoStore(int numberOfTorpedos){ public boolean fire(int numberOfTorpedos){ if(numberOfTorpedos < 1 || numberOfTorpedos > this.torpedoCount){ - new IllegalArgumentException("numberOfTorpedos"); + throw new IllegalArgumentException("numberOfTorpedos"); } boolean success = false; // simulate random overheating of the launcher bay which prevents firing - Random generator = new Random(); + double r = generator.nextDouble(); if (r >= FAILURE_RATE) { // successful firing - this.torpedoCount =- numberOfTorpedos; + this.torpedoCount -= numberOfTorpedos; success = true; } else { // simulated failure