From ded001b9bbf34594696552eb2cf08a43c3eb0560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Ko=C5=BEusznik?= <jan@kozusznik.cz> Date: Mon, 11 Oct 2021 13:57:15 +0200 Subject: [PATCH] Generate dragons randomly --- src/main/java/lab/World.java | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/lab/World.java b/src/main/java/lab/World.java index 5928056..ead7806 100644 --- a/src/main/java/lab/World.java +++ b/src/main/java/lab/World.java @@ -1,10 +1,15 @@ package lab; +import java.util.Random; + import javafx.geometry.Point2D; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; public class World { + + private final static int NUMBER_OF_DRAGONS = 5; + private double width; private double height; private DrawableSimulable []entities; @@ -14,11 +19,18 @@ public class World { this.width = width; this.height = height; Cannon cannon = new Cannon(this, new Point2D(50, 50), new Point2D(100, 20)); - entities = new DrawableSimulable[] { cannon, - new BulletAnimated(this, cannon, new Point2D(30, 60), new Point2D(0, 0), 40), - new Dragon(this, new Point2D(50, 200), new Point2D(100, 5)), - new Dragon(this, new Point2D(50, 230), new Point2D(60, 5)), - new Dragon(this, new Point2D(50, 270), new Point2D(-50, 20)) }; + entities = new DrawableSimulable[2 + NUMBER_OF_DRAGONS]; + entities[0] = cannon; + entities[1] = new BulletAnimated(this, cannon, new Point2D(30, 60), new Point2D(0, 0), 40); + Random rnd = new Random(); + + for (int i = 2; i < entities.length; i++) { + int x = rnd.nextInt((int) width); + int y = rnd.nextInt((int) height); + int vel_x = (rnd.nextInt(10) - 5) * 10; + int vel_y = (rnd.nextInt(10) - 5) * 10; + entities[i] = new Dragon(this, new Point2D(x, y), new Point2D(vel_x, vel_y)); + } } public Point2D getCanvasPoint(Point2D worldPoint) { -- GitLab