diff --git a/Applicatie/Visitor.java b/Applicatie/Visitor.java index 578b3f2..8498b4a 100644 --- a/Applicatie/Visitor.java +++ b/Applicatie/Visitor.java @@ -5,15 +5,10 @@ import java.awt.Image; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.AffineTransform; - -import java.awt.geom.Point2D; -import java.util.ArrayList; - import java.awt.geom.Area; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.GregorianCalendar; - import java.util.HashMap; import java.util.Map; @@ -22,7 +17,6 @@ import Agenda.Event; import Objects.DrawObject; import Objects.Entrance; import Objects.Path; - import Objects.Stage; public class Visitor @@ -368,110 +362,82 @@ public class Visitor } @SuppressWarnings("static-access") - public void fillActions() - { + public void fillActions() { int startTime = 540; int stopTime = 1260; - while (startTime < stopTime) - { - int random = (int) Math.floor(Math.random() * 21); - if (random < 40) - { + while (startTime < stopTime) { + int random = (int) Math.floor(Math.random() * 51); + if (random < 40) { Point2D position = null; DrawObject targetStage = null; ArrayList posEvents = new ArrayList(); - for (Event e : agenda.getEvents()) - { - if (startTime >= e.getStart() && startTime < e.getStop()) - { + for (Event e : agenda.getEvents()) { + if (startTime >= e.getStart() && startTime < e.getStop()) { posEvents.add(e); } } - int totalPopularity = 0; - for (Event ev : posEvents) - { - totalPopularity += ev.getExpectedPopularity(); - } - - int r = (int) Math.floor(Math.random() * totalPopularity); - int currentPop = 0; - for (Event evs : posEvents) - { - int before = currentPop; - currentPop += evs.getExpectedPopularity(); - if (currentPop >= r && before < r) - { - for (DrawObject d : objects) - { - if (d.getFileName().equals("stage")) - { - Stage s = (Stage) d; - if (s.getStage().getName().equals(evs.getStage().getName())) - { - position = s.getPosition(); - targetStage = d; - } - + if (posEvents.size() != 0) { + int r = (int) Math.floor(Math.random() * posEvents.size()); + Event evs = posEvents.get(r); + for (DrawObject d : objects) { + if (d.getFileName().equals("stage")) { + Stage s = (Stage) d; + if (s.getStage().getName() + .equals(evs.getStage().getName())) { + position = s.getPosition(); + targetStage = d; } } } } int randomtime = (int) (40 + (Math.random() * (60 - 40))); - if (position != null) - { + if (position != null) { Waypoint w = getClosestWaypoint(position); - actions.add(new Action(position, startTime, randomtime, targetStage, w)); + actions.add(new Action(position, startTime, randomtime, + targetStage, w)); } startTime = startTime + randomtime; - } - else if (random >= 40 && random < 45) - { + } else if (random >= 40 && random < 45) { Point2D position = null; DrawObject targetStage = null; ArrayList foodPlaces = new ArrayList(); - for (DrawObject d : objects) - { - if (d.getFileName().equals("food")) - { + for (DrawObject d : objects) { + if (d.getFileName().equals("food")) { foodPlaces.add(d); } } - if (foodPlaces.size() != 0) - { + if (foodPlaces.size() != 0) { int r = (int) Math.floor(Math.random() * foodPlaces.size()); position = foodPlaces.get(r).getPosition(); targetStage = foodPlaces.get(r); Waypoint w = getClosestWaypoint(position); - actions.add(new Action(position, startTime, 35, targetStage, w)); + actions.add(new Action(position, startTime, 35, + targetStage, w)); startTime = startTime + 20; } startTime = startTime + 35; - } - else if (random > 45) - { + } else if (random > 45) { Point2D position = null; DrawObject targetStage = null; ArrayList toilets = new ArrayList(); - for (DrawObject d : objects) - { - if (d.getFileName().equals("wc")) - { + for (DrawObject d : objects) { + if (d.getFileName().equals("wc")) { toilets.add(d); } } - if (toilets.size() != 0) - { + if (toilets.size() != 0) { int r = (int) Math.floor(Math.random() * toilets.size()); position = toilets.get(r).getPosition(); targetStage = toilets.get(r); Waypoint w = getClosestWaypoint(position); - actions.add(new Action(position, startTime, 35, targetStage, w)); + actions.add(new Action(position, startTime, 35, + targetStage, w)); startTime = startTime + 20; } startTime = startTime + 35;