From 3401d742ca53dce6bb1464cc12f94d107cfc285d Mon Sep 17 00:00:00 2001 From: Andriy Cherniy Date: Mon, 17 Jun 2024 02:59:32 +0300 Subject: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --- .../quga/oop/lab56maven/threads/DwarfThread.java | 102 --------------------- .../oop/lab56maven/threads/ImmigrantThread.java | 60 ------------ 2 files changed, 162 deletions(-) delete mode 100644 src/main/java/space/m0e/quga/oop/lab56maven/threads/DwarfThread.java delete mode 100644 src/main/java/space/m0e/quga/oop/lab56maven/threads/ImmigrantThread.java (limited to 'src/main/java/space/m0e/quga/oop/lab56maven/threads') diff --git a/src/main/java/space/m0e/quga/oop/lab56maven/threads/DwarfThread.java b/src/main/java/space/m0e/quga/oop/lab56maven/threads/DwarfThread.java deleted file mode 100644 index cffeeea..0000000 --- a/src/main/java/space/m0e/quga/oop/lab56maven/threads/DwarfThread.java +++ /dev/null @@ -1,102 +0,0 @@ -package space.m0e.quga.oop.lab56maven.threads; - -import javafx.application.Platform; -import space.m0e.quga.oop.lab56maven.Main; -import space.m0e.quga.oop.lab56maven.decisions.Decision; -import space.m0e.quga.oop.lab56maven.decisions.GoToDwarvesContainerDecision; -import space.m0e.quga.oop.lab56maven.decisions.GoToThroneRoomDecision; -import space.m0e.quga.oop.lab56maven.decisions.GoToWorkstationDecision; -import space.m0e.quga.oop.lab56maven.entities.common.Coordinates; -import space.m0e.quga.oop.lab56maven.entities.macro.Fortress; -import space.m0e.quga.oop.lab56maven.entities.micro.Dwarf; -import space.m0e.quga.oop.lab56maven.entities.micro.Immigrant; - -import java.util.Objects; -import java.util.Random; -import java.util.concurrent.TimeUnit; - -public class DwarfThread extends Thread { - public Dwarf getDwarf() { - return dwarf; - } - - private int timer = 0; - private Decision decision; - private static final String[] availableDecisions = new String[]{ - "GoToWorkstation", - "GoToDwarvesContainer", -// "GoToThroneRoom" - }; - private static String lastDecision; - - public void setDwarf(Dwarf dwarf) { - this.dwarf = dwarf; - } - - private Dwarf dwarf; - - public DwarfThread(Dwarf dwarf) { - super(); - this.setName(String.format("DwarfThread_%s", dwarf.getFullName())); - this.dwarf = dwarf; - } - - @Override - public void run() { - while (!isInterrupted()) { - if (dwarf != null && !dwarf.isActive()) { - try { - TimeUnit.MILLISECONDS.sleep(10); - } catch (InterruptedException e) { - break; - } - timer++; - if (dwarf.getFortress() == null) { - Fortress fortress = dwarf.findNearestFortress(); - if (fortress != null) { - Coordinates moveTo = dwarf.getCoordinatesToFortress(fortress); - dwarf.move(moveTo); - if (moveTo.isThere(dwarf)) { - Platform.runLater(() -> { - dwarf.setFortress(fortress); - fortress.add(dwarf); - Main.root.getChildren().remove(dwarf.getGroup()); - }); - } - } - } else { - if (decision == null) { - String decisionName = availableDecisions[new Random().nextInt(availableDecisions.length)]; - while (Objects.equals(lastDecision, decisionName)) { - decisionName = availableDecisions[new Random().nextInt(availableDecisions.length)]; - } - lastDecision = decisionName; - switch (decisionName) { - case "GoToWorkstation" -> { - if (dwarf.getAge() > 12 && dwarf.getAge() < 70) { - decision = new GoToWorkstationDecision(new Random().nextInt(timer + 200, timer + 500), dwarf); - } - } - case "GoToDwarvesContainer" -> { - decision = new GoToDwarvesContainerDecision(new Random().nextInt(timer + 200, timer + 500), dwarf); - } - case "GoToThroneRoom" -> { - if (dwarf.getAge() > 35 && dwarf.getAge() < 70) { - decision = new GoToThroneRoomDecision(new Random().nextInt(timer + 200, timer + 500), dwarf); - } - } - } - } else { - if (decision.getExecuteWhen() < timer) { - decision.cycle(); - } - if (decision.isComplete()) - decision = null; - } - } - } - } - } - - -} diff --git a/src/main/java/space/m0e/quga/oop/lab56maven/threads/ImmigrantThread.java b/src/main/java/space/m0e/quga/oop/lab56maven/threads/ImmigrantThread.java deleted file mode 100644 index b3406d8..0000000 --- a/src/main/java/space/m0e/quga/oop/lab56maven/threads/ImmigrantThread.java +++ /dev/null @@ -1,60 +0,0 @@ -package space.m0e.quga.oop.lab56maven.threads; - -import javafx.application.Platform; -import space.m0e.quga.oop.lab56maven.Main; -import space.m0e.quga.oop.lab56maven.entities.common.Coordinates; -import space.m0e.quga.oop.lab56maven.entities.macro.Fortress; -import space.m0e.quga.oop.lab56maven.entities.micro.Dwarf; -import space.m0e.quga.oop.lab56maven.entities.micro.Immigrant; - -import java.util.concurrent.TimeUnit; - -public class ImmigrantThread extends Thread { - public Immigrant getImmigrant() { - return immigrant; - } - - public void setImmigrant(Immigrant immigrant) { - this.immigrant = immigrant; - } - - private Immigrant immigrant; - - public ImmigrantThread(Immigrant immigrant) { - super(); - this.setName(String.format("ImmigrantThread_%s", immigrant.getFullName())); - this.immigrant = immigrant; - } - - @Override - public void run() { - while (!isInterrupted()) { - if (immigrant != null && !immigrant.isActive()) { - try { - TimeUnit.MILLISECONDS.sleep(10); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - Fortress fortress = immigrant.findNearestFortress(); - if (fortress != null) { - Coordinates moveTo = immigrant.getCoordinatesToFortress(fortress); - immigrant.move(moveTo); - if (moveTo.isThere(immigrant)) { - Platform.runLater(() -> { - Dwarf dwarf = new Dwarf(immigrant, fortress); - dwarf.setThread(new DwarfThread(dwarf)); - dwarf.getThread().start(); - Main.immigrants.remove(immigrant); - Main.immigrants.add(dwarf); - fortress.add(dwarf); - Main.root.getChildren().remove(immigrant.getGroup()); - }); - this.interrupt(); - } - } - } - } - } - - -} -- cgit v1.3-3-ga95d