From f13d7a60f8f5e6feffd9957e2d6847ef7d0ef14d Mon Sep 17 00:00:00 2001 From: ilyaryabovv Date: Thu, 7 Mar 2024 17:47:15 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectStormtrooper/Resources/arrowDown.jpg | Bin 0 -> 857 bytes ProjectStormtrooper/Resources/arrowLeft.jpg | Bin 0 -> 800 bytes ProjectStormtrooper/Resources/arrowRight.jpg | Bin 0 -> 786 bytes ProjectStormtrooper/Resources/arrowUp.jpg | Bin 0 -> 453 bytes ProjectStormtrooper/src/DrawingEngines.java | 36 +++++-- .../src/DrawingStormtrooper.java | 27 +----- .../src/EntityStormtrooper.java | 1 - ProjectStormtrooper/src/FormStormtrooper.java | 89 ++++++++---------- 8 files changed, 72 insertions(+), 81 deletions(-) create mode 100644 ProjectStormtrooper/Resources/arrowDown.jpg create mode 100644 ProjectStormtrooper/Resources/arrowLeft.jpg create mode 100644 ProjectStormtrooper/Resources/arrowRight.jpg create mode 100644 ProjectStormtrooper/Resources/arrowUp.jpg diff --git a/ProjectStormtrooper/Resources/arrowDown.jpg b/ProjectStormtrooper/Resources/arrowDown.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6d11c1f6d11849107b51f3999c0134907adc1bc5 GIT binary patch literal 857 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT1|$ph9<=}|#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DinK$vl=HlH*D1JgTC7srr_xVLxq`h7|eIq>nYcD!iB9S#k( zxW-+Us}v6wu*PsSE@=L!wu8l7&8Ndky4T9WXadKPshuALFHUzpXT9f!a&G0XEfYR_ z&pYul;L`r2ZdJB@%N_oFXy4amDb%KzD1l5Y{KJ%QH1ojY$I2~-6K_3Q_pyS<-QC?p zvn4TPRoH5YsMlFrqrSX(rBSbWG|8}PNx!uH+)vi%hM<{=k9+E{M4My(m(Jslzj(-g zyZ80>ZRsmnrqShMANw90KFk~wAAecQ_T2gNiP_oNW%uu_id)aVG>B8ElO=bi@$SIv zM=xK#JZ}4_H2QDd{Jw9?A9S@ zJ@b>jdfxz^FTDNs(i8nghlG_HCkiE|crAVK_;IsZ zeTUoP4`08!PA>Ltbv&6;^zH7=8#fl{-n)7Ke*3`$hs#CN_&%S1{(SlJLOwpe2VcKV zUG`LyyLnGnaYY4(zP`T6%7rF8hb#^zOi=qS+U;6VSGUY_;mh~z;lSvy(cQ7@)Keqd z*;VUW9VdDm`O*-w#%rn5`A2-=hZnqjdHKtMX_4aM;#MChbdEhxKo^{VLGv$eMlDQs@ux{Iro>8&gO+Qbk2=hN8tX2{CRUzYn4SSR~= z_Sv((x2L~RS645nulJv97j;;nX0o{qU*@m7FJEfjxqJ8GlIh;s{cc5kJ~TJQ8<-s!JYD@<);T3K0RWP0k$?aI literal 0 HcmV?d00001 diff --git a/ProjectStormtrooper/Resources/arrowLeft.jpg b/ProjectStormtrooper/Resources/arrowLeft.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c49840c483399732cc2c44c6d1c778b40319d929 GIT binary patch literal 800 zcmV+*1K<3KP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0<}p*K~#8N?cCXp zDM1{^@v`qra4Q~!Hy~n(i1%>o%1d}CFTsTy#J(@*_?iDnPDVG4u2$9Rn^gFBGMdlO zGwB%|e=afAO-{O0{Yt^;q+oPXFght1ojwZF@Ap}^+oegYJ_fT|tym_LVVzEgwuse7 zV1N=1hp*S8(dhM3v@D1DA4TLWg^>jXSq8J&Y@|U!mcVScTNVrkX_6!EFhB_e0yN1J zSD4*yCnXBv1_Kno-%pc#aez&AZ)h({#VLVNRzLbGzL%i62gNq|<4d^n2^2 zbUvS@LP19F@5?Yiak*SH*{_#i?2dw-hQTq#?kMOf7#WW#uVxqqKfJ!-nes2gFiz)7 zha+h-^k^Lp2VMJ~9>RPh3c3sPttdzr=9^KFCd{{^pc@#4^3x3rP64Pc;k3i=>h(HK zMc8r;1_OGO_tS(ymuHUV4a>gXhC$V8RrAJWUZ%jHN~NN?16h}8Fvw0grote*;Fu1B z?0~}s29?WY%^k|JxWS-Osie7685UOG5ZJ%S}vE@%i(Z%y%epFe@qI1M0~HL`urH3KK4=)Jq4qag3(FA e=%ipYW9%>W$5}MsV;s literal 0 HcmV?d00001 diff --git a/ProjectStormtrooper/Resources/arrowRight.jpg b/ProjectStormtrooper/Resources/arrowRight.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9ec90718323e9658ad1a9ab5ca1f38a4c173a894 GIT binary patch literal 786 zcmV+t1MU2YP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0;fqtK~#8N?VL%D z;xH73O)<|i3l>}mgcyW411Dg`io>wr8Z5a48(4vuXXvUQyfskUh+by-;hmc}AoeuMOJe0i$A;skL z`NuXEi#@jQK{oMbXdnLS7$2CUa>TjfY220%_K zm7>gAq!I&Gs})P9)0A0HMHT);X)%a)yG>R8 zi}GR+&w38mw8LyRW5r^TGH3E#gY+|aX7H?UC@)6qgi%_||3(pI#k?9?l@#+z3Q$fA zj})MknEU-st=A|c=61X3TGyw9nCtb*K0fr7>Uc5eDSEGL0!NF16umv=FOC&sL<-<~ zCC*WqFe(LbU)1mQdMp}^TE1dC91gSLaQIk6@Eb0d3-kGWloX2cLW;o+ zTi{(%fRK+#8IQ-TP$;lcsYHA1$9;Z`22y=p+lebi16Pa&t{4qmF;8La6K#UdHQy}V Qr~m)}07*qoM6N<$f{Lb9A^-pY literal 0 HcmV?d00001 diff --git a/ProjectStormtrooper/Resources/arrowUp.jpg b/ProjectStormtrooper/Resources/arrowUp.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2eaea0f73f4227245e6e9b009c4242b57ffddc17 GIT binary patch literal 453 zcmeAS@N?(olHy`uVBq!ia0vp^Zb0nL!3HFE6&Wf5DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoCO|{#S9F5M?jcysy3fAP(zfbi(^Pd+}k_Rd50VXSOaJOU4N6&HB-}T zhe3Z`kMGo!kCu1a1>?njUtiq&uk`oNCH9QUOm16v&g^@C|Gbti<7ep<(K$sk(gn01 zOgXfNX~i+k=FG@FLd#i}r9ae~Q!-_cmt5yI2 literal 0 HcmV?d00001 diff --git a/ProjectStormtrooper/src/DrawingEngines.java b/ProjectStormtrooper/src/DrawingEngines.java index ff2e828..5e0a692 100644 --- a/ProjectStormtrooper/src/DrawingEngines.java +++ b/ProjectStormtrooper/src/DrawingEngines.java @@ -2,20 +2,44 @@ import java.awt.*; public class DrawingEngines { private NumberOfEngines numberOfEngines; - public NumberOfEngines getNumberOfEngines() { return numberOfEngines; } - DrawingEngines (int a){ - setAmountOfEngines(a); - } public void setAmountOfEngines(int amount){ if(NumberOfEngines.contains(amount)) { numberOfEngines = NumberOfEngines.getNumber(amount); } } - public void DrawDecks(Graphics g, int x, int y, int width, int height, Color bodyColor) { + public void DrawEngines(Graphics g, int x, int y, Color bodyColor) { g.setColor(bodyColor); - g.fillRect(x, y, width, height); + g.fillRect(x, y, 10, 10); + } + + private void drawTwoEngines(Graphics g, int x, int y, Color bodyColor){ + DrawEngines(g,x + 65, y + 50, bodyColor); + DrawEngines(g,x + 65, y + 81,bodyColor); + } + private void drawFourEngines(Graphics g, int x, int y, Color bodyColor){ + DrawEngines(g,x + 62, y + 10,bodyColor); + DrawEngines(g,x + 64, y + 101,bodyColor); + DrawEngines(g,x + 64, y + 30,bodyColor); + DrawEngines(g,x + 62, y + 121,bodyColor); + } + private void drawSixEngines(Graphics g, int x, int y, Color bodyColor){ + drawFourEngines(g,x,y,bodyColor); + drawTwoEngines(g,x,y,bodyColor); + } + public void SwitchDrawEngines(Graphics g, int x, int y, Color bodyColor){ + switch(getNumberOfEngines()){ + case TWO: + drawTwoEngines(g,x,y,bodyColor); + break; + case FOUR: + drawFourEngines(g,x,y,bodyColor); + break; + case SIX: + drawSixEngines(g,x,y,bodyColor); + break; + } } } diff --git a/ProjectStormtrooper/src/DrawingStormtrooper.java b/ProjectStormtrooper/src/DrawingStormtrooper.java index fcb9248..3b5b70e 100644 --- a/ProjectStormtrooper/src/DrawingStormtrooper.java +++ b/ProjectStormtrooper/src/DrawingStormtrooper.java @@ -49,13 +49,13 @@ public class DrawingStormtrooper { EntityStormtrooper = new EntityStormtrooper(); EntityStormtrooper.Init(speed, weight, bodyColor, additionalColor, rockets,bombs ,engines); if(engines==true){ - drawingEngines = new DrawingEngines((int)((Math.random()*3)+1)*2); + drawingEngines = new DrawingEngines(); + drawingEngines.setAmountOfEngines((int)((Math.random()*3)+1)*2);; } _startPosX=null; _startPosY=null; _pictureWidth = null; _pictureHeight = null; - } /// /// Установка границ поля @@ -203,6 +203,7 @@ public class DrawingStormtrooper { g.drawLine(_startPosX+ 50, _startPosY, _startPosX + 60, _startPosY); g.drawLine(_startPosX+ 60, _startPosY, _startPosX + 65, _startPosY + 60); ///Нос бомбардировщика + g.setColor(EntityStormtrooper.getBodyColor()); Point[] Nose = new Point[3]; int[] arrX = {_startPosX + 20, _startPosX,_startPosX+20}; int[] arrY = {_startPosY + 80,_startPosY + 70,_startPosY + 60}; @@ -214,7 +215,6 @@ public class DrawingStormtrooper { g.setColor(EntityStormtrooper.getAdditionalColor()); g.fillRect( _startPosX + 35, _startPosY + 20, 15, 5); g.fillRect( _startPosX + 35, _startPosY + 110, 15, 5); - } //Бомбы бомбардировщика if (EntityStormtrooper.getBombs()) @@ -224,26 +224,7 @@ public class DrawingStormtrooper { g.fillRect(_startPosX + 40, _startPosY + 90, 10, 10); } if(EntityStormtrooper.getEngines() && drawingEngines!=null){ - switch(drawingEngines.getNumberOfEngines()){ - case TWO: - drawingEngines.DrawDecks(g,_startPosX + 65, _startPosY + 50, 10, 10,EntityStormtrooper.getBodyColor()); - drawingEngines.DrawDecks(g,_startPosX + 65, _startPosY + 81, 10, 10,EntityStormtrooper.getBodyColor()); - break; - case FOUR: - drawingEngines.DrawDecks(g,_startPosX + 62, _startPosY + 10, 10, 10,EntityStormtrooper.getBodyColor()); - drawingEngines.DrawDecks(g,_startPosX + 64, _startPosY + 101, 10, 10,EntityStormtrooper.getBodyColor()); - drawingEngines.DrawDecks(g,_startPosX + 64, _startPosY + 30, 10, 10,EntityStormtrooper.getBodyColor()); - drawingEngines.DrawDecks(g,_startPosX + 62, _startPosY + 121, 10, 10,EntityStormtrooper.getBodyColor()); - break; - case SIX: - drawingEngines.DrawDecks(g,_startPosX + 62, _startPosY + 10, 10, 10,EntityStormtrooper.getBodyColor()); - drawingEngines.DrawDecks(g,_startPosX + 64, _startPosY + 30, 10, 10,EntityStormtrooper.getBodyColor()); - drawingEngines.DrawDecks(g,_startPosX + 65, _startPosY + 50, 10, 10,EntityStormtrooper.getBodyColor()); - drawingEngines.DrawDecks(g,_startPosX + 65, _startPosY + 81, 10, 10,EntityStormtrooper.getBodyColor()); - drawingEngines.DrawDecks(g,_startPosX + 64, _startPosY + 101, 10, 10,EntityStormtrooper.getBodyColor()); - drawingEngines.DrawDecks(g,_startPosX + 62, _startPosY + 121, 10, 10,EntityStormtrooper.getBodyColor()); - break; - } + drawingEngines.SwitchDrawEngines(g, _startPosX, _startPosY, EntityStormtrooper.getBodyColor()); } } } diff --git a/ProjectStormtrooper/src/EntityStormtrooper.java b/ProjectStormtrooper/src/EntityStormtrooper.java index b314e74..4fb6a2f 100644 --- a/ProjectStormtrooper/src/EntityStormtrooper.java +++ b/ProjectStormtrooper/src/EntityStormtrooper.java @@ -12,7 +12,6 @@ public class EntityStormtrooper { public Color getBodyColor() { return BodyColor; } - private Color AdditionalColor; public Color getAdditionalColor() { return AdditionalColor; diff --git a/ProjectStormtrooper/src/FormStormtrooper.java b/ProjectStormtrooper/src/FormStormtrooper.java index e0ca133..0dca398 100644 --- a/ProjectStormtrooper/src/FormStormtrooper.java +++ b/ProjectStormtrooper/src/FormStormtrooper.java @@ -7,16 +7,16 @@ import java.awt.event.ComponentEvent; import java.util.Random; public class FormStormtrooper extends JFrame { - private String title; - private Dimension dimension; + private final String title; + private final Dimension dimension; private int Width; private int Height; - private CanvasStormtrooper canvasStormtrooper = new CanvasStormtrooper(); - private JButton CreateButton = new JButton("Создать");; - private JButton UpButton = new JButton(); - private JButton DownButton = new JButton();; - private JButton LeftButton = new JButton();; - private JButton RightButton = new JButton(); + private final CanvasStormtrooper canvasStormtrooper = new CanvasStormtrooper(); + private final JButton CreateButton = new JButton("Создать"); + private final JButton UpButton = new JButton(); + private final JButton DownButton = new JButton(); + private final JButton LeftButton = new JButton(); + private final JButton RightButton = new JButton(); public FormStormtrooper(String title, Dimension dimension) { this.title = title; this.dimension = dimension; @@ -25,23 +25,21 @@ public class FormStormtrooper extends JFrame { setTitle(title); setMinimumSize(dimension); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - Width = getWidth() - 15; - Height = getHeight() - 35; - + Width = getWidth() - 13; + Height = getHeight() - 30; CreateButton.setName("createButton"); - Icon iconUp = new ImageIcon("src\\Resources\\arrowUp.png"); + Icon iconUp = new ImageIcon("Resources\\arrowUp.jpg"); UpButton.setIcon(iconUp); UpButton.setName("UP"); DownButton.setName("DOWN"); - Icon iconDown = new ImageIcon("src\\Resources\\arrowDown.png"); + Icon iconDown = new ImageIcon("Resources\\arrowDown.jpg"); DownButton.setIcon(iconDown); LeftButton.setName("LEFT"); - Icon iconLeft = new ImageIcon("src\\Resources\\arrowLeft.png"); + Icon iconLeft = new ImageIcon("Resources\\arrowLeft.jpg"); LeftButton.setIcon(iconLeft); RightButton.setName("RIGHT"); - Icon iconRight = new ImageIcon("arrowRight.png"); + Icon iconRight = new ImageIcon("Resources\\arrowRight.jpg"); RightButton.setIcon(iconRight); - CreateButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -50,12 +48,12 @@ public class FormStormtrooper extends JFrame { int speed = (int)(Math.random() * 300 + 100); float weight = (float) (Math.random() * 3000 + 1000); Color bodyColor = new Color((int)(Math.random() * 255 + 0),(int)(Math.random() * 255 + 0),(int)(Math.random() * 255 + 0)); - Color additionalColor = new Color((int)(Math.random() * 255 + 0),(int)(Math.random() * 255 + 0),(int)(Math.random() * 255 + 0));; + Color additionalColor = new Color((int)(Math.random() * 255 + 0),(int)(Math.random() * 255 + 0),(int)(Math.random() * 255 + 0)); boolean rockets = new Random().nextBoolean(); - boolean boombs = new Random().nextBoolean();; - boolean engines = new Random().nextBoolean();; + boolean bombs = new Random().nextBoolean(); + boolean engines = new Random().nextBoolean(); canvasStormtrooper._drawingStormtrooper = new DrawingStormtrooper(); - canvasStormtrooper._drawingStormtrooper.Init(speed, weight, bodyColor, additionalColor,rockets, boombs, engines); + canvasStormtrooper._drawingStormtrooper.Init(speed, weight, bodyColor, additionalColor,rockets, bombs, engines); canvasStormtrooper._drawingStormtrooper.SetPictureSize(Width, Height); canvasStormtrooper._drawingStormtrooper.SetPosition( StartPositionX, StartPositionY); canvasStormtrooper.repaint(); @@ -66,21 +64,13 @@ public class FormStormtrooper extends JFrame { @Override public void actionPerformed(ActionEvent event) { if (canvasStormtrooper._drawingStormtrooper == null) return; - boolean result = false; - switch ((((JButton)(event.getSource())).getName())) { - case "UP": - result = canvasStormtrooper._drawingStormtrooper.MoveTransport(DirectionType.Up); - break; - case "DOWN": - result = canvasStormtrooper._drawingStormtrooper.MoveTransport(DirectionType.Down); - break; - case "LEFT": - result = canvasStormtrooper._drawingStormtrooper.MoveTransport(DirectionType.Left); - break; - case "RIGHT": - result = canvasStormtrooper._drawingStormtrooper.MoveTransport(DirectionType.Right); - break; - } + boolean result = switch ((((JButton) (event.getSource())).getName())) { + case "UP" -> canvasStormtrooper._drawingStormtrooper.MoveTransport(DirectionType.Up); + case "DOWN" -> canvasStormtrooper._drawingStormtrooper.MoveTransport(DirectionType.Down); + case "LEFT" -> canvasStormtrooper._drawingStormtrooper.MoveTransport(DirectionType.Left); + case "RIGHT" -> canvasStormtrooper._drawingStormtrooper.MoveTransport(DirectionType.Right); + default -> false; + }; if (result) { canvasStormtrooper.repaint(); } @@ -90,15 +80,14 @@ public class FormStormtrooper extends JFrame { DownButton.addActionListener(actionListener); LeftButton.addActionListener(actionListener); RightButton.addActionListener(actionListener); - setSize(dimension.width,dimension.height); setLayout(null); canvasStormtrooper.setBounds(0,0, getWidth(), getHeight()); - CreateButton.setBounds(10, getHeight() - 90, 100, 40); - UpButton.setBounds(getWidth() - 140, getHeight() - 160, 50, 50); - DownButton.setBounds(getWidth() - 140, getHeight() - 100, 50, 50); - RightButton.setBounds(getWidth() - 80, getHeight() - 100, 50, 50); - LeftButton.setBounds(getWidth() - 200, getHeight() - 100, 50, 50); + CreateButton.setBounds(10, getHeight() - 90, 130, 40); + UpButton.setBounds(getWidth() - 180, getHeight() - 210, 70, 70); + DownButton.setBounds(getWidth() - 180, getHeight() - 140, 70, 70); + RightButton.setBounds(getWidth() - 110, getHeight() - 140, 70, 70); + LeftButton.setBounds(getWidth() - 250, getHeight() - 140, 70, 70); add(CreateButton); add(UpButton); add(DownButton); @@ -106,19 +95,17 @@ public class FormStormtrooper extends JFrame { add(LeftButton); add(canvasStormtrooper); setVisible(true); - //обработка события изменения размеров окна addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent e) { - Width = getWidth() - 15; - Height = getHeight() - 35; - if (canvasStormtrooper._drawingStormtrooper != null) - canvasStormtrooper._drawingStormtrooper.SetPictureSize(Width, Height); + Width = getWidth() - 13; + Height = getHeight() - 30; + if (canvasStormtrooper._drawingStormtrooper != null)canvasStormtrooper._drawingStormtrooper.SetPictureSize(Width, Height); canvasStormtrooper.setBounds(0,0, getWidth(), getHeight()); - CreateButton.setBounds(10, getHeight() - 90, 100, 40); - UpButton.setBounds(getWidth() - 140, getHeight() - 160, 50, 50); - DownButton.setBounds(getWidth() - 140, getHeight() - 100, 50, 50); - RightButton.setBounds(getWidth() - 80, getHeight() - 100, 50, 50); - LeftButton.setBounds(getWidth() - 200, getHeight() - 100, 50, 50); + CreateButton.setBounds(10, getHeight() - 90, 130, 40); + UpButton.setBounds(getWidth() - 180, getHeight() - 210, 70, 70); + DownButton.setBounds(getWidth() - 180, getHeight() - 140, 70, 70); + RightButton.setBounds(getWidth() - 110, getHeight() - 140, 70, 70); + LeftButton.setBounds(getWidth() - 250, getHeight() - 140, 70, 70); } }); }