diff --git a/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java b/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java index 76a3cea..08fcf46 100644 --- a/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java +++ b/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java @@ -14,8 +14,11 @@ public class TorpedoStore { private int torpedoCount = 0; + private Random generator; + public TorpedoStore(int numberOfTorpedos){ this.torpedoCount = numberOfTorpedos; + generator= new Random(); // update failure rate if it was specified in an environment variable String failureEnv = System.getenv("IVT_RATE"); @@ -28,20 +31,24 @@ public TorpedoStore(int numberOfTorpedos){ } } + /** + * @param numberOfTorpedos + * @return + */ 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 =this.torpedoCount- numberOfTorpedos; success = true; } else { // simulated failure