16 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ WinForms + C # рдкрд░ рдЦреЗрд▓ (2 рднрд╛рдЧ)

рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕


рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрди рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд╣реЛ рдЪреБрдХрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВрдиреЗ рджреВрд╕рд░рд╛ рднрд╛рдЧ рд▓рд┐рдЦрд╛ред рдореИрдВ рдЙрди рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд▓рд╛рд╣ рджреА, рдЙрди рд╕рднреА рд╕реЗ рдореИрдВ рдХреБрдЫ рдирдпрд╛ рд╕реАрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рд╡реИрд╕реЗ, рдЬреЛ рд▓реЛрдЧ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рддреБрд░рдВрдд рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ GitHub рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдПрдХ рдХрдбрд╝реА рд╣реИред

рдмрд╕ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдЬреЛрдбрд╝рд╛ рдФрд░ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛, рд╡рд╣ рдмрд╣реБрдд рдХреБрдЫ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдо, рдмрд╣реБрдд рд╕рд╛рд░реА рдЧрд▓рддрд┐рдпрд╛рдБред рдореЗрд░рд╛ Google рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдорд╡реАрдкреА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рд▓реЗрдХрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рдереЗред

рдЫрд╡рд┐


рдЕрджреНрдпрддрди рдХрд░рдиреЗ


  1. рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдВрдкрд╛рджрдХ (рдореВрд▓ рдЦреЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ) рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  2. рд╕рд╛рдЙрдВрдбрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред
  3. рдбреЛрдиреЗрдЯ рдкрд░ рдФрд░ рдХрддрд╛рдИ рдкрд░ рдкрдХрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рд╛ред
  4. рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреА рдордЫрд▓рд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ред
  5. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рд╣реБрдЖред
  6. рдмрдЧ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ред
  7. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрд╡реЗрджрди рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдЗрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐)ред
  8. рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ред
  9. рдПрд╣рд╕рд╛рд╕ рдЯреНрд░реЙрдлреАред
  10. рджрд┐рди рдФрд░ рд░рд╛рдд рдХрд╛ рдмрджрд▓рд╛рд╡ рдЬреЛрдбрд╝рд╛ред
  11. рдпрд╛рддреНрд░рд╛ рдЧрдпреАред
  12. рдПрдХ рдХрд┐рд░рд╛рдиреЗ рдХреА рджреБрдХрд╛рди рд▓рд╛рдЧреВ рдХреАред
  13. рдПрдорд╡реАрдкреА рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред
  14. рдЦреЗрд▓ рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛
  15. рд╕рд╛рдордЧреНрд░реА рдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде, рдЪрд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛
  16. рдЖрд╡рд╛рдЬ рдЕрднрд┐рдирдп рдЬреЛрдбрд╝рд╛
  17. рдПрдирд┐рдореЗрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
  18. рдордЫрд▓рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рдХреЗ рд╕рдордп рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЫрдбрд╝ рдХреЗ рдкрд╣рдирдиреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдореИрдВ README Git рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЬреЛрдбрд╝реВрдВрдЧрд╛ред

рдХрд┐рд╕реА рдФрд░ рдХрд╛ рдХреЛрдб рдХреИрд╕реЗ рдЧреБрдорд░рд╛рд╣ рдХрд┐рдпрд╛ред


рдЫрд╡рд┐

рд╣рдо рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рдордЫрд▓реА рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдВрдкрд╛рджрдХ, рдЕрд░реНрдерд╛рддреН рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдЧрд╣рд░рд╛рдИ рдЧреНрд░рд┐рдб рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ (рдпреЗ рдлрд╝реНрд░реЗрдо рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП FormBorderStyle = 0 рдХреЗ рд╕рд╛рде рд▓реЗрдмрд▓ рддрддреНрд╡ рд╣реИрдВ)ред рд╡реИрд╕реЗ, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрд░реА рдЦреБрдж рдХреА рдХреИрдВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ ред рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдереА?

рд╕реНрд░реЛрдд рдХреЛрдб
for (int x = 0; x < 51; x++){ for (int y = 0; y < 18; y++){ Point between = new Point(Game.CastPoint.X - LVL.Deeparr[x, y].Location.X, Game.CastPoint.Y - LVL.Deeparr[x, y].Location.Y); float distance = (float)Math.Sqrt(between.X * between.X + between.Y * between.Y); if (distance < 20){ if (Player.getPlayer().lure != null){ Game.gui.DeepLabel.Text = LVL.Deeparr[x, y].Tag.ToString(); Sounder.setY(x); Sounder.setX(y); } } Game.Deep = Convert.ToInt32(Game.gui.DeepLabel.Text); } } 



