From 35c8287d32c302222c12416528a9a30412bda477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=9A=D1=80?= =?UTF-8?q?=D1=8E=D0=BA=D0=BE=D0=B2?= Date: Sat, 16 Dec 2023 17:15:08 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D1=81=20src?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 3 + .idea/PIbd-21_Kryukov_A_I_Excavator_HARD.iml | 11 ++ .idea/misc.xml | 6 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + src/Direction.java | 9 ++ src/DrawningRollers.java | 65 ++++++++ src/DrawningTracktor.java | 157 +++++++++++++++++++ src/EntityTracktor.java | 31 ++++ src/FormTracktor.form | 83 ++++++++++ src/FormTracktor.java | 94 +++++++++++ src/Program.java | 8 + src/Resources/down'.png | Bin 0 -> 1378 bytes src/Resources/left.png | Bin 0 -> 1052 bytes src/Resources/right.png | Bin 0 -> 1108 bytes src/Resources/up.png | Bin 0 -> 1226 bytes src/RollersCount.java | 5 + 17 files changed, 486 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/PIbd-21_Kryukov_A_I_Excavator_HARD.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 src/Direction.java create mode 100644 src/DrawningRollers.java create mode 100644 src/DrawningTracktor.java create mode 100644 src/EntityTracktor.java create mode 100644 src/FormTracktor.form create mode 100644 src/FormTracktor.java create mode 100644 src/Program.java create mode 100644 src/Resources/down'.png create mode 100644 src/Resources/left.png create mode 100644 src/Resources/right.png create mode 100644 src/Resources/up.png create mode 100644 src/RollersCount.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/PIbd-21_Kryukov_A_I_Excavator_HARD.iml b/.idea/PIbd-21_Kryukov_A_I_Excavator_HARD.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/.idea/PIbd-21_Kryukov_A_I_Excavator_HARD.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6f29fee --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..7c051de --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Direction.java b/src/Direction.java new file mode 100644 index 0000000..1e4bdf4 --- /dev/null +++ b/src/Direction.java @@ -0,0 +1,9 @@ + +public enum Direction { + Up, + Down, + Left, + Right +} + + diff --git a/src/DrawningRollers.java b/src/DrawningRollers.java new file mode 100644 index 0000000..5b0064d --- /dev/null +++ b/src/DrawningRollers.java @@ -0,0 +1,65 @@ +import java.awt.*; +import java.util.Random; + +public class DrawningRollers { + private RollersCount rollersCount; + private Color colorRollers; + + void setRollersCount(int count){ + switch (count) { + case 4 -> rollersCount = RollersCount.Four; + case 5 -> rollersCount = RollersCount.Five; + case 6 -> rollersCount = RollersCount.Six; + default -> rollersCount = RollersCount.Four; + } + } + + public void Init(int count, Color colorRollers){ + setRollersCount(count); + this.colorRollers = colorRollers; + } + + public void DrawRollers(Graphics g, float _startPosX, float _startPosY){ + Color penColor = Color.BLACK; + Color mainColor = colorRollers==null ? Color.LIGHT_GRAY : colorRollers; + + // Крупные катки - всегда + g.setColor(mainColor); + g.fillOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22); + g.setColor(penColor); + g.drawOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22); + g.setColor(mainColor); + g.fillOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22); + g.setColor(penColor); + g.drawOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22); + + // Малые катки - всегда + g.setColor(mainColor); + g.fillOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6); + g.setColor(penColor); + g.drawOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6); + g.setColor(mainColor); + g.fillOval((int)_startPosX + 61, (int)_startPosY + 58, 6, 6); + g.setColor(penColor); + g.drawOval((int)_startPosX + 61, (int)_startPosY + 58, 6, 6); + + // Средние катки - не всегда + switch (rollersCount){ + case Six: + g.setColor(mainColor); + g.fillOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10); + g.setColor(penColor); + g.drawOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10); + case Five: + g.setColor(mainColor); + g.fillOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10); + g.setColor(penColor); + g.drawOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10); + } + + // Центры крупных катков + g.setColor(Color.BLACK); + g.fillOval((int)_startPosX + 13, (int)_startPosY + 68, 6, 6); + g.fillOval((int)_startPosX + 91, (int)_startPosY + 68, 6, 6); + } +} diff --git a/src/DrawningTracktor.java b/src/DrawningTracktor.java new file mode 100644 index 0000000..6038bc7 --- /dev/null +++ b/src/DrawningTracktor.java @@ -0,0 +1,157 @@ +import java.awt.*; + +// Класс, отвечающий за прорисовку и перемещение объекта-сущности +public class DrawningTracktor { + private EntityTracktor Tracktor; // Класс-сущность + private float _startPosX; // Левая координата отрисовки трактора + private float _startPosY; // Верхняя кооридната отрисовки трактора + private Integer _pictureWidth = null; // Ширина окна отрисовки + private Integer _pictureHeight = null; // Высота окна отрисовки + private final int _tracktorWidth = 110; // Ширина отрисовки трактора + private final int _tracktorHeight = 87; // Высота отрисовки трактора + + private DrawningRollers drawningRollers; + + // Инициализация свойств + public void Init(int speed, float weight, Color bodyColor, int countRollers) + { + Tracktor = new EntityTracktor(); + Tracktor.Init(speed, weight, bodyColor); + drawningRollers = new DrawningRollers(); + drawningRollers.Init(countRollers, bodyColor); + } + + // Установка позиции Трактора + public void SetPosition(int x, int y, int width, int height) + { + if (x + _tracktorWidth > width || + x < 0 || + y + _tracktorHeight > height || + y < 0) + { + return; + } + _startPosX = x; + _startPosY = y; + _pictureWidth = width; + _pictureHeight = height; + } + + // Изменение направления перемещения + public void MoveTransport(Direction direction) + { + if (_pictureWidth == null || _pictureHeight == null) + { + return; + } + switch (direction) + { + // вправо + case Right: + if (_startPosX + _tracktorWidth + Tracktor.getStep() < _pictureWidth) + { + _startPosX += Tracktor.getStep(); + } + break; + //влево + case Left: + if (_startPosX - Tracktor.getStep() > 0) + { + _startPosX -= Tracktor.getStep(); + } + break; + //вверх + case Up: + if (_startPosY - Tracktor.getStep() > 0) + { + _startPosY -= Tracktor.getStep(); + } + break; + //вниз + case Down: + if (_startPosY + _tracktorHeight + Tracktor.getStep() < _pictureHeight) + { + _startPosY += Tracktor.getStep(); + } + break; + } + } + + // Отрисовка Трактора + public void DrawTransport(Graphics g) + { + if (_startPosX < 0 || _startPosY < 0 || _pictureHeight == null || _pictureWidth == null) + { + return; + } + Color penColor = Color.BLACK; + + // корпус + Color br = Tracktor!=null ? Tracktor.getBodyColor() : Color.GRAY ; + g.setColor(br); + g.fillRect((int)_startPosX + 10, (int)_startPosY + 30, 90, 25); + g.setColor(penColor); + g.drawRect((int)_startPosX + 10, (int)_startPosY + 30, 90, 25); + + // окно + g.setColor(Color.CYAN); + g.fillRect((int)_startPosX + 65, (int)_startPosY + 1, 30, 29); + g.setColor(penColor); + g.drawRect((int)_startPosX + 65, (int)_startPosY + 1, 30, 29); + + // труба + g.setColor(Color.RED); + g.fillRect((int)_startPosX + 30, (int)_startPosY + 10, 10, 20); + g.setColor(penColor); + g.drawRect((int)_startPosX + 30, (int)_startPosY + 10, 10, 20); + + // гусеница + g.setColor(Color.DARK_GRAY); + g.fillOval((int)_startPosX + 1, (int)_startPosY + 57, 20, 20); + g.setColor(penColor); + g.drawOval((int)_startPosX + 1, (int)_startPosY + 57, 20, 20); + g.setColor(Color.DARK_GRAY); + g.fillOval((int)_startPosX + 1, (int)_startPosY + 65, 20, 20); + g.setColor(penColor); + g.drawOval((int)_startPosX + 1, (int)_startPosY + 65, 20, 20); + g.setColor(Color.DARK_GRAY); + g.fillOval((int)_startPosX + 90, (int)_startPosY + 57, 20, 20); + g.setColor(penColor); + g.drawOval((int)_startPosX + 90, (int)_startPosY + 57, 20, 20); + g.setColor(Color.DARK_GRAY); + g.fillOval((int)_startPosX + 90, (int)_startPosY + 65, 20, 20); + g.setColor(penColor); + g.drawOval((int)_startPosX + 90, (int)_startPosY + 65, 20, 20); + g.setColor(Color.DARK_GRAY); + g.fillRect((int)_startPosX + 10, (int)_startPosY + 57, 90, 30); + g.fillRect((int)_startPosX + 1, (int)_startPosY + 65, 110, 10); + g.setColor(penColor); + g.drawLine((int)_startPosX + 10, (int)_startPosY + 57, (int)_startPosX + 100, (int)_startPosY + 57); + g.drawLine((int)_startPosX + 10, (int)_startPosY + 86, (int)_startPosX + 100, (int)_startPosY + 86); + g.drawLine((int)_startPosX + 1, (int)_startPosY + 65, (int)_startPosX + 1, (int)_startPosY + 75); + g.drawLine((int)_startPosX + 110, (int)_startPosY + 65, (int)_startPosX + 110, (int)_startPosY + 75); + + drawningRollers.DrawRollers(g,_startPosX, _startPosY); + } + + // Смена границ формы отрисовки + public void ChangeBorders(int width, int height) + { + _pictureWidth = width; + _pictureHeight = height; + if (_pictureWidth <= _tracktorWidth || _pictureHeight <= _tracktorHeight) + { + _pictureWidth = null; + _pictureHeight = null; + return; + } + if (_startPosX + _tracktorWidth > _pictureWidth) + { + _startPosX = _pictureWidth - _tracktorWidth; + } + if (_startPosY + _tracktorHeight > _pictureHeight) + { + _startPosY = _pictureHeight - _tracktorHeight; + } + } +} diff --git a/src/EntityTracktor.java b/src/EntityTracktor.java new file mode 100644 index 0000000..f6c85e9 --- /dev/null +++ b/src/EntityTracktor.java @@ -0,0 +1,31 @@ +import java.awt.*; +import java.util.Random; + +// Класс-сущность "Трактор" +public class EntityTracktor { + private int Speed; + private float Weight; + private Color BodyColor; + + public int getSpeed() { + return Speed; + } + public float getWeight(){ + return Weight; + } + public Color getBodyColor(){ + return BodyColor; + } + public float getStep(){ + return Speed * 100 / Weight; + } + + // Инициализация полей объекта-класса Трактора + public void Init(int speed, float weight, Color bodyColor) + { + Random rnd = new Random(); + Speed = speed <= 0 ? rnd.nextInt(50, 150) : speed; + Weight = weight <= 0 ? rnd.nextInt(40, 70) : weight; + BodyColor = bodyColor; + } +} diff --git a/src/FormTracktor.form b/src/FormTracktor.form new file mode 100644 index 0000000..89d74f5 --- /dev/null +++ b/src/FormTracktor.form @@ -0,0 +1,83 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/FormTracktor.java b/src/FormTracktor.java new file mode 100644 index 0000000..fc244fb --- /dev/null +++ b/src/FormTracktor.java @@ -0,0 +1,94 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; +import java.util.Random; + +public class FormTracktor extends JFrame { + private JPanel ContentPanel; + private JButton buttonCreate; + private JLabel speedLabel; + private JLabel weightLabel; + private JLabel colorLabel; + private JButton buttonLeft; + private JButton buttonDown; + private JButton buttonRight; + private JButton buttonUp; + private JPanel pictureBox; + + private DrawningTracktor _tracktor; + + public FormTracktor(){ + setTitle("Трактор"); + setContentPane(ContentPanel); + setSize(800, 500); + + // Обработка нажатия кнопки "Создать" + buttonCreate.addActionListener(e->{ + Random rnd = new Random(); + _tracktor = new DrawningTracktor(); + + _tracktor.Init( + rnd.nextInt(100, 300), + rnd.nextInt(1000, 2000), + new Color(rnd.nextInt(0, 256), rnd.nextInt(0, 256), rnd.nextInt(0, 256)), + rnd.nextInt(3,8) + ); + + _tracktor.SetPosition( + rnd.nextInt(10, 100), + rnd.nextInt(10, 100), + pictureBox.getWidth(), pictureBox.getHeight() + ); + repaint(); + }); + + buttonUp.addActionListener(e->{ + if (_tracktor != null){ + _tracktor.MoveTransport(Direction.Up); + repaint(); + } + }); + + buttonLeft.addActionListener(e->{ + if (_tracktor != null){ + _tracktor.MoveTransport(Direction.Left); + repaint(); + } + }); + + buttonDown.addActionListener(e->{ + if (_tracktor != null){ + _tracktor.MoveTransport(Direction.Down); + repaint(); + } + }); + + buttonRight.addActionListener(e->{ + if (_tracktor != null){ + _tracktor.MoveTransport(Direction.Right); + repaint(); + } + }); + + pictureBox.addComponentListener(new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { + super.componentResized(e); + if (_tracktor != null){ + _tracktor.ChangeBorders(e.getComponent().getWidth(), e.getComponent().getHeight()); + repaint(); + } + } + }); + } + + @Override + public void paint(Graphics g){ + super.paint(g); + g = pictureBox.getGraphics(); + if (_tracktor != null){ + _tracktor.DrawTransport(g); + } + } +} diff --git a/src/Program.java b/src/Program.java new file mode 100644 index 0000000..c29ed1f --- /dev/null +++ b/src/Program.java @@ -0,0 +1,8 @@ +import javax.swing.*; +public class Program { + public static void main(String[] args){ + FormTracktor formTracktor = new FormTracktor(); + formTracktor.setVisible(true); + formTracktor.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + } +} diff --git a/src/Resources/down'.png b/src/Resources/down'.png new file mode 100644 index 0000000000000000000000000000000000000000..1dca7cbe439a90332656fc0edf2e5d66811ef558 GIT binary patch literal 1378 zcmV-o1)chdP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&1oufqK~zXfomPEJ zRb?E0&beGZFH#t#I7ActSd^j5j~JM-SVm$49V@8*$Rq~;WI4A!HmlViE?u$ZW=mzT zNoMJAwrbOyuBCI%ndlZX0X3~O^TLJuaqcucnacwUL>kkO~WC z#6p<7R@4vMN*DwONd=U$5w$EZ8t{)WCsCW$Yn%rnCNLZX!d$aBXWN#0DjrD%G);qU z*%%1{0U?WsC_}_Gc@B|066HYY^gw14V+;?-#=nq3Yw1Cly-glz20aK;M0%xBK>ZI7 zq#|{S2yuX3h>(zrZkU#fK$HToMSzn@Fh-II9uzBwDG+3nNJzLN5+XKJ1a#(QtQ?r! zb?w?UcX&HARu11c=0IUMtivRa6imp_DWGB=jF$sRW_x=(T3cITS(3FFIL#2ntPVvq zCY4o1LTQF!GfYxFvQa`5FVNlH4Zq(H-Q)3~rltm6U0o=Ba3=P3edKIN@uoUGE7b|d z2&+cOO>#+I#4~y6B+8>hbnM7}JXT(cj*dcG(-a#6qfN#0M{lE;5BJr^pw zUMbJQJ|3N+wA>nXU#(J$UozD@J4|)D*H-5)+G@*gQ&lvZYRWT8WzO3vey~-jv`U^` za#F2tS>rM)W@r?)wrxh>%e9z1YbGYI?1yj8CRncJ5*Fzt(T3aG^g_RD5wgmAkym#V z=`>hBQH~97eBd%l07s#&VFT{Y-iyJ3i;OGtkW&gpCezYlap!g6B$+MBImHB}OnLxm zzS)isgWs*iC)?h{l>8!>@eTpO!2^2`Ik^G4muEzHe)bX|slcqcrC42+hnpu4LeF3>+EvC zZ{hu|dt++}kW@g>x$hh>u+pg@O-kh-FfV#0Z`p6|#i8$yyOW7Arhs6}=67-F*hY95 z4kxWNUQg3;`BW#KUa4=jFxUNx{G{d_z02ef!7m zuH+b3AS?SGyt=Le*DoB1<(4NdpZ^@2USEa$f;q8GV_;kXLBoqJSUCL`^k2Gx{wudI zf7$?^Ygp^9j*XPCIY4Y2B9D(BRE`75C8xG07*qoM6N<$f-^d9NB{r; literal 0 HcmV?d00001 diff --git a/src/Resources/left.png b/src/Resources/left.png new file mode 100644 index 0000000000000000000000000000000000000000..2e6d550d8f6f31548e46424489d27c5ed102d23c GIT binary patch literal 1052 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 literal 0 HcmV?d00001 diff --git a/src/RollersCount.java b/src/RollersCount.java new file mode 100644 index 0000000..7b9cdbe --- /dev/null +++ b/src/RollersCount.java @@ -0,0 +1,5 @@ +public enum RollersCount { + Four, + Five, + Six +}