From aba376a7ae352a4e3121d557b79279559a6dba9b Mon Sep 17 00:00:00 2001 From: tellsense Date: Mon, 25 Dec 2023 19:57:48 +0400 Subject: [PATCH 1/7] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20FormElectricLocomotiv?= =?UTF-8?q?e.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....cs => FormElectricLocomotive.Designer.cs} | 10 +- .../{Form1.cs => FormElectricLocomotive.cs} | 4 +- .../FormElectricLocomotive.resx | 120 ++++++++++++++++ .../ProjectElectricLocomotive/Program.cs | 2 +- .../ProjectElectricLocomotive.csproj | 15 ++ .../Properties/Resources.Designer.cs | 103 ++++++++++++++ .../Properties/Resources.resx | 133 ++++++++++++++++++ .../Resources/free-icon-down-arrow-54785.png | Bin 0 -> 5529 bytes ...free-icon-left-arrow-line-symbol-54321.png | Bin 0 -> 5255 bytes .../free-icon-right-arrow-angle-54833.png | Bin 0 -> 5258 bytes .../free-icon-up-arrow-angle-54817.png | Bin 0 -> 5522 bytes 11 files changed, 379 insertions(+), 8 deletions(-) rename ProjectElectricLocomotive/ProjectElectricLocomotive/{Form1.Designer.cs => FormElectricLocomotive.Designer.cs} (78%) rename ProjectElectricLocomotive/ProjectElectricLocomotive/{Form1.cs => FormElectricLocomotive.cs} (52%) create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.resx create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/Properties/Resources.Designer.cs create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/Properties/Resources.resx create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-down-arrow-54785.png create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-left-arrow-line-symbol-54321.png create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-right-arrow-angle-54833.png create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-up-arrow-angle-54817.png diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Form1.Designer.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.Designer.cs similarity index 78% rename from ProjectElectricLocomotive/ProjectElectricLocomotive/Form1.Designer.cs rename to ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.Designer.cs index 6cd3a18..223ed84 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/Form1.Designer.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.Designer.cs @@ -1,6 +1,6 @@ namespace ProjectElectricLocomotive { - partial class Form1 + partial class FormElectricLocomotive { /// /// Required designer variable. @@ -28,10 +28,10 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "Form1"; + components = new System.ComponentModel.Container(); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Text = "Form1"; } #endregion diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Form1.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs similarity index 52% rename from ProjectElectricLocomotive/ProjectElectricLocomotive/Form1.cs rename to ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs index eb6a0ea..168dce9 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/Form1.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs @@ -1,8 +1,8 @@ namespace ProjectElectricLocomotive { - public partial class Form1 : Form + public partial class FormElectricLocomotive : Form { - public Form1() + public FormElectricLocomotive() { InitializeComponent(); } diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.resx b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Program.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/Program.cs index 9a38110..ddb490c 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/Program.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/Program.cs @@ -11,7 +11,7 @@ namespace ProjectElectricLocomotive // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); - Application.Run(new Form1()); + Application.Run(new FormElectricLocomotive()); } } } \ No newline at end of file diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/ProjectElectricLocomotive.csproj b/ProjectElectricLocomotive/ProjectElectricLocomotive/ProjectElectricLocomotive.csproj index b57c89e..13ee123 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/ProjectElectricLocomotive.csproj +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/ProjectElectricLocomotive.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Properties/Resources.Designer.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/Properties/Resources.Designer.cs new file mode 100644 index 0000000..d973a85 --- /dev/null +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace ProjectElectricLocomotive.Properties { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ProjectElectricLocomotive.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap free_icon_down_arrow_54785 { + get { + object obj = ResourceManager.GetObject("free-icon-down-arrow-54785", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap free_icon_left_arrow_line_symbol_54321 { + get { + object obj = ResourceManager.GetObject("free-icon-left-arrow-line-symbol-54321", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap free_icon_right_arrow_angle_54833 { + get { + object obj = ResourceManager.GetObject("free-icon-right-arrow-angle-54833", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap free_icon_up_arrow_angle_54817 { + get { + object obj = ResourceManager.GetObject("free-icon-up-arrow-angle-54817", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Properties/Resources.resx b/ProjectElectricLocomotive/ProjectElectricLocomotive/Properties/Resources.resx new file mode 100644 index 0000000..76df177 --- /dev/null +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/Properties/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\free-icon-down-arrow-54785.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\free-icon-left-arrow-line-symbol-54321.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\free-icon-up-arrow-angle-54817.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\free-icon-right-arrow-angle-54833.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-down-arrow-54785.png b/ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-down-arrow-54785.png new file mode 100644 index 0000000000000000000000000000000000000000..28b8d50abf5f53ffdd5693115a1306170774ad5f GIT binary patch literal 5529 zcmeI0`8!na|Hm2BAX|+gRD_zzBr%i7&e*qEXe`BOXh@q3?>8xA>)6Q2)m8IfoslPoQksPsL)-~ZwB%lC6%*SXGeoonX0@B4K>9?$#Sbal3ol2DQm5)zWK zv$ett2|>V1h!9i+Jaw08aKV$v6$?8e6bhYq@A3}36~AQbaYaZ-^48WN9KO)F3_jc) ziY0{-E(U~#lSBN4!o$P0123Gra)x}#U;ARn*@8tQCGdBITpfwnzkmON@Bg>`cLe@_ zj)0_k(|fSze?#%k1R-IFh^W}M?ND(E$sJPCGO}_zcfsW03W~dxlvVcZ-KVOyUtL4< zz(EA^kQVB&_7R<E(Uuw2v>@?+nF1;4C#T=v?sm3l}e44!IIa3k(0}--yVoQP-|V$Hd-Qx(Otw zq^6~3WM*aG%Ax1x-Oew#Q+W4YQ8A;Wlv!5Js$f@ERoB#V?$^~nXlQJD*xb_ksIC2R zM`u^}lb+tE+-H6L1A{})U+{)sj_^lcjg7yacr!Wm_TBprAE#$N%?duxeVJcaT>AR$ z`;X<7)wQ4N8^3=4+57?>#|R0@3E5eh6BTzabZ*Zh#utmd)0@aWU8)5TvF37q*plc| zyfN(2M#cM0h>aA?eU07>MM-PT)x9Ue=KU00kr2r62~>Zb|0km}DfghQC$5C`wdu|N z71sL?wfZX9XAI@1roJ~ixVDB<#iP}d6(%n|`>NKqpG7FSVe@?U?|>rap)5Qi{)Wxq zyT1ebqAsbAl#TQKz2APgl1wgkzq;sGQ#(HwFqSu*OuuYd?=p}W@4k7nzPZ?6A;(W- zvi(DE>NzRNiqVe`FZWRgcIh!y~{$-p*va=AbRZs zbhIJ_iV962);Zg}vx(~WXsX-fWPJANZOK{dk$FAf7e!x=j<-+Ota@H`>}RbF>9NNi zvfA)v_?IP|p#~p*jB~$6yiisrC-%m-sGlh7P?XC9ihbcYb+jO0u!#gaB-+A-~ zsz$f&u8rK!(RrBotwlKr<@@GBTzp4r%0w)5)SsEf)7pkemISa6LWr_?D$6cpQPCB`#I4!jm$c4 zDBAV-kcEGoJY>x{qNz@f(ap+g?=Z4=P7vchyLDCaowI#VLKox=RZ25lXzX@AFi94^ zA1Q_r`C53k!ee|p92(`0|Dmy2;*yfTe#%$)g}(`gH}!K$1Qs<3r(Zt*xQx1EvyvYQ zm;_4nbIR_yqL~KQUPNNBwep?1Yyk#vUwx9E(2Iyb$TWRg|Zi)JeN0e!7W2c)+%yL!Q1sQvywFgTSc@#+B^r= z<`J7pUD3o=hDS3er7My7FI1EpKC1w5S|Zb94GS9#PWN2)wC4>-a~{m;WHYdnu9bUU zxuT23P^q4dMO2#U2>IS2VCql|)9INPta?I{W_Zk+M_A{epIrwSg7>Va2E<7*hwN6C z;hvQZb+=cY!ygRUHD)TCcKl`z`gkt;y6WC_7aUA^n?p1CD6n_X(%XKjlojMd0v5cm zyh>~m;fFY^dR&fur{k9`gi&G=r;Att2+?u^%}10T zn)!=mxI0UW)gn$0)yH9WGQ28U6zLQN0!@$jZ#tf~A64O8I=2a>U~BQjE3&AY((Gbt zu$ofQ=Yz27NhvzIwVFx2dIoJf5eTaugVQx8YKo{K=g_XX>#)HI2p#4%P$HNZeBle$ z0J=d6CH~rxNgW@xjg66qMU9A#`Z}2~SXa+#^t@04P9tM6t~@Q6+furQ!ELt9cVDTj zH7NG}$4s<(MT^*|YLhF?Bufy$)=tE9%n&D|DZm>SexS~HAaU}>^dS`o+_FxdfP=t3 zhp9eON-w8Q-qm?__X{GT9A@__LKj=vm?+-pgXNXNZDR)8nN;#gQdf(1Db?Mk^vP&H zBA>UHUbL!*@EjIF)?G2c-qTOiEM1?4<*eBB&HFg3N^0 zh;^A(ld^wX#tOPfYFn*gP`!^1GkP?D(H+tJGaX8R$+-md=i|u?O=B``t~rkJc_HJN zF`R&I-Bl%B7(jTy(Hdr5-;MQo5XWcFD8Q;;O9x^eW--DY$PI|7Tn6p2RsJ4%rl1)z zW-V`IgIhjn+p1Tgv@7Pk6=jFpWAkm^PW*em%HIyMH)VETKH;X&b?lOw+jX0OX=8KT zyy)2TJF+E$_eK=kZ^r?)Omy{ZbP#Y_+oBi!>lUM-wd0y!Zo}5h?H;*ci0zN;zBUqR zfF(?*mNa^s@!kw^_J!Vc;5{15Bu`W`sC@@GOXqdt8S)dVA6H2>yu?)U+rZyy*mL1n zAr((co$Kp>06JUA^|DO=u=kw1un9QK+}dSJSUz?RSChky;2+7 z|CcehV>(5T)gozr@~aA#r=F>vmV#dBgM;b0l{vJ9ndZ!$7}Tv&~F4vBpmYDNF@Qwp2hqK>|HKY?-ca0cJgv6Q+Z4b6;V zBO+R19#zZdfkWHXh-o)*%Z?^>?wfirY`PiujuU^9>lseKK#G5CXV=)!Tkf*8d`#PTyaBa9L%u8ZUJZ^rK)~G0w`<1A{q*R&`VO-TDV&1)_-gWQ7W=o5oj5;>@@`T{(G)xt}9K;;*&dD+Y0_m((R-wv8HIw zno`gGLo7^_H7H~sm7_F(-NMS)P*wIa1>+D(v-J{z*sNgTS8ESU9mbBH`y-F7{G|rl zs4f#E)49S0gT+*wewzJCQ>`7aKro)=IseVGmiPHQ!~M?&oaU@*B7Y z;RKpAWKM-`t-dyG>V%soi4Nc2;+2i`p{N1|J4)8<7ZJB?EgphTzPY8CnEH<(buOl< z@V_Yo^i_+FE%l|Way=#$2^$ELwMk) zOnGrk3z0v%ZFQHIb`f>z6E|;g7KgqlITo=|Q%Vg|rq~u#Y`JJvFOulGjN3)A%1%dk zwkijUB#yW)hsfy`3H*T|>4fu7kVNAovv}7<03OeWbAT0G>t4X~cETWFPbB@o~(HYP4)n@Xeta0nk zoQEo|PP~VHrKBzPuHNVg{3nHR@JA+o-31RjAq{VmtY{HI(zd(JcJBOokX>Ugamtdv z!m+aIb)~`apHS?@1kJK{27sT9IyNm0w;XDMGG{K~i5OAj(NciXEg#GKu&Bd})&&kUSm7J)Sm8Xb=LIi; zkq3$0nbU5GoAD)ysO%{LOJ2jNvmV4w9ER&bOueaUxBm>wP-N8X6`rP^HEqqViN%aj z+1h4!Z!`V^C!zm(7Gvy^M(0;WZ2D|xR?)N+C>gUGd%%8w>EV=8Hw~~etwk|m+T|dQ zIU0ecHyAT*Jk_>b0=jJvDsW5J7tW&1wuW_VC*5kImI0;>uBS^G2zwHKp*f8qqhvYq zQv?`Y5O%2RX29A=P`mfZAbBJlT3)gubRg!_=4|J9CKw=6V|`(6xt;hAaJDwKOPe`& zku$;ti-C|)L|{cAAP$*~lL)qfsJKCC0wY&~jC?t*4jc-zfrQl-3Azt(U_p90jGQRB zCeShYb>b*yW1bB!Ry&E13p!>}h3*GtApr!rqj7%J}=O)pZo)|H0Yz=ytl<)1xKhJu4o_I>sp`d`(B0*~b*rwgX2SfI` zsko_lt037_PNiMYq;GiUV_f%G{i>QL|QgMSdQJ$MAnxEl;j z)WWesOK@Vxk`_VFOp4Qm!7M2#kRCHjyom68ElHOHvnJI~^0(s_7}mv5maEka!NSg} z^6B$nJ;wMCa6kafemwa7UKt_`g}O1soYVgOCBj1kdUlu^wH}nYls&k<*qwc zfcue{(X*Nas{cMx$HM8(TNR2>$w!t!dHXSzWVK7WglP&1kwURgiHm>Ya~q=H-L?O_ zQ1;>`6or=Xp=6~Vj*GYbD3eD7cTpBha7zUm2;3X~KAin&V$ip^ent1dv$|@s+Jh?w z*^H}aNr(lXK@HZ_J~;mA(=p%sAIZfuVdeR&q@+piwiaP{&>F{lF(%%tvpzWbtc0)H z$qi}$rCVJVwKE#vI*j&@NvlWP=F8FLBT&V@b}}ToqHAwl&Pt+xs#=bt>x?W3ZeZ9K zXO$l7pQCp>Lyzq7N$J2lCDLf~jmxbf^r-LmeDB=l-taH}a5<&_p&!XTXm$6;uO50N zI+%i1@~5Qf4K3OfV|ZA+|9z7y9_7tZz8=+oTC2KS7swtpRP;Ga3zYsR?RHmce#j2g z!RbAiOy#_Ph3r$AX(co*Y#Ff`Hg76f2zTQ{>m&H WyXLz-%BkG?AZCYkwyLr4jr|`!)~%rc literal 0 HcmV?d00001 diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-left-arrow-line-symbol-54321.png b/ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-left-arrow-line-symbol-54321.png new file mode 100644 index 0000000000000000000000000000000000000000..97366f8c44596c10c3dba6ce8990567d138caef9 GIT binary patch literal 5255 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 M^A3;lpJ`|Q14U9)aR2}S literal 0 HcmV?d00001 diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-right-arrow-angle-54833.png b/ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-right-arrow-angle-54833.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc71f80ca07568736f4fc371e50ed0d7a1b76ba GIT binary patch literal 5258 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 literal 0 HcmV?d00001 diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-up-arrow-angle-54817.png b/ProjectElectricLocomotive/ProjectElectricLocomotive/Resources/free-icon-up-arrow-angle-54817.png new file mode 100644 index 0000000000000000000000000000000000000000..7031c863e8403c522030ba036e42c094cffb88b7 GIT binary patch literal 5522 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 a{Zt%3AbL$XN0cU533CPaJ6^Y^CjSSHSa@Op literal 0 HcmV?d00001 -- 2.25.1 From 15587f9a5e1a65bb220812b3ef7f54669a58baab Mon Sep 17 00:00:00 2001 From: tellsense Date: Mon, 25 Dec 2023 19:59:05 +0400 Subject: [PATCH 2/7] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20Direction.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectElectricLocomotive/Direction.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/Direction.cs diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Direction.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/Direction.cs new file mode 100644 index 0000000..30f1697 --- /dev/null +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/Direction.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectElectricLocomotive +{ + public enum Direction + { + Up = 1, + Down = 2, + Left = 3, + Right = 4 + } +} -- 2.25.1 From 6c34a47e966d0831692fe727b69fb395aa4ecbc4 Mon Sep 17 00:00:00 2001 From: tellsense Date: Mon, 25 Dec 2023 20:00:09 +0400 Subject: [PATCH 3/7] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20DrawningElectri?= =?UTF-8?q?cLocomotive.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DrawningElectricLocomotive.cs | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs new file mode 100644 index 0000000..90ed452 --- /dev/null +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs @@ -0,0 +1,173 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectElectricLocomotive +{ + public class DrawningElectricLocomotive + { + public EntityElectricLocomotive? EntityElectricLocomotive { get; private set; } + private int _pictureWidth; + private int _pictureHeight; + private int _startPosX; + private int _startPosY; + private readonly int _locomWidth = 80; + private readonly int _locomHeight = 52; + /// Скорость + /// Вес + /// Цвет кузова + /// Дополнительный цвет + /// Признак наличия токоприемника + /// Признак наличия отсеков под электрические батареи + /// Ширина картинки + /// Высота картинки + /// true - объект создан, false - проверка не пройдена, нельзя создать объект в этих размерах + public bool Init(int speed, double weight, Color bodyColor, Color additionalColor, bool pantograph, bool compartment, int width, int height) + { + if (width < _locomWidth || height < _locomHeight) + { + return false; + } + _pictureWidth = width; + _pictureHeight = height; + EntityElectricLocomotive = new EntityElectricLocomotive(); + EntityElectricLocomotive.Init(speed, weight, bodyColor, additionalColor, pantograph, compartment); + return true; + } + /// Координата X + /// Координата Y + public void SetPosition(int x, int y) + { + if (x < 0 || x + _locomWidth > _pictureWidth) + { + x = _pictureWidth - _locomWidth; + } + if (y < 0 || y + _locomHeight > _pictureHeight) + { + y = _pictureHeight - _locomHeight; + } + _startPosX = x; + _startPosY = y; + } + /// Направление + public void MoveTransport(Direction direction) + { + if (EntityElectricLocomotive == null) + { + return; + } + switch (direction) + { + //влево + case Direction.Left: + if (_startPosX - EntityElectricLocomotive.Step > 0) + { + _startPosX -= (int)EntityElectricLocomotive.Step; + } + break; + //вверх + case Direction.Up: + if (_startPosY - EntityElectricLocomotive.Step > 0) + { + _startPosY -= (int)EntityElectricLocomotive.Step; + } + break; + //вправо + case Direction.Right: + if (_startPosX + EntityElectricLocomotive.Step + _locomWidth < _pictureWidth) + { + _startPosX += (int)EntityElectricLocomotive.Step; + } + break; + case Direction.Down: + if (_startPosY + EntityElectricLocomotive.Step + _locomHeight < _pictureHeight) + { + _startPosY += (int)EntityElectricLocomotive.Step; + } + break; + } + } + /// + public void DrawTransport(Graphics g) + { + if (EntityElectricLocomotive == null) + { + return; + } + + Pen pen = new(Color.Black); + Brush blackBrush = new SolidBrush(Color.Black); + Brush windows = new SolidBrush(Color.LightBlue); + Brush bodyColor = new SolidBrush(EntityElectricLocomotive.BodyColor); + Brush additionalBrush = new SolidBrush(EntityElectricLocomotive.AdditionalColor); + + if (EntityElectricLocomotive.Pantograph) + { + // Токоприемники + g.FillRectangle(blackBrush, _startPosX + 30, _startPosY + 15, 20, 5); + g.DrawLine(pen, _startPosX + 30, _startPosY + 15, _startPosX + 50, _startPosY + 2); + g.DrawLine(pen, _startPosX + 40, _startPosY + 15, _startPosX + 60, _startPosY + 2); + } + + // Локомотив + g.FillPolygon(bodyColor, new Point[] + { + new Point(_startPosX, _startPosY + 40), + new Point(_startPosX, _startPosY + 30), + new Point(_startPosX + 20, _startPosY + 20), + new Point(_startPosX + 70, _startPosY + 20), + new Point(_startPosX +80, _startPosY + 20), + new Point(_startPosX +80, _startPosY + 40), + new Point(_startPosX +75, _startPosY + 45), + new Point(_startPosX +5, _startPosY + 45), + new Point(_startPosX, _startPosY + 40), + } + ); + + if (EntityElectricLocomotive.Compartment) + { + g.DrawRectangle(pen, _startPosX + 40, _startPosY + 24, 25, 11); + g.FillPolygon(additionalBrush, new Point[] + { + new Point(_startPosX + 41, _startPosY + 25), + new Point(_startPosX + 65, _startPosY + 25), + new Point(_startPosX + 65, _startPosY + 35), + new Point(_startPosX + 41, _startPosY + 35), + new Point(_startPosX + 41, _startPosY + 25), + } + ); + } + + g.DrawPolygon(pen, new Point[] + { + new Point(_startPosX, _startPosY + 40), + new Point(_startPosX, _startPosY + 30), + new Point(_startPosX + 20, _startPosY + 20), + new Point(_startPosX + 70, _startPosY + 20), + new Point(_startPosX + 80, _startPosY + 20), + new Point(_startPosX + 80, _startPosY + 40), + new Point(_startPosX + 75, _startPosY + 45), + new Point(_startPosX + 5, _startPosY + 45), + new Point(_startPosX, _startPosY + 40), + } + ); + + // Окна + g.FillEllipse(windows, _startPosX + 10, _startPosY + 24, 10, 10); + g.DrawEllipse(pen, _startPosX + 10, _startPosY + 25, 10, 10); + + g.FillRectangle(windows, _startPosX + 25, _startPosY + 25, 10, 5); + g.DrawRectangle(pen, _startPosX + 25, _startPosY + 25, 10, 5); + + // Колёса + // Локомотив + g.FillEllipse(blackBrush, _startPosX + 10, _startPosY + 45, 10, 10); + g.FillEllipse(blackBrush, _startPosX + 25, _startPosY + 45, 10, 10); + + g.FillEllipse(blackBrush, _startPosX + 50, _startPosY + 45, 10, 10); + g.FillEllipse(blackBrush, _startPosX + 65, _startPosY + 45, 10, 10); + } + } +} -- 2.25.1 From f26f78c652560cd9da238c18e2818278c33a8b48 Mon Sep 17 00:00:00 2001 From: tellsense Date: Mon, 25 Dec 2023 20:00:56 +0400 Subject: [PATCH 4/7] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20EntityElectricL?= =?UTF-8?q?ocomotive.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EntityElectricLocomotive.cs | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs new file mode 100644 index 0000000..08126ec --- /dev/null +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectElectricLocomotive +{ + public class EntityElectricLocomotive + { + public int Speed { get; private set; } + public double Weight { get; private set; } + public Color BodyColor { get; private set; } + public Color AdditionalColor { get; private set; } + public bool Pantograph { get; private set; } + public bool Compartment { get; private set; } + public double Step => (double)Speed * 100 / Weight; + /// Скорость + /// Вес локомотива + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия токоприемника + /// Признак наличия отсеков под электрические батареи + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool pantograph, bool compartment) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + Pantograph = pantograph; + Compartment = compartment; + } + } +} -- 2.25.1 From f0beec428c6f830b624a31016ae346a1d6b2cb1e Mon Sep 17 00:00:00 2001 From: tellsense Date: Mon, 25 Dec 2023 20:08:47 +0400 Subject: [PATCH 5/7] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D1=81=D1=82=D0=B0=D1=8F?= =?UTF-8?q?=20=D0=BB=D0=B0=D0=B1=D0=B0=201=20=D0=B3=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FormElectricLocomotive.Designer.cs | 107 +++++++++++++++++- .../FormElectricLocomotive.cs | 54 +++++++++ 2 files changed, 157 insertions(+), 4 deletions(-) diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.Designer.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.Designer.cs index 223ed84..97b60c5 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.Designer.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.Designer.cs @@ -28,12 +28,111 @@ /// private void InitializeComponent() { - components = new System.ComponentModel.Container(); - AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(800, 450); - Text = "Form1"; + pictureBoxElectricLocomotive = new PictureBox(); + buttonCreate = new Button(); + buttonLeft = new Button(); + buttonRight = new Button(); + buttonUp = new Button(); + buttonDown = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBoxElectricLocomotive).BeginInit(); + SuspendLayout(); + // + // pictureBoxElectricLocomotive + // + pictureBoxElectricLocomotive.Cursor = Cursors.No; + pictureBoxElectricLocomotive.Dock = DockStyle.Fill; + pictureBoxElectricLocomotive.Enabled = false; + pictureBoxElectricLocomotive.Location = new Point(0, 0); + pictureBoxElectricLocomotive.Name = "pictureBoxElectricLocomotive"; + pictureBoxElectricLocomotive.Size = new Size(1052, 553); + pictureBoxElectricLocomotive.SizeMode = PictureBoxSizeMode.AutoSize; + pictureBoxElectricLocomotive.TabIndex = 0; + pictureBoxElectricLocomotive.TabStop = false; + pictureBoxElectricLocomotive.Click += buttonMove_Click; + // + // buttonCreate + // + buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonCreate.Location = new Point(0, 490); + buttonCreate.Name = "buttonCreate"; + buttonCreate.Size = new Size(172, 63); + buttonCreate.TabIndex = 1; + buttonCreate.Text = "Создать"; + buttonCreate.UseVisualStyleBackColor = true; + buttonCreate.Click += buttonCreate_Click; + // + // buttonLeft + // + buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonLeft.BackgroundImage = Properties.Resources.free_icon_left_arrow_line_symbol_54321; + buttonLeft.BackgroundImageLayout = ImageLayout.Zoom; + buttonLeft.Location = new Point(938, 511); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(30, 30); + buttonLeft.TabIndex = 2; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += buttonMove_Click; + // + // buttonRight + // + buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonRight.BackgroundImage = Properties.Resources.free_icon_right_arrow_angle_54833; + buttonRight.BackgroundImageLayout = ImageLayout.Zoom; + buttonRight.Location = new Point(1010, 511); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(30, 30); + buttonRight.TabIndex = 3; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += buttonMove_Click; + // + // buttonUp + // + buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonUp.BackgroundImage = Properties.Resources.free_icon_up_arrow_angle_54817; + buttonUp.BackgroundImageLayout = ImageLayout.Zoom; + buttonUp.Location = new Point(974, 475); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(30, 30); + buttonUp.TabIndex = 4; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += buttonMove_Click; + // + // buttonDown + // + buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonDown.BackgroundImage = Properties.Resources.free_icon_down_arrow_54785; + buttonDown.BackgroundImageLayout = ImageLayout.Zoom; + buttonDown.Location = new Point(974, 511); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(30, 30); + buttonDown.TabIndex = 5; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += buttonMove_Click; + // + // FormElectricLocomotive + // + ClientSize = new Size(1052, 553); + Controls.Add(buttonDown); + Controls.Add(buttonUp); + Controls.Add(buttonRight); + Controls.Add(buttonLeft); + Controls.Add(buttonCreate); + Controls.Add(pictureBoxElectricLocomotive); + Name = "FormElectricLocomotive"; + StartPosition = FormStartPosition.CenterScreen; + Text = "ElectricLocomotive"; + ((System.ComponentModel.ISupportInitialize)pictureBoxElectricLocomotive).EndInit(); + ResumeLayout(false); + PerformLayout(); } #endregion + + private PictureBox pictureBoxElectricLocomotive; + private Button buttonCreate; + private Button buttonLeft; + private Button buttonRight; + private Button buttonUp; + private Button buttonDown; } } \ No newline at end of file diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs index 168dce9..f165c47 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs @@ -2,9 +2,63 @@ namespace ProjectElectricLocomotive { public partial class FormElectricLocomotive : Form { + private DrawningElectricLocomotive? _drawningElectricLocomotive; public FormElectricLocomotive() { InitializeComponent(); } + private void Draw() + { + if (_drawningElectricLocomotive == null) + { + return; + } + Bitmap bmp = new(pictureBoxElectricLocomotive.Width, + pictureBoxElectricLocomotive.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawningElectricLocomotive.DrawTransport(gr); + pictureBoxElectricLocomotive.Image = bmp; + } + /// + /// + private void buttonCreate_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningElectricLocomotive = new DrawningElectricLocomotive(); + _drawningElectricLocomotive.Init(random.Next(100, 300), random.Next(1000, 3000), + Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), + Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), + Convert.ToBoolean(random.Next(0, 2)), + Convert.ToBoolean(random.Next(0, 2)), + pictureBoxElectricLocomotive.Width, pictureBoxElectricLocomotive.Height); + _drawningElectricLocomotive.SetPosition(random.Next(1, 100), random.Next(1, 100)); + Draw(); + } + /// + /// + private void buttonMove_Click(object sender, EventArgs e) + { + if (_drawningElectricLocomotive == null) + { + return; + } + string name = ((Button)sender)?.Name ?? string.Empty; + switch (name) + { + case "buttonUp": + _drawningElectricLocomotive.MoveTransport(Direction.Up); + break; + case "buttonDown": + _drawningElectricLocomotive.MoveTransport(Direction.Down); + break; + case "buttonLeft": + _drawningElectricLocomotive.MoveTransport(Direction.Left); + break; + case "buttonRight": + _drawningElectricLocomotive.MoveTransport(Direction.Right); + break; + } + Draw(); + } } } \ No newline at end of file -- 2.25.1 From 71063352dbe1b256a2045ca47aba28ca270c19c6 Mon Sep 17 00:00:00 2001 From: tellsense Date: Mon, 25 Dec 2023 22:31:28 +0400 Subject: [PATCH 6/7] =?UTF-8?q?=D0=BB=D0=B0=D0=B1=D0=B0=201=20=D0=B3=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DrawningElectricLocomotive.cs | 44 ++++++++++++++-- .../DrawningWheels.cs | 50 +++++++++++++++++++ .../EntityElectricLocomotive.cs | 4 +- .../FormElectricLocomotive.cs | 3 +- .../ProjectElectricLocomotive/Wheels.cs | 15 ++++++ 5 files changed, 111 insertions(+), 5 deletions(-) create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningWheels.cs create mode 100644 ProjectElectricLocomotive/ProjectElectricLocomotive/Wheels.cs diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs index 90ed452..dfa2b4b 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs @@ -13,8 +13,9 @@ namespace ProjectElectricLocomotive private int _pictureHeight; private int _startPosX; private int _startPosY; - private readonly int _locomWidth = 80; + private readonly int _locomWidth = 150; private readonly int _locomHeight = 52; + private DrawningWheels drawningWheels; /// Скорость /// Вес /// Цвет кузова @@ -24,7 +25,7 @@ namespace ProjectElectricLocomotive /// Ширина картинки /// Высота картинки /// true - объект создан, false - проверка не пройдена, нельзя создать объект в этих размерах - public bool Init(int speed, double weight, Color bodyColor, Color additionalColor, bool pantograph, bool compartment, int width, int height) + public bool Init(int speed, double weight, Color bodyColor, Color additionalColor, bool pantograph, bool compartment, int wheels, int width, int height) { if (width < _locomWidth || height < _locomHeight) { @@ -33,8 +34,13 @@ namespace ProjectElectricLocomotive _pictureWidth = width; _pictureHeight = height; EntityElectricLocomotive = new EntityElectricLocomotive(); - EntityElectricLocomotive.Init(speed, weight, bodyColor, additionalColor, pantograph, compartment); + EntityElectricLocomotive.Init(speed, weight, bodyColor, additionalColor, pantograph, compartment, wheels); + + drawningWheels = new DrawningWheels(); + drawningWheels.SetAmount(wheels); return true; + + } /// Координата X /// Координата Y @@ -168,6 +174,38 @@ namespace ProjectElectricLocomotive g.FillEllipse(blackBrush, _startPosX + 50, _startPosY + 45, 10, 10); g.FillEllipse(blackBrush, _startPosX + 65, _startPosY + 45, 10, 10); + // Вагон + g.FillPolygon(additionalBrush, new Point[] + { + new Point(_startPosX + 90, _startPosY + 25), + new Point(_startPosX + 95, _startPosY + 20), + new Point(_startPosX + 145, _startPosY + 20), + new Point(_startPosX + 150, _startPosY + 25), + new Point(_startPosX + 150, _startPosY + 45), + new Point(_startPosX + 90, _startPosY + 45), + new Point(_startPosX + 90, _startPosY + 25), + } + ); + + g.DrawPolygon(pen, new Point[] + { + new Point(_startPosX + 90, _startPosY + 25), + new Point(_startPosX + 95, _startPosY + 20), + new Point(_startPosX + 145, _startPosY + 20), + new Point(_startPosX + 150, _startPosY + 25), + new Point(_startPosX + 150, _startPosY + 45), + new Point(_startPosX + 90, _startPosY + 45), + new Point(_startPosX + 90, _startPosY + 25), + } + ); + //Окна + g.DrawLine(pen, _startPosX + 80, _startPosY + 40, _startPosX + 90, _startPosY + 40); + g.FillRectangle(windows, _startPosX + 95, _startPosY + 30, 10, 5); + g.FillRectangle(windows, _startPosX + 115, _startPosY + 30, 10, 5); + g.FillRectangle(windows, _startPosX + 135, _startPosY + 30, 10, 5); + + //Колеса + drawningWheels.DrawWheels(g, _startPosX, _startPosY); } } } diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningWheels.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningWheels.cs new file mode 100644 index 0000000..d8ef7f3 --- /dev/null +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningWheels.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectElectricLocomotive +{ + internal class DrawningWheels + { + private Wheels amount; + public void SetAmount(int a) + { + if (a == 2) + { + amount = Wheels.Two; + } + else if (a == 3) + { + amount = Wheels.Three; + } + else if (a == 4) + { + amount = Wheels.Four; + } + } + public void DrawWheels(Graphics g, int _startPosX, int _startPosY) + { + Brush wheelsColor = new SolidBrush(Color.Black); + if (amount == Wheels.Two) + g.FillEllipse(wheelsColor, _startPosX + 90, _startPosY + 45, 10, 10); + g.FillEllipse(wheelsColor, _startPosX + 100, _startPosY + 45, 10, 10); + + if (amount == Wheels.Three) + { + g.FillEllipse(wheelsColor, _startPosX + 90, _startPosY + 45, 10, 10); + g.FillEllipse(wheelsColor, _startPosX + 100, _startPosY + 45, 10, 10); + g.FillEllipse(wheelsColor, _startPosX + 140, _startPosY + 45, 10, 10); + } + if (amount == Wheels.Four) + { + g.FillEllipse(wheelsColor, _startPosX + 90, _startPosY + 45, 10, 10); + g.FillEllipse(wheelsColor, _startPosX + 100, _startPosY + 45, 10, 10); + g.FillEllipse(wheelsColor, _startPosX + 140, _startPosY + 45, 10, 10); + g.FillEllipse(wheelsColor, _startPosX + 130, _startPosY + 45, 10, 10); + } + } + } +} diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs index 08126ec..3e11d39 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs @@ -14,6 +14,7 @@ namespace ProjectElectricLocomotive public Color AdditionalColor { get; private set; } public bool Pantograph { get; private set; } public bool Compartment { get; private set; } + public int Wheels { get; private set; } public double Step => (double)Speed * 100 / Weight; /// Скорость /// Вес локомотива @@ -21,7 +22,7 @@ namespace ProjectElectricLocomotive /// Дополнительный цвет /// Признак наличия токоприемника /// Признак наличия отсеков под электрические батареи - public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool pantograph, bool compartment) + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool pantograph, bool compartment, int wheels) { Speed = speed; Weight = weight; @@ -29,6 +30,7 @@ namespace ProjectElectricLocomotive AdditionalColor = additionalColor; Pantograph = pantograph; Compartment = compartment; + Wheels = wheels; } } } diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs index f165c47..37cfe54 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs @@ -30,7 +30,8 @@ namespace ProjectElectricLocomotive Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2)), - pictureBoxElectricLocomotive.Width, pictureBoxElectricLocomotive.Height); + random.Next(1, 5), + pictureBoxElectricLocomotive.Width, pictureBoxElectricLocomotive.Height) ; ; _drawningElectricLocomotive.SetPosition(random.Next(1, 100), random.Next(1, 100)); Draw(); } diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Wheels.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/Wheels.cs new file mode 100644 index 0000000..5041384 --- /dev/null +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/Wheels.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectElectricLocomotive +{ + public enum Wheels + { + Two, + Three, + Four + } +} \ No newline at end of file -- 2.25.1 From f433aaf59bbc3997aeaad45cd9f35438991bee26 Mon Sep 17 00:00:00 2001 From: tellsense Date: Tue, 26 Dec 2023 23:33:13 +0400 Subject: [PATCH 7/7] =?UTF-8?q?=D0=93=D0=BE=D1=82=D0=BE=D0=B2=D0=BE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectElectricLocomotive/DrawningWheels.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningWheels.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningWheels.cs index d8ef7f3..2e022f5 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningWheels.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningWheels.cs @@ -12,7 +12,7 @@ namespace ProjectElectricLocomotive private Wheels amount; public void SetAmount(int a) { - if (a == 2) + if (a <= 2) { amount = Wheels.Two; } @@ -20,7 +20,7 @@ namespace ProjectElectricLocomotive { amount = Wheels.Three; } - else if (a == 4) + else if (a >= 4) { amount = Wheels.Four; } @@ -30,7 +30,7 @@ namespace ProjectElectricLocomotive Brush wheelsColor = new SolidBrush(Color.Black); if (amount == Wheels.Two) g.FillEllipse(wheelsColor, _startPosX + 90, _startPosY + 45, 10, 10); - g.FillEllipse(wheelsColor, _startPosX + 100, _startPosY + 45, 10, 10); + g.FillEllipse(wheelsColor, _startPosX + 140, _startPosY + 45, 10, 10); if (amount == Wheels.Three) { -- 2.25.1