From 8bd0ab1974d9a270c5c8fb8c2cb25180ddae0a09 Mon Sep 17 00:00:00 2001 From: lars Date: Sat, 4 Oct 2025 13:39:57 +0200 Subject: [PATCH] fixed error after game ends --- .../types/turtleGame/TurtleGame.java | 22 +++++++++++++------ .../types/turtleGame/TurtleGameFactory.java | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/turtleGame/TurtleGame.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/turtleGame/TurtleGame.java index 3b45fb7..1272b43 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/turtleGame/TurtleGame.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/turtleGame/TurtleGame.java @@ -88,7 +88,7 @@ class TurtleGame extends StatelessGame { turtle.kill(); this.bombs.remove(bomb); bomb.remove(); - this.generateNewBomb(); + this.generateNewBomb(2); this.getScore().insertResult(p, this.scoreMap.get(p)); this.speed += 0.5; }); @@ -133,6 +133,12 @@ class TurtleGame extends StatelessGame { return new Pos(x, 1, z).withLookAt(new Pos(0, 0, 0)); } + private void generateNewSnack(int count) { + for (int i = 0; i < count; i++) { + this.generateNewSnack(); + } + } + private void generateNewSnack() { Entity snack = new Entity(EntityType.FALLING_BLOCK); FallingBlockMeta meta = (FallingBlockMeta) snack.getEntityMeta(); @@ -147,6 +153,12 @@ class TurtleGame extends StatelessGame { this.snacks.add(snack); } + private void generateNewBomb(int count) { + for (int i = 0; i < count; i++) { + this.generateNewBomb(); + } + } + private void generateNewBomb() { Entity bomb = new Entity(EntityType.FALLING_BLOCK); FallingBlockMeta meta = (FallingBlockMeta) bomb.getEntityMeta(); @@ -190,11 +202,7 @@ class TurtleGame extends StatelessGame { @Override protected void onStart() { - for (int i = 0; i < 10; i++) { - this.generateNewSnack(); - } - for (int i = 0; i < 5; i++) { - this.generateNewBomb(); - } + this.generateNewSnack((int) Math.ceil(this.turtlePlayerMap.size() * 1.5)); + this.generateNewBomb((int) Math.ceil(this.snacks.size() * 0.5)); } } diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/turtleGame/TurtleGameFactory.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/turtleGame/TurtleGameFactory.java index ffbe591..1913bb0 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/turtleGame/TurtleGameFactory.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/turtleGame/TurtleGameFactory.java @@ -31,7 +31,7 @@ public class TurtleGameFactory implements GameFactory { @Override public Game manufacture(Room parent, Map> configuration) throws Exception { - return new TurtleGame(configuration.get("radius").getAsInt()); + return new TurtleGame(configuration.get("radius").getAsInt()).setParent(parent); } @Override