From 0457f135e4453b8243b280bdfeb7a4479643468d Mon Sep 17 00:00:00 2001 From: Arthur Bols Date: Tue, 22 May 2018 12:55:19 +0200 Subject: [PATCH] small fixes --- OGP1718-Worms/src/Main.java | 10 ++++++++++ OGP1718-Worms/src/worms/model/Bazooka.java | 4 +++- OGP1718-Worms/src/worms/model/Rifle.java | 2 +- OGP1718-Worms/src/worms/model/World.java | 15 ++++++++++++++- OGP1718-Worms/src/worms/programs/Statement.java | 1 - 5 files changed, 28 insertions(+), 4 deletions(-) diff --git a/OGP1718-Worms/src/Main.java b/OGP1718-Worms/src/Main.java index 865100d..5e75eb6 100644 --- a/OGP1718-Worms/src/Main.java +++ b/OGP1718-Worms/src/Main.java @@ -9,6 +9,7 @@ import worms.programs.UnaryExpression; import worms.util.Coordinate; import java.io.Console; +import java.util.concurrent.ThreadLocalRandom; import java.util.function.BinaryOperator; import java.util.function.DoubleBinaryOperator; @@ -21,5 +22,14 @@ public class Main { { false, false, false, false } }; public static void main(String[] args) { + + for (int i = 0; i < 10; i++) { + + int x =ThreadLocalRandom.current().nextInt(0, 15) / 2; + x += (x % 2 == 0 ? 1:0); + System.out.println(x); + + } + } } diff --git a/OGP1718-Worms/src/worms/model/Bazooka.java b/OGP1718-Worms/src/worms/model/Bazooka.java index 2186ab1..6b96891 100644 --- a/OGP1718-Worms/src/worms/model/Bazooka.java +++ b/OGP1718-Worms/src/worms/model/Bazooka.java @@ -14,7 +14,9 @@ public class Bazooka extends Projectile { @Override protected int getRandomHitPoints() { - return ThreadLocalRandom.current().nextInt(15) / 2; + int nb =ThreadLocalRandom.current().nextInt(15) / 2; + nb += (nb % 2 == 0 ? 1:0); + return nb; } @Override diff --git a/OGP1718-Worms/src/worms/model/Rifle.java b/OGP1718-Worms/src/worms/model/Rifle.java index 1cd85c9..7bfd6f7 100644 --- a/OGP1718-Worms/src/worms/model/Rifle.java +++ b/OGP1718-Worms/src/worms/model/Rifle.java @@ -16,7 +16,7 @@ public class Rifle extends Projectile { @Override protected int getRandomHitPoints() { - return ThreadLocalRandom.current().nextInt(6) * 2; + return ThreadLocalRandom.current().nextInt(1,6) * 2; } @Override diff --git a/OGP1718-Worms/src/worms/model/World.java b/OGP1718-Worms/src/worms/model/World.java index ab5e267..f80ef4e 100644 --- a/OGP1718-Worms/src/worms/model/World.java +++ b/OGP1718-Worms/src/worms/model/World.java @@ -590,7 +590,20 @@ public class World { } else if (item1 instanceof Worm && item2 instanceof Projectile || item1 instanceof Projectile && item2 instanceof Worm) { - // TODO hit by projectile, projectile gets random hit points + + Worm worm = null; + Projectile proj = null; + if (item1 instanceof Worm) { + worm = (Worm) item1; + proj = (Projectile) item2; + } else { + worm = (Worm) item2; + proj = (Projectile) item1; + } + + proj.hit(worm); + proj.setHitPoints(proj.getRandomHitPoints()); + } else if (item1 instanceof Food && item2 instanceof Food) { if (((Food) item1).isPoisonous()) ((Food) item1).heal(); diff --git a/OGP1718-Worms/src/worms/programs/Statement.java b/OGP1718-Worms/src/worms/programs/Statement.java index 714690f..ea4b233 100644 --- a/OGP1718-Worms/src/worms/programs/Statement.java +++ b/OGP1718-Worms/src/worms/programs/Statement.java @@ -83,7 +83,6 @@ public class Statement { * @param type * @param value */ - @SuppressWarnings("unchecked") public Action(Type type, Expression value) { this.type = type; this.value = value;