From 685b97e188eb07530363f48dda4e2eb1d70fcdc9 Mon Sep 17 00:00:00 2001 From: MaxKarme <91691525+MaxKarme@users.noreply.github.com> Date: Fri, 28 Oct 2022 20:18:49 +0300 Subject: [PATCH] refactoring form and make hard part --- DrawingAircraft.java | 7 ++ DrawingEngines.java | 30 ++++++++ EnginesCount.java | 5 ++ FormAircraft.form | 161 ++++++++++++++++++++++++------------------- Resources/down.png | Bin 0 -> 451 bytes Resources/left.png | Bin 0 -> 367 bytes Resources/right.png | Bin 0 -> 366 bytes Resources/up.png | Bin 0 -> 360 bytes 8 files changed, 131 insertions(+), 72 deletions(-) create mode 100644 DrawingEngines.java create mode 100644 EnginesCount.java create mode 100644 Resources/down.png create mode 100644 Resources/left.png create mode 100644 Resources/right.png create mode 100644 Resources/up.png diff --git a/DrawingAircraft.java b/DrawingAircraft.java index c7011d0..48b301a 100644 --- a/DrawingAircraft.java +++ b/DrawingAircraft.java @@ -1,8 +1,10 @@ import java.awt.*; +import java.util.Random; class DrawingAircraft { public EntityAircraft AirFighter; + public DrawingEngines drawingEngines = new DrawingEngines(); private float _startPosX; private float _startPosY; @@ -15,8 +17,11 @@ class DrawingAircraft public void Init(int speed, float weight, Color bodyColor) { + Random rnd = new Random(); + AirFighter = new EntityAircraft(); AirFighter.Init(speed, weight, bodyColor); + drawingEngines.Init(rnd.nextInt(1, 8), bodyColor); } public void SetPosition(int x, int y, int width, int height) @@ -120,6 +125,8 @@ class DrawingAircraft g.drawPolygon(wingTop); g.drawPolygon(wingBottom); g.drawRect((int)_startPosX, (int)_startPosY + 70, 160, 26); + + drawingEngines.draw(g, (int)_startPosX, (int)_startPosY); } public void ChangeBorders(int width, int height) diff --git a/DrawingEngines.java b/DrawingEngines.java new file mode 100644 index 0000000..9878094 --- /dev/null +++ b/DrawingEngines.java @@ -0,0 +1,30 @@ +import java.awt.*; + +public class DrawingEngines { + private EnginesCount enginesCount; + private Color color; + + public void Init(int count, Color bodyColor) { + if(count <= 2) enginesCount = EnginesCount.Two; + else if(count >= 6) enginesCount = EnginesCount.Six; + else enginesCount = EnginesCount.Four; + + color = bodyColor; + } + + public void draw(Graphics2D g, int startPosX, int startPosY) { + g.setPaint(color); + g.fillOval(startPosX + 90, startPosY + 10, 30, 15); + g.fillOval(startPosX + 90, startPosY + 141, 30, 15); + + if(enginesCount == EnginesCount.Two) return; + + g.fillOval(startPosX + 90, startPosY + 30, 30, 15); + g.fillOval(startPosX + 90, startPosY + 121, 30, 15); + + if(enginesCount == EnginesCount.Four) return; + + g.fillOval(startPosX + 90, startPosY + 50, 30, 15); + g.fillOval(startPosX + 90, startPosY + 101, 30, 15); + } +} diff --git a/EnginesCount.java b/EnginesCount.java new file mode 100644 index 0000000..dbea801 --- /dev/null +++ b/EnginesCount.java @@ -0,0 +1,5 @@ +public enum EnginesCount { + Two, + Four, + Six +} diff --git a/FormAircraft.form b/FormAircraft.form index fedb5cb..ee165ee 100644 --- a/FormAircraft.form +++ b/FormAircraft.form @@ -1,6 +1,7 @@
diff --git a/Resources/down.png b/Resources/down.png new file mode 100644 index 0000000000000000000000000000000000000000..7500783f52570f15ba7b977f6fa53f97342ce4f0 GIT binary patch literal 451 zcmV;!0X+VRP)