From eacc265f8e3de8a51dba942a9355a27937bebcb5 Mon Sep 17 00:00:00 2001 From: Zoltan Micskei Date: Tue, 2 Apr 2019 23:33:52 +0200 Subject: [PATCH] Add clever refactorings --- src/main/java/hu/bme/mit/spaceship/TorpedoStore.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java b/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java index fd938f6..76a3cea 100644 --- a/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java +++ b/src/main/java/hu/bme/mit/spaceship/TorpedoStore.java @@ -4,13 +4,15 @@ /** * Class storing and managing the torpedoes of a ship +* +* (Deliberately contains bugs.) */ public class TorpedoStore { - private double FAILURE_RATE = 0.0; + // rate of failing to fire torpedos [0.0, 1.0] + private double FAILURE_RATE = 0.0; //NOSONAR private int torpedoCount = 0; - private Random generator = new Random(); public TorpedoStore(int numberOfTorpedos){ this.torpedoCount = numberOfTorpedos; @@ -28,17 +30,18 @@ public TorpedoStore(int numberOfTorpedos){ public boolean fire(int numberOfTorpedos){ if(numberOfTorpedos < 1 || numberOfTorpedos > this.torpedoCount){ - throw new IllegalArgumentException("numberOfTorpedos"); + 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