wM^$Aa#f`!#kGsXI7U zgKj#o-FhIvwtM&PWAG7|D)i>i$h**U9HZfOqd?R-^p&2$do=TIlM_eV-}SsZag>*{ zqoFqp@7U&WGc?;lzA}GVO~@>3RH-_*Hn(JK#GR6`nbmx5gq>_R=f}g&+EimlR|uN@SY~Wz4;iNtGc$6s8fzy&})s$!NR1(^P zuEM@i91}q_5Gh@7M+b96wsvVp7o4g@{zma8&J?3fhGaVN2`TRdGkQvvk;0i}zjq~I zItTISPF|_Q-8+%e*$Vr;yIQ)%k-`W1Q#?f^ypz#7>y O99u9&s?l44_W*g*M=m7l`kqy_S %;=-B|UmBZ9R i0@we)RjkRHI;yXJt&_9C1@5Bc29~P-8u%V<-VtuGoZtD~}y-ec_ zUVRl2Dn6!Tj)`m=-H3YK#wz)1Ke4Rau0t_77@5db)D&!BrlYBm%^Holc%3^f`*6{s z6!Gie#ZJesqUM-q DLNvWQ|Gl|x9XqULlSVti=4I-o#xz TR0vihOss8NZ zCgBq^KT` CB@SniH!hobKr)z>bd(cTBRWS4v=!T?$0%);>F+yCWTy zNiP~t6wup|rWrdQw1_yTcWL0h^Qxvsj} 2PyLKT z9ulV744kPgG;CJ~Q)6y?(2_gv9@c5~IZCdJxvXFqpY(sbF5L>jr5@ <&otdAFoxAmzmVXV|uzRwbkq^XP^&UH(#|omX2Np~N$$mD4IgONF3Q zWv0G7!K#tbdcr}cD(%bEq0kGfMoP{+n3McZyhxj+ZnH-Rv-(@;Yql~V%=Q_n*DB4} zi+*XaGT;BQ5|wYIpW6=F2Xc_1W)||2YFr?Ya(wVcb-AcgOi3hos2e$ =nyJ7Y2G{2 C#SaF$XjFT#SS?xvId$&J|;C5AdkG~{C zM281A{EW^b*c1j1#Ynydqjo2-)8VQ1_K%TwL8DI6j_>iOE~bM}UV$*Rz+?XcyuF3@ z_!rGkK)6c?glTvPS<27`_gO;__Gz_s(AVTeV@fnPV677nhwQGfu|nMo`A%y(Pi%gI zD5VrnSbi|rH_Z_yHfgW~GwMB9bfkc(f#0W>E%ZQiSBJK1YkKg;QiCRww(GNS;L=JT z-G1lH4J8$BaW_r_m$1dT9fk~Q<`~v?V(sr8e`zd0d+W2?>_iFlE}`sECfP}+YNo;F zMkBaPHrT8i|25$KOY6<#4zqNV2g=O1sk_bbe5-4Cx#vdY0c~%fEhm*?#KGXs$G?j6 ze--9HO=^AT*2*)+N3*%Q(jcuoR0je5L&_fc1Rc-IYDx{>NF9#dR%(J$&=O 2uqKoyPp7mVc@JHhpda)ODfW<_3{(8xqW4%t!#keho{^Fw8Ary&fO&Mk)g;t-Sgs zj?fE HyOi%>EYi us1qw6?2dg*N=MmAiO6 zYTHhDy9@gOEdXKt*tXS$znJH28y)%!d3RL$6Wp=#o5AY7d#WT7_K1r}B)NAq80AgN z-!kOM)N?ct8)YG;qr2(oI|A}4Y}se)*ryIgr<8= hZ$_*=!783-S5|D3 2jGqn}qsbGx!vFYLLcUF``Mu~$QN zV)OZvQD_@A^1$6BS4zN+KoUEv*tBx4?xcO^2GVa-GWkFL#X9tOq$Kwm^=AcoA_3P! z^9jHaCi6eA(RG_8iAg@EN{)oqi}9`8)t+M{`ilvz+&{mNJH;6t-R#4*$yjXa?Alz? z6>65PN+t=vXY8re|3|PXYmO1kFRrs&UYut9GpAE;N=28!-7Hpx_1*dNJM(^Amt|_J zCIV$n^IAuA+V=Ww-Dl(B{>lG0Q&gkvGTbOzw`Xuu2}VpCGT5S2=$K27)4ypkUp6G| z=kZ$4pA7iG;E1Vzu|CmWRj3fwd8Y-*=e3S?Z9Y6W+yO=?vGL!QFQyGiYA438Ef2rA zY`Bx_XJJfM08Y=W*~8Kh|F}d-aomjekk_%;gnG`>*u<0cwy1y)iE+^?^moO;#K)@8 zCwqWNh*zO6eg!5mu|D(r{-r7+HqTX$Pdf8 fH8`6I=z{p*Az zuBpnIDyiQNlW8MHXBB;5ZxFeg3GIJRgNh0+e2A(i;Dt>U)4jRdVKam4Q5MFFz9(wE zmxzcJQ #aCA6~cn|$Tt}{nfK21vM@P*R!wns>&M=JZ>oV?4!?0a1m z%X#E8-pL5*6{No)Bd Sh2k)9$C(}(X!l|?+$wfeFm)_ZJP8Ho*Q;&wDA9$_!K zTQOthWLqFIDoc5I?_RX&T*2wSI{N5%^nos;b=*}-Zu#LX(>cdCj+9Nu`pY_1scMlP z8`X`RN-_5iE{)b{9kNl%A1P_P>9K(`qF0MyhGN0zq#XDR+P$iy2i7;QyXYk}y&kF4 z`ZBDA!4BF&cx&qruswHM1*BePCJb4 *(3=y;^K3 z1Ufs=1+ReTf+HH`+s;%s-|rD86|sH wXUC zs#N88kB$6wDx$#9g|d0|drureGI$r5xd#Dg2dW{g?MKD@k>0yd>1e^aOHji1+~Km# zQM l|h~TEqDGTDbr(PNu8`k@xe1_1UYc%ZtaHwcmO%eRiI1varElv%6Guk z$Bc2c^5T|fA$a;N+A?TqTg*oom_Yn;>x$s8mR25Z-tVmgWm99TJsU#M3u6IOj^*FB zjDL;*VB;a*bALFXQG@ EBUMhNep4#04N&{RL@%aq6m`nrcgivE*suD zt@b*)DcuJ#kPEQW&Mo(^C^|zsHBA7XH-Qj8-hQhGp98^TqV-iAp=d~Civ`dW+}R;T zr9Es>aa1P|s+W@Ls12KI3V&%o(BVZx(0t$G0(ikZ@vm;x4|;uqln8A~0kmuJFcE9z zz^PS`HsinLGJC^oMYSetu}%xE%)hNPX9y;3j5H{;n$dkOg}mxJy%r8ezxUg&enycQ zyS{O)EOhm!k)8|)xh(zJ$!FCRjXY=FcRY vopir2UZwUeL8J z!fJ=lSAvk7e2vwG<4nD+NvyHl hN1X34Ghy`!?rcw2)vO>}o zHDmf`Uas72XYR^gp+xnV_04J+eVT1ZP2vdlJ-ClM^3)Fz2_@n?7OBI+;l`S$vQwCG9Oi>8-KI_D)|%p1R!o @WyFSLe1 zUb<3xnK-R5`HGXlluh)_n%RP!h9f>D=(8U=t{D!Z<
& zBs%HMT7hlV4`MW0KR$fMHgtf9KgxykL2+%L0L(awo5
@O1E5t&Yu>W@(f+Z5M%IVCOZSV&(cgdor1lsv;(#X)o7Oq^^LuTBDw4qfsQI zpdaTuVnlONhk?f2E9RTnIy-SbMg1p-@#jdT===SrPv@@FbO^;k3;!z9u!LCyvQ})= hpG%iR(Ek%-$1CPW_g!(VR$GUQdgqPM6=yHq`XBYu){+1K literal 0 HcmV?d00001 diff --git a/ProjectCruiser/ProjectCruiser/Properties/Resources/arrowUp.png b/ProjectCruiser/ProjectCruiser/Properties/Resources/arrowUp.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a4a9310e52bb624e595d17778a04dfc91b5b4c GIT binary patch literal 5884 zcmeHLXH=6 D3z zNZyu`mXVc{SGc37q^zQ 6Z<7D zJ|QtFIVCkMJtH$KJ0~~q>$m)Z!tX`JC8cHM*ow-k>YCcR`i4ea(~sts*0%PJ&aUpB zpZMOs{(-@v;gQj?@rlW)>6zKN`Gv)$<(1X7^^MJ~U%$8i?CkFC9~>SXpPZf%{t`*) zzy7WP0Hdvzx|*@i zx6p0=fE&C?PMdY=!nwjvolAw8?JF2_zC?)*Z!8Yi_|G2Q3lr^aTU!j+^>3IvCaCQA zHgHAUSxY{aSF*UiYxDE!>#Lp-n@ZUX$OrlPpZJ2SJ?irFH-Gb8g1ad7;~vdwGrKS6 zYAe|_>1AJ1X*A718tf|VePADp+v15q!msZxCbpcJiqyT=U2Lt=IfQBB^aOVo_865y zqk6jdMa{~P1 *7~zW6(vL~!%)#1&LfD4SB&!aV=p)Mlb po^$VH+;%M zuXhCGQteH+XJ1kJWL`{FPI|l-%H}-gz*y+4^I{ j>Cfv)^7+02}X z!v5?h13}Z7cgw94p*@M8&7|!18gp9-dYz)wQh{)z<%ag`HD%hlff(OBp3@qAVwDu_ zY(6~5#mMz_Zd=eRt9425xnU{aa?xA0Iw>`YGM-zJSq01Wxz~0ObXv7qM?ITVVz$va zVODtKi1>v2iQAv$&6O-)3HU0Efu5T@ea|tLR*G4vd%6?}3T@Gw67Z;RI=Y5^3F`UV z;%WiUpf$D4Et?nVqYK%?P13IFREoN#owWyKJEj?I@@938DWLL;r?r|ZS&Ni!Cx?sN z#tynd1cRf>%-^5P;v7~OJSw}>scA8xYJASoTiwzO-Nn3)VP@vJ5QCS}_ESsUhP2^> zLS0jAaj|xo7_$e9mDN5tif&R^*EAywlVcMTQg!pC9IBY2ch<9OhT8V`D8qOFbJx`T z!FAeqnL}N((7a#$k>l>v8^Q3Z-)wACb)V7WUK9B|Wfd1`-|DR4*#wjB45`I?O=t6z zf8!N-t3jY;Q(&JQy7!o=$ds&5EIY)_uKbZ+NhPiMTeYo-5twdRu-Xqn>6U!x87z^x zXM~|AftfzuhAaP;vK2z{p&=)5OrP8KCVRKe;S=iI6#hPJm^&< V?@mta+ha089_AV{G2la%L@&c1z1n+y>{abw}8c~{| BN-bHUn zjxUf*geZrey`m|6nD_0fX7Gl1x*2DlKOmB;4@!EcmXQwP1&P|y(3qpFuHp5knV-|M z#msZ>rUkHFIy%h2FK?I^e$J?t4G_>NR$}8hI>;PYUa!&NZ7WLkN~BQ=m3qN+m_E|F z(Rh!y dZ9YdLt2@9bhsN;{F@7^+IFP+RDLTI}$g2 zTPaA`AUbYGAi?9ovy5r>DiT_KEqFi6=MW@gQ;Fhg{RU306YN~V;GnFj;qid+EJqv( zhg6#~G1w*g9H7aFrnXJA?(5*BM`F>ZJ;$s$(8T({Ov&2xegi0^ZC@jxUHsuC7`L6b zlsJL5k0IdfxM;`P8^bcEz*E1Cs+UKpTqC5uiF {+XtoK(91!m z%wLKkuZSox%Hr}`Pp4iO+L8UcKue|T{Q~fERlmK5le~mB5p|aQAbMpVrWdB+3rwqI z-WHkNMq(4F!O%|ZiL6Ra&+y4XlEFI2p4M-b@4rWTOmIECq?FsM(F+gb+J_@_gVEQP zUV?Z~EqG&>J}<8=DNyyz#@_3ep~X{l9`4}Oud#qAd&d6T_s1MZ3bX5u%#3f#l)ir0 z7~vw`w+*>jGlrf`TgTraEl*>8Qe^G$I Eo$^oIchLT#9#(CNy6bbjw z_EK3=5}5nWM4V55xN@FLe`(E6TU?Xlnfp$z=$*C|b6h>oUTEsyrCS7wzsX o4HQn&5nmor={WWDJYZdM;0>qlRuFtf}7|A+&e z)H!pd1K >uAzF}Zo?_hB;W06-KIK59gt+W>reZHNG4*Uq>-hn?nT5~wotQqX z5nOVn!?1MhR}8OpP|kqvX%qeugSMWEAlJ@>`;Q~^uUF9$F$b~n)ahFhv}IsrS|Uvb zHm&s$K*Tz`5!pEbu`MwPX6`2Y-7hkfO+A#Fg%|oG5EMh8gpjUsV4G@44N!YM(tg*b zM_1W@ mL$3&UU{mm O(*xnH9JgL2HL zybnA=&aDF{=0O0ZZ(SprI7TSP+g=la?MS1KoDucgT+Yh7WI;giUPmqI0BKuUY7OV7yuTCUtFU^I8TIaFwSqMiHsKv NA$>+bzN9|cg6= 0c>7VwS}m3K*hN@iBpkfuN $(9LzYS1&5n&jmF`s|kwOw`_Bj 2b?pdXVf5!|2y0bb8-G9vK31(zuYC z8y`0%^-NQcNM9xoG}gZxzoJV0D3Rv-i-&te^w=tJ&`3O5z_Afdtxtu1Y! w{#pq ;q;1MQ4 zCSywQtLV+OAorIBwrc^&pQDbL-jOtHR*os8g-;OL3DXgSD2#dy9=)`n2#;Kcaifw# zyv+%TaD?58cau3IKg0?f%K}u8%$=tq^f N l0HJ8_;Gt-&JEUF$Bw2Gthw`O@wZ>;+@+xWRn#QH+`Q2I@!jfqJP@ioQd zLJmc(YMAuAHrt%tG?Sw+wZM$M #CL+dF0s-Vx*D? z-nD?NPRuDoBhKOu4@Qc{0pag3i3+x+@U(oaM>c A-zV!%3K;o7m_aEHILoe0_d0Fx@>L`g(>w$7Mq_b|OD zNr&S?BoqyvxFiRE>juw!`eQFJ!XeoeX=n@~-KYEN936rH_?%-WLn2-x+3m)IyBq0L zG#Cw20DL6B&Dh7f0mr;!w1xbgTw&!=b_=Gb)UyK=yP+p#KTYIy{TFabplxpmEk*+Y za8;ff5^P68c97R1%=zSiYtE4Du#OgvD{tClT@HpZ>Xc2qqL>as{R&x|hRcrI-pvKb z&ex0c8+TC?z;3LgQj!v(td6@0z2lOF!{SbUnq1T4+Wy4@+qq&fGiWdf_g|xiyToYQ z0E!e)A1`=cV _m%ind#4lH;ew5Ud7CAG{mghnRxr7C zgqTsFk$Wt+s ~MYqf&5E2g=(kb3& zAFz+%&H2dnb$Pa8D4Le|Ff@8UFdtL+m=yQ}^j@vtgMbQg#f{re>)bp8JQFxuHUZc} zA(VjM+n0=NzeoAKhc5*IRN{i)E*IX4VYp=$-D>cMkzDfwAxf@kQ-)E{`OyvkVZRFy zMk}Z0G+bHiTit?Ks%wW3HOyOIxgQZo3+@b~$Z?!I#|>B{`DMnlgB*MtAi{Wx>W!d= z^0j4?EBk91NvI9+S6uVX >#+2@u(nLKSp{r#fo0ni#-Te7| z@gB1KQuHzhQKeA+bpe|MBzrqa18sn3&a&e2 =G622Ar?_PZgA0A=9kjRimss#$LRgJh_r)Lu|UHV@+-eDN+{neWq1$$#&z zi &(QR}|GdePlyLH`BQpE#KS literal 0 HcmV?d00001 -- 2.25.1 From 32dc88b8a9431635a07da847c03bc77d6d096bc8 Mon Sep 17 00:00:00 2001 From: Almaz <79022113685@mail.ru> Date: Tue, 9 Apr 2024 10:09:18 +0400 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectCruiser/DrawingCruiser.cs | 83 ++++--------------- .../ProjectCruiser/FormCruiser.Designer.cs | 28 ++++--- ProjectCruiser/ProjectCruiser/FormCruiser.cs | 49 +++++++++-- 3 files changed, 74 insertions(+), 86 deletions(-) diff --git a/ProjectCruiser/ProjectCruiser/DrawingCruiser.cs b/ProjectCruiser/ProjectCruiser/DrawingCruiser.cs index 93473bd..a1fb426 100644 --- a/ProjectCruiser/ProjectCruiser/DrawingCruiser.cs +++ b/ProjectCruiser/ProjectCruiser/DrawingCruiser.cs @@ -78,7 +78,7 @@ public class DrawingCruiser public bool MoveTransport(DirectionType direction) { - if (EntityCruiser == null || _startPosX.HasValue || _startPosY.HasValue) + if (EntityCruiser == null || !_startPosX.HasValue || !_startPosY.HasValue) { return false; } @@ -99,8 +99,16 @@ public class DrawingCruiser } return true; case DirectionType.Right: + if (_startPosX.Value - EntityCruiser.Step > 0) + { + _startPosX += (int)EntityCruiser.Step; + } return true; case DirectionType.Down: + if (_startPosY.Value - EntityCruiser.Step > 0) + { + _startPosY += (int)EntityCruiser.Step; + } return true; default: return false; @@ -109,7 +117,7 @@ public class DrawingCruiser public void DrawTransport(Graphics g) { - if (EntityCruiser == null || !_startPosX.HasValue || _startPosY.HasValue) + if (EntityCruiser == null || !_startPosX.HasValue || !_startPosY.HasValue) { return; } @@ -118,41 +126,7 @@ public class DrawingCruiser Brush additionalBrush = new SolidBrush(EntityCruiser.AdditionalColor); - if (EntityCruiser.BodyKit) - { - g.DrawEllipse(pen, _startPosX.Value + 90, _startPosY.Value, 20, 20); - g.DrawEllipse(pen, _startPosX.Value + 90, _startPosY.Value + 40, 20, 20); - g.DrawRectangle(pen, _startPosX.Value + 90, _startPosY.Value + 10, 20, 40); - g.DrawRectangle(pen, _startPosX.Value + 90, _startPosY.Value, 15, 15); - g.DrawRectangle(pen, _startPosX.Value + 90, _startPosY.Value + 45, 15, 15); - - g.FillEllipse(additionalBrush, _startPosX.Value + 90, _startPosY.Value, 20, 20); - g.FillEllipse(additionalBrush, _startPosX.Value + 90, _startPosY.Value + 40, 20, 20); - g.FillRectangle(additionalBrush, _startPosX.Value + 90, _startPosY.Value + 10, 20, 40); - g.FillRectangle(additionalBrush, _startPosX.Value + 90, _startPosY.Value + 1, 15, 15); - g.FillRectangle(additionalBrush, _startPosX.Value + 90, _startPosY.Value + 45, 15, 15); - - - g.DrawEllipse(pen, _startPosX.Value, _startPosY.Value, 20, 20); - g.DrawEllipse(pen, _startPosX.Value, _startPosY.Value + 40, 20, 20); - g.DrawRectangle(pen, _startPosX.Value, _startPosY.Value + 10, 20, 40); - g.DrawRectangle(pen, _startPosX.Value + 5, _startPosY.Value, 14, 15); - g.DrawRectangle(pen, _startPosX.Value + 5, _startPosY.Value + 45, 14, 15); - - g.FillEllipse(additionalBrush, _startPosX.Value, _startPosY.Value, 20, 20); - g.FillEllipse(additionalBrush, _startPosX.Value, _startPosY.Value + 40, 20, 20); - g.FillRectangle(additionalBrush, _startPosX.Value + 1, _startPosY.Value + 10, 25, 40); - g.FillRectangle(additionalBrush, _startPosX.Value + 5, _startPosY.Value + 1, 15, 15); - g.FillRectangle(additionalBrush, _startPosX.Value + 5, _startPosY.Value + 45, 15, 15); - - g.DrawRectangle(pen, _startPosX.Value + 35, _startPosY.Value, 39, 15); - g.DrawRectangle(pen, _startPosX.Value + 35, _startPosY.Value + 45, 39, 15); - - g.FillRectangle(additionalBrush, _startPosX.Value + 35, _startPosY.Value + 1, 40, 15); - g.FillRectangle(additionalBrush, _startPosX.Value + 35, _startPosY.Value + 45, 40, 15); - - } - + //Границы крейсера g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 5, 20, 20); g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 35, 20, 20); g.DrawEllipse(pen, _startPosX.Value + 80, _startPosY.Value + 5, 20, 20); @@ -161,36 +135,14 @@ public class DrawingCruiser g.DrawRectangle(pen, _startPosX.Value + 90, _startPosY.Value + 15, 10, 30); g.DrawRectangle(pen, _startPosX.Value + 20, _startPosY.Value + 4, 70, 52); - // задние фары - Brush brRed = new SolidBrush(Color.Red); - g.FillEllipse(brRed, _startPosX.Value + 10, _startPosY.Value + 5, 20, 20); - g.FillEllipse(brRed, _startPosX.Value + 10, _startPosY.Value + 35, 20, 20); - - //передние фары - Brush brYellow = new SolidBrush(Color.Yellow); - g.FillEllipse(brYellow, _startPosX.Value + 80, _startPosY.Value + 5, 20, 20); - g.FillEllipse(brYellow, _startPosX.Value + 80, _startPosY.Value + 35, 20, 20); - - //кузов + //кузов крейсера Brush br = new SolidBrush(EntityCruiser.BodyColor); g.FillRectangle(br, _startPosX.Value + 10, _startPosY.Value + 15, 10, 30); g.FillRectangle(br, _startPosX.Value + 90, _startPosY.Value + 15, 10, 30); g.FillRectangle(br, _startPosX.Value + 20, _startPosY.Value + 5, 70, 50); - //стекла - Brush brBlue = new SolidBrush(Color.LightBlue); - g.FillRectangle(brBlue, _startPosX.Value + 70, _startPosY.Value + 10, 5, 40); - g.FillRectangle(brBlue, _startPosX.Value + 30, _startPosY.Value + 10, 5, 40); - g.FillRectangle(brBlue, _startPosX.Value + 35, _startPosY.Value + 8, 35, 2); - g.FillRectangle(brBlue, _startPosX.Value + 35, _startPosY.Value + 51, 35, 2); - - //выделяем рамкой крышу - g.DrawRectangle(pen, _startPosX.Value + 35, _startPosY.Value + 10, 35, 40); - g.DrawRectangle(pen, _startPosX.Value + 75, _startPosY.Value + 15, 25, 30); - g.DrawRectangle(pen, _startPosX.Value + 10, _startPosY.Value + 15, 15, 30); - - // спортивная линия - if (EntityCruiser.Armor) + // оружие крейсера + if (EntityCruiser.Weapon) { g.FillRectangle(additionalBrush, _startPosX.Value + 75, _startPosY.Value + 23, 25, 15); g.FillRectangle(additionalBrush, _startPosX.Value + 35, _startPosY.Value + 23, 35, 15); @@ -198,12 +150,5 @@ public class DrawingCruiser } - // крыло - if (EntityCruiser.Weapon) - { - g.FillRectangle(additionalBrush, _startPosX.Value, _startPosY.Value + 5, 10, 50); - g.DrawRectangle(pen, _startPosX.Value, _startPosY.Value + 5, 10, 50); - } - } } diff --git a/ProjectCruiser/ProjectCruiser/FormCruiser.Designer.cs b/ProjectCruiser/ProjectCruiser/FormCruiser.Designer.cs index ebe2aab..69e341a 100644 --- a/ProjectCruiser/ProjectCruiser/FormCruiser.Designer.cs +++ b/ProjectCruiser/ProjectCruiser/FormCruiser.Designer.cs @@ -29,7 +29,7 @@ private void InitializeComponent() { pictureBoxCruiser = new PictureBox(); - buttonCreate = new Button(); + buttonCreateCruiser = new Button(); buttonDown = new Button(); buttonUp = new Button(); buttonRight = new Button(); @@ -46,16 +46,16 @@ pictureBoxCruiser.TabIndex = 0; pictureBoxCruiser.TabStop = false; // - // buttonCreate + // buttonCreateCruiser // - buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; - buttonCreate.Location = new Point(12, 409); - buttonCreate.Name = "buttonCreate"; - buttonCreate.Size = new Size(94, 29); - buttonCreate.TabIndex = 1; - buttonCreate.Text = "Создать"; - buttonCreate.UseVisualStyleBackColor = true; - buttonCreate.Click += ButtonCreate_Click; + buttonCreateCruiser.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonCreateCruiser.Location = new Point(12, 409); + buttonCreateCruiser.Name = "buttonCreateCruiser"; + buttonCreateCruiser.Size = new Size(94, 29); + buttonCreateCruiser.TabIndex = 1; + buttonCreateCruiser.Text = "Создать"; + buttonCreateCruiser.UseVisualStyleBackColor = true; + buttonCreateCruiser.Click += ButtonCreateCruiser_Click; // // buttonDown // @@ -67,6 +67,7 @@ buttonDown.Size = new Size(35, 35); buttonDown.TabIndex = 2; buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += ButtonMove_Click; // // buttonUp // @@ -78,6 +79,7 @@ buttonUp.Size = new Size(35, 35); buttonUp.TabIndex = 3; buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += ButtonMove_Click; // // buttonRight // @@ -89,6 +91,7 @@ buttonRight.Size = new Size(35, 35); buttonRight.TabIndex = 4; buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += ButtonMove_Click; // // buttonLeft // @@ -100,6 +103,7 @@ buttonLeft.Size = new Size(35, 35); buttonLeft.TabIndex = 5; buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += ButtonMove_Click; // // FormCruiser // @@ -110,7 +114,7 @@ Controls.Add(buttonRight); Controls.Add(buttonUp); Controls.Add(buttonDown); - Controls.Add(buttonCreate); + Controls.Add(buttonCreateCruiser); Controls.Add(pictureBoxCruiser); Name = "FormCruiser"; Text = "Крейсер"; @@ -121,7 +125,7 @@ #endregion private PictureBox pictureBoxCruiser; - private Button buttonCreate; + private Button buttonCreateCruiser; private Button buttonDown; private Button buttonUp; private Button buttonRight; diff --git a/ProjectCruiser/ProjectCruiser/FormCruiser.cs b/ProjectCruiser/ProjectCruiser/FormCruiser.cs index 9a2a972..b12c168 100644 --- a/ProjectCruiser/ProjectCruiser/FormCruiser.cs +++ b/ProjectCruiser/ProjectCruiser/FormCruiser.cs @@ -9,7 +9,20 @@ InitializeComponent(); } - private void ButtonCreate_Click(object sender, EventArgs e) + private void Draw() + { + if (_drawingCruiser == null) + { + return; + } + + Bitmap bmp = new(pictureBoxCruiser.Width, pictureBoxCruiser.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawingCruiser.DrawTransport(gr); + pictureBoxCruiser.Image = bmp; + } + + private void ButtonCreateCruiser_Click(object sender, EventArgs e) { Random random = new(); _drawingCruiser = new DrawingCruiser(); @@ -25,10 +38,36 @@ _drawingCruiser.SetPictireSize(pictureBoxCruiser.Width, pictureBoxCruiser.Height); _drawingCruiser.SetPosition(random.Next(10, 100), random.Next(10, 100)); - Bitmap bmp = new(pictureBoxCruiser.Width, pictureBoxCruiser.Height); - Graphics gr = Graphics.FromImage(bmp); - _drawingCruiser.DrawTransport(gr); - pictureBoxCruiser.Image = bmp; + Draw(); + } + + private void ButtonMove_Click(object sender, EventArgs e) + { + if(_drawingCruiser == null) + { + return; + } + + string name = ((Button)sender)?.Name ?? string.Empty; + bool result = false; + switch(name) { + case "buttonUp": + result = _drawingCruiser.MoveTransport(DirectionType.Up); + break; + case "buttonDown": + result = _drawingCruiser.MoveTransport(DirectionType.Down); + break; + case "buttonLeft": + result = _drawingCruiser.MoveTransport(DirectionType.Left); + break; + case "buttonRight": + result = _drawingCruiser.MoveTransport(DirectionType.Right); + break; + } + + if (result) { + Draw(); + } } } } -- 2.25.1