From 5f914ddb2204452fa16aff75e34b598393cbc92e Mon Sep 17 00:00:00 2001 From: antoc0der <1@DESKTOP-K1L8ND3> Date: Wed, 8 Nov 2023 22:41:20 +0300 Subject: [PATCH] antihype commit --- src/DrawningObjects/DrawningAirplane.java | 8 ++- src/FormAirplaneWithRadar.java | 67 ++++++++++++++++------- src/Main.java | 3 +- 3 files changed, 55 insertions(+), 23 deletions(-) diff --git a/src/DrawningObjects/DrawningAirplane.java b/src/DrawningObjects/DrawningAirplane.java index afe5b4d..3430f6a 100644 --- a/src/DrawningObjects/DrawningAirplane.java +++ b/src/DrawningObjects/DrawningAirplane.java @@ -1,7 +1,8 @@ package src.DrawningObjects; - import src.DirectionType; import src.Entities.EntityAirplane; +import src.MovementStrategy.DrawningObjectAirplane; +import src.MovementStrategy.IMoveableObject; import java.awt.*; import java.util.Random; @@ -68,12 +69,17 @@ public class DrawningAirplane { return; _startPosX = x; _startPosY = y; + DrawningIlluminators.ChangeX(_startPosX); + DrawningIlluminators.ChangeY(_startPosY); if (x < 0 || y < 0 || x + _airplaneWidth >= _pictureWidth || y + _airplaneHeight >= _pictureHeight) { x = y = 10; _startPosX = x; _startPosY = y; } } + public IMoveableObject GetMoveableObject(){ + return new DrawningObjectAirplane(this); + } public int GetPosX(){return _startPosX;} public int GetPosY(){return _startPosY;} public int GetWidth(){return _airplaneWidth;} diff --git a/src/FormAirplaneWithRadar.java b/src/FormAirplaneWithRadar.java index a983c05..c6c00ff 100644 --- a/src/FormAirplaneWithRadar.java +++ b/src/FormAirplaneWithRadar.java @@ -1,9 +1,8 @@ package src; - import src.DrawningObjects.DrawningAirplane; - import src.MovementStrategy.*; import src.DrawningObjects.DrawningAirplaneWithRadar; +import org.w3c.dom.ranges.DocumentRange; import javax.swing.*; import java.awt.*; @@ -17,16 +16,25 @@ public class FormAirplaneWithRadar { Canvas canv; static int pictureBoxWidth = 882; static int pictureBoxHeight = 453; - + public JButton buttonSelect; + public JFrame AirplaneFrame; public void Draw(){ canv.repaint(); } - + public Color ChooseColor(JFrame MonorailFrame){ + JColorChooser dialog = new JColorChooser(); + Color res = JColorChooser.showDialog(MonorailFrame, "Выберите цвет", Color.WHITE); + return res; + } + public DrawningAirplane SelectedAirplane(){ + return DrawningAirplane; + } public FormAirplaneWithRadar(){ - JFrame MonorailFrame =new JFrame (); + AirplaneFrame =new JFrame (); JButton buttonCreate = new JButton("Создать"); JButton buttonCreateLocomotive = new JButton("Создать самолет с радаром"); JButton buttonStep = new JButton("Шаг"); + buttonSelect = new JButton ("Выбрать"); JComboBox comboBoxStrategy = new JComboBox( new String[]{ "Довести до центра", @@ -89,8 +97,13 @@ public class FormAirplaneWithRadar { @Override public void actionPerformed(ActionEvent e) { Random random = new Random(); + Color color = new Color(random.nextInt(0, 256), random.nextInt(0, 256), random.nextInt(0, 256)); + Color choosen = ChooseColor(AirplaneFrame); + if(choosen != null){ + color = choosen; + } DrawningAirplane = new DrawningAirplane(random.nextInt(100, 300), random.nextDouble(1000, 3000), - Color.getHSBColor(random.nextInt(0, 301), random.nextInt(0, 301), random.nextInt(0, 301)), + color, pictureBoxWidth, pictureBoxHeight); canv.DrawningAirplane = DrawningAirplane; comboBoxStrategy.enable(true); @@ -102,9 +115,19 @@ public class FormAirplaneWithRadar { new ActionListener() { public void actionPerformed(ActionEvent e){ Random random = new Random(); + Color color = new Color(random.nextInt(0, 256), random.nextInt(0, 256), random.nextInt(0, 256)); + Color additionalColor = new Color(random.nextInt(0, 256), random.nextInt(0, 256), random.nextInt(0, 256)); + Color choosen = ChooseColor(AirplaneFrame); + if(choosen != null){ + color = choosen; + } + choosen = ChooseColor(AirplaneFrame); + if(choosen != null){ + additionalColor = choosen; + } DrawningAirplane = new DrawningAirplaneWithRadar(random.nextInt(100, 300), random.nextDouble(1000, 3000), - Color.getHSBColor(random.nextInt(0, 301), random.nextInt(0, 301), random.nextInt(0, 301)), - Color.getHSBColor(random.nextInt(0, 301), random.nextInt(0, 301), random.nextInt(0, 301)), + color, + additionalColor, random.nextBoolean(), random.nextBoolean(), pictureBoxWidth, pictureBoxHeight); canv.DrawningAirplane = DrawningAirplane; @@ -151,11 +174,12 @@ public class FormAirplaneWithRadar { } }); - MonorailFrame.setSize (900, 500); - MonorailFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); - MonorailFrame.setLayout(null); + AirplaneFrame.setSize (900, 500); + AirplaneFrame.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE); + AirplaneFrame.setLayout(null); canv = new Canvas(); canv.setSize(pictureBoxWidth, pictureBoxHeight); + buttonSelect.setBounds(383,401, 180, 40); buttonCreate.setBounds(198, 401, 180, 40); buttonCreateLocomotive.setBounds(12, 401, 180, 40); RightButton.setBounds(840,411,30,30); @@ -164,16 +188,17 @@ public class FormAirplaneWithRadar { DownButton.setBounds(804,411,30,30); comboBoxStrategy.setBounds(719,12,151,28); buttonStep.setBounds(768, 46, 94, 29); - MonorailFrame.add(canv); - MonorailFrame.add(buttonCreate); - MonorailFrame.add(buttonCreateLocomotive); - MonorailFrame.add(UpButton); - MonorailFrame.add(DownButton); - MonorailFrame.add(LeftButton); - MonorailFrame.add(RightButton); - MonorailFrame.add(comboBoxStrategy); - MonorailFrame.add(buttonStep); - MonorailFrame.setVisible(true); + AirplaneFrame.add(canv); + AirplaneFrame.add(buttonCreate); + AirplaneFrame.add(buttonCreateLocomotive); + AirplaneFrame.add(UpButton); + AirplaneFrame.add(DownButton); + AirplaneFrame.add(LeftButton); + AirplaneFrame.add(RightButton); + AirplaneFrame.add(comboBoxStrategy); + AirplaneFrame.add(buttonStep); + AirplaneFrame.add(buttonSelect); + AirplaneFrame.setVisible(true); } } class Canvas extends JComponent{ diff --git a/src/Main.java b/src/Main.java index 246dd76..74fcc09 100644 --- a/src/Main.java +++ b/src/Main.java @@ -14,6 +14,7 @@ import javax.swing.*; public class Main { public static void main(String[] args) throws IOException { - FormAirplaneWithRadar form = new FormAirplaneWithRadar(); + FormAirplaneCollection form =new FormAirplaneCollection(); + //FormForHard form = new FormForHard(); } } \ No newline at end of file