рдпрд╣рд╛рдВ рд╣рдо рджреЛ-рдЖрдпрд╛рдореА рд╕рд░рдгреА (рдФрд░ рд╕рд╣реА рдирд╣реАрдВ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рд╕ рджреЗрдЦрддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рдкрд╛рдЗрдерд╛рдЧреЛрд░рд╕ рдкреНрд░рдореЗрдп рджреНрд╡рд╛рд░рд╛ рдХрд░реНрдг рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдпрд╣ <20 рд╣реИ, рддреЛ рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рд╕реЗрд▓ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рднреА рдмрд╣реБрдд рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдФрд░ рдпрд╣рд╛рдБ рдЖрдпрддреЗрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕реЗрд▓ рдХреЛ рдЕрдХреНрд╕рд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдмрдЪрд╛рд╡ рдореЗрдВ, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдпрд╣ рдХреЛрдб YouTube рд╕реЗ рд▓рд┐рдпрд╛ рдерд╛ред

рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрд░реНрд╕рд░ рдХрд┐рд╕ рд╕реЗрд▓ рдореЗрдВ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдХреЛрдб
 for (var y = 0; y < CurLvl.Height; y++) { for (var x = 0; x < CurLvl.Widgth; x++) { var r = new Rectangle(CurLvl.DeepArray[x, y].Location, new System.Drawing.Size(LabelInfo.Width, LabelInfo.Height)); if (r.IntersectsWith(new Rectangle(point, new System.Drawing.Size(1, 1)))) { //SomeCode } } } 


рдпрд╣рд╛рдВ рд╣рдо рдХрд░реНрд╕рд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд▓реЗрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдкреЙрдЗрдВрдЯрдЯрдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрдпрдд рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдХрд╛рд░ 1 рдФрд░ 1. рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рдорд╛рдирдХ Intersects рдХреЗ рд╕рд╛рде рдЪреЗрдХ рд╡рд┐рдзрд┐, рдХрд░реНрд╕рд░ рдЪреМрд░рд╛рд╣реЗ рдФрд░ рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рд▓реЗрдмрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рдПрдХ рдлреЙрд░реНрдо рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдиреЗ рдордЫрд▓реА рдкрдХрдбрд╝рдиреЗ рдХреА рдЫрдбрд╝ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред

рдордЫрд▓реА рдЙрддреНрдкрд╛рджрди


рддреЛ, рдЦреЗрд▓ рдХрд╛ рдореБрдЦреНрдп рд╣рд┐рд╕реНрд╕рд╛ рдордЫрд▓реА рдХреА рдкреАрдврд╝реА рд╣реИред рдпрд╣ рдХрдИ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ:
1. рдЬрдм рд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рдкрдВрдХреНрддрд┐ рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ:
рд╕реБрдирд╣рд░реА рдордЫрд▓реА: 25 250-400 [рдкрдиреАрд░, рдЗрд▓реНрд▓реА, рдореИрдЧреЛрдЯ, рдХреЙрд░реНрди] рдЕрдзрд┐рдХрддрдо рдХреЗ рдкреНрд░рддрд┐рд╢рдд рдХреЗ рд░реВрдк рдореЗрдВ рдордЫрд▓реА рдХрд╛ рдЖрдХрд╛рд░ рдХрд╣рд╛рдВ рд╣реИ, рдиреНрдпреВрдирддрдо рдЧрд╣рд░рд╛рдИ, рдЕрдзрд┐рдХрддрдо рдЧрд╣рд░рд╛рдИ, рдФрд░ рдЪрд╛рд░рд╛ рдХреА рдПрдХ рд╕реВрдЪреА рд╣рдореЗрдВ рдордЫрд▓реА рд╡рд╕реНрддреБ рдорд┐рд▓рддреА рд╣реИ (рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЗрди рдХреА рдкреВрд░реНрд╡ рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ)ред рдХреЛрдб рдХреА рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬреЛ рдордЫрд▓реА рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЗрддрд╛ рд╣реИред

 public static explicit operator Fish(FishString fs) { return fs.GetFishByStr(); } 


рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

 Fish fish = (Fish)new FishString(" : 25 250 - 400 [ , , ,  ]"); 

рдХреЛрдб рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

2.рдЕрдм рд╣рдореЗрдВ рдордЫрд▓реА рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓реА рдЫрдбрд╝ рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЯрд╛рдЗрдорд░ (рдкреНрд░рддреНрдпреЗрдХ рдордЫрд▓реА рдкрдХрдбрд╝рдиреЗ рдХреА рдЫрдбрд╝реА рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛) рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХрд╛рдЯрдиреЗ рдХреЗ рд╕рдордп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ 1000 рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рд╡рд╛рд▓реА рдордЫрд▓реА рдХреА рд╣рдорд╛рд░реА рд╕реВрдЪреА рд╕реЗ рдЯрд╛рдЗрдорд░ рдХреЗ рдЯрд┐рдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ, рдордЫрд▓реА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЬрд┐рдирдХреЗ рдЖрд╡рд╛рд╕ рдХреА рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╢рд╛рдорд┐рд▓ рд╣реИ рдордЫрд▓реА рдкрдХрдбрд╝рдиреЗ рдХреА рдЫрдбрд╝ред

3. рдЗрд╕ рд╕реВрдЪреА рд╕реЗ, рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдПрдХ рдордЫрд▓реА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рд╣рдо рдпрд╣ рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕реЗрдЯ рдЪрд╛рд░рд╛ рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдпрд╣ рднреА рдЬрд╛рдВрдЪ рд▓реЗрдВ рдХрд┐ рдордЫрд▓реА рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рджрд┐рди рдХрд╛ рд╕рдордп рдЦреЗрд▓ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдордп рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

4. рдпрджрд┐ рдордЫрд▓реА рдЪрд╛рд░рд╛ рдЦрд╛ рд╕рдХрддреА рд╣реИ, рддреЛ рд╣рдо рдЪрд╛рд░рд╛ рдкрд░ рд╣рдорд▓рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рд╣реБрдХ рд╣реЛрдЧрд╛ рдФрд░ рдХрд┐рд╕ рд╕рдордп рдХреЗ рдмрд╛рдж, рд╕реНрдерд╛рдкрд┐рдд рд╣реБрдХ рдХреЗ рд╡рдВрд╢ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред рдпрджрд┐ рдордЫрд▓реА рдЪрд╛рд░рд╛ рдирд╣реАрдВ рдЦрд╛ рд╕рдХрддреА рд╣реИ, рддреЛ рд╣рдо рд╡рд░реНрддрдорд╛рди рдЪрд╛рд░рд╛ (рдпрджрд┐ рдХреЛрдИ рд╣реИ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрдХреНрд░ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЖрд╕-рдкрд╛рд╕ рдХреЛрдИ рдордЫрд▓реА рд╣реИ рдЬреЛ рдЪрд╛рд░рд╛ рдкрд░ рдЪреЛрдВрдЪ рдорд╛рд░ рд╕рдХрддреА рд╣реИ, рдФрд░ рд╡рд╣реА рдмрд╛рдд рджреЛрд╣рд░рд╛ рд╕рдХрддреА рд╣реИред

рдкреАрдврд╝реА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп LINQ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрди рдЧрдпрд╛ рд╣реВрдВред

рдЦреЗрд▓ рд╣реА рд╣реИ



рдЦрд╛рджреНрдп рдкрджрд╛рд░реНрде

рдХрд┐рд░рд╛рдиреЗ рдХреА рджреБрдХрд╛рди рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯред

рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рднрдВрдбрд╛рд░ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╣рд╛рдБ, рдЦрд╛рджреНрдп рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЙрд╕рдЗрдВрдЯрд░ рдФрд░ рдорд╛рдЙрд╕рд▓реЗрдлреНрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЫрд╡рд┐

рдпрд╛рддреНрд░рд╛ рдлреЙрд░реНрдо рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯред (рд╕рднреА рдЬрд▓ рдирд┐рдХрд╛рдп рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдирд╛рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╣реАрдВ рд╣реИрдВред)

рдЫрд╡рд┐

рдЦреЗрд▓ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ

рдпреЛрдЬрдирд╛рдУрдВ


  1. рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рдмрдирд╛рдПрдВ
  2. рдЬреВрдирд┐рдпрд░ FPGA (FPGA) рдбреЗрд╡рд▓рдкрд░
  3. рд╡реЗрдмрдХреЗрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪреЗрд╣рд░реЗ рдХреА рдкрд╣рдЪрд╛рди (рдореИрдВ рдРрд╕реЗ рд╕рд╛рд╣рд┐рддреНрдп рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реВрдВ рдЬреЛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)
  4. рдПрдХ ObjectListView рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдорд┐рдд ListView рдХреА рдЬрдЧрд╣

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдиреМрдХрд░реА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред рдЦреИрд░, рд╕рд┐рддрдВрдмрд░ рдореЗрдВ, рдореИрдВрдиреЗ рдПрд╕рдПрдирдПрдордкреА рджреНрд╡рд╛рд░рд╛ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдЯреАрдУрдЖрд░ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реА рдореЗрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдлреА рдмрдбрд╝реА рд╣реЛ рдЧрдИ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЖрджрд░реНрд╢, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рднреНрдп рдХреЛрдб рдЖрдзрд╛рд░, рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдХрд╣реАрдВ рди рдХрд╣реАрдВ SOLID рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рд▓рдВрдмреА рдереАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдПрдХ рд╢реБрд░реБрдЖрддреА рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ, рдФрд░ рдПрдХ рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕реВрдЪреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА README рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдореИрдВ рдпрд╣ рднреА рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдореБрдЭреЗ C # рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдХрд░рд┐рдпрд░ рдореЗрдВ рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рджрд┐рдЦрддреА рд╣реИ, рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдХрд░реАрдм рдХреБрдЫ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреА рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред

рдЖрдк рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдЬреЛ рдЕрдВрдд рддрдХ рдкрдврд╝рддреЗ рд╣реИрдВ, рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдХрд┐рд╕реА рднреА рдЖрд▓реЛрдЪрдирд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ рдФрд░ рддреБрд░рдВрдд рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

Source: https://habr.com/ru/post/hi479864/


All Articles