Newer
Older
package lab;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
public class World {
private double width;
private double height;
public World(double width, double height) {
this.width = width;
this.height = height;
cannon = new Cannon(this, new Point2D(50, 50), new Point2D(100, 20));
bulletAnimatted = new BulletAnimated(this, cannon, new Point2D(30, 60), new Point2D(0, 0), 40);
/*
dragons = new Dragon[5];
dragons[0] = new Dragon(this, new Point2D(100, 100), new Point2D(40, 40));
dragons[1] = new Dragon(this, new Point2D(120, 100), new Point2D(-40, 40));
dragons[2] = new Dragon(this, new Point2D(120, 50), new Point2D(-70, 140));
dragons[3] = new Dragon(this, new Point2D(20, 100), new Point2D(-40, 100));
dragons[4] = new Dragon(this, new Point2D(120, 100), new Point2D(-40, 80));
*/
dragons = new Dragon[] {
new Dragon(this, new Point2D(100, 100), new Point2D(40, 40)),
new Dragon(this, new Point2D(120, 100), new Point2D(-40, 40)),
new Dragon(this, new Point2D(120, 50), new Point2D(-70, 140)),
new Dragon(this, new Point2D(20, 100), new Point2D(-40, 100)),
new Dragon(this, new Point2D(120, 100), new Point2D(-40, 80))
};
return new Point2D(worldPoint.getX(), height - worldPoint.getY());
public void draw(GraphicsContext gc) {
gc.clearRect(0, 0, width, height);
bulletAnimatted.simulate(timeDelta);
cannon.simulate(timeDelta);
for (Dragon dragon: dragons) {
dragon.simulate(timeDelta);
}
if (bulletAnimatted.isInCannon()) {
return;
}
for (Dragon dragon: dragons) {
if (dragon.getboundingBox().intersects(bulletAnimatted.getboundingBox())) {
dragon.hit();
bulletAnimatted.reload();
}
}