Conversation
robots/src/gui/GameDataModel.java
Outdated
| public class GameDataModel extends Observable { | ||
| double angularVelocity = 0; | ||
| int counter = 0; | ||
| private volatile double m_robotPositionX = 100; |
There was a problem hiding this comment.
PositionX и PositionY - это полноценный класс, выделите его и честно работайте с ним как с "Позицией" робота.
| double angularVelocity = 0; | ||
| int counter = 0; | ||
| private volatile double m_robotPositionX = 100; | ||
| public static String KEY_COORDINATE_ROBOT = "robot changed"; |
There was a problem hiding this comment.
сгруппируйте переменные, у Вас идут позиции и между ними KEY_COORDINATE_...
robots/src/gui/GameDataModel.java
Outdated
| private static final double maxVelocity = 0.1; | ||
| private static final double maxAngularVelocity = 0.001; | ||
|
|
||
| public double getM_robotPositionX() { |
There was a problem hiding this comment.
если позицию сгруппируете, то вместо того, чтобы на каждую координату писать по методы, сможете написать Robot.Position.X или Robot.Target.Y
robots/src/gui/GameDataModel.java
Outdated
| private volatile double m_robotPositionX = 100; | ||
| public static String KEY_COORDINATE_ROBOT = "robot changed"; | ||
| public static String KEY_COORDINATE_TARGET = "target changed"; | ||
| private volatile double m_robotPositionY = 100; |
There was a problem hiding this comment.
а выделите робота и цель в отдельные классы, это разные сущности и странно, что робот знает про некую цель.
В идеальной картине мира у Вас есть робот, который умеет как-то двигаться, есть цель и есть Game в котором находится робот и цели и как раз Game честно двигает робота к цели (или устанавливает новую точку).
robots/src/gui/GameDataModel.java
Outdated
| } | ||
|
|
||
|
|
||
| private static double distance(double x1, double y1, double x2, double y2) { |
There was a problem hiding this comment.
вынесите геометрию в отдельный класс, тут это ни к чему. Геометрию вообще говоря можно как-то переиспользовать в других класса, это нормально, поэтому посмотрите сначала, вдруг уже есть готовая библиотека)
robots/src/gui/GameVisualizer.java
Outdated
| { | ||
| m_timer.schedule(new TimerTask() | ||
| { | ||
| public static class Helpers { |
There was a problem hiding this comment.
а к чему тут этот класс?
По названию непонятно зачем он нужен, а если посмотреть внутрь, то там 1 метод сравнения.
robots/src/gui/GameWindow.java
Outdated
| { | ||
| super("Игровое поле", true, true, true, true); | ||
|
|
||
| super("������� ����", true, true, true, true); |
robots/src/gui/LogWindow.java
Outdated
| public LogWindow(LogWindowSource logSource) | ||
| { | ||
| super("Протокол работы", true, true, true, true); | ||
| super("�������� ������", true, true, true, true); |
| } | ||
| }); | ||
| testMenu.add(standartExit); | ||
| } |
There was a problem hiding this comment.
кажется, именно сюда нужно добавить меню выхода.
| private JMenuBar generateMenuBar() | ||
| { | ||
|
|
||
| private JMenuBar generateMenuBar() { |
There was a problem hiding this comment.
ох, разбейте это на три метода и оставьте только:
muneBar.add(generateLookAndFeelMenu()); muneBar.add(generateTestMenu()); muneBar.add(generateExitMenu());
Добавил всё в ветку без мусора, Робот находит путь , делая максимум 2… круга