From 23df8865a714481bab9449dcb3ff43053392944a Mon Sep 17 00:00:00 2001 From: allllen4a Date: Sat, 16 Sep 2023 16:10:34 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectDoubleDeckerBus.sln | 25 +++ .../projectDoubleDeckerBus/Direction.cs | 27 +++ .../DrawningDoubleDeckerBus.cs | 209 ++++++++++++++++++ .../EntityDoubleDeckerBus.cs | 65 ++++++ .../FormDoubleDeckerBus.Designer.cs | 170 ++++++++++++++ .../FormDoubleDeckerBus.cs | 70 ++++++ .../FormDoubleDeckerBus.resx | 126 +++++++++++ .../projectDoubleDeckerBus/Program.cs | 17 ++ .../Properties/Resources.Designer.cs | 103 +++++++++ .../Properties/Resources.resx | 133 +++++++++++ .../Resources/вверх.png | Bin 0 -> 10441 bytes .../Resources/влево.png | Bin 0 -> 9654 bytes .../Resources/вниз.png | Bin 0 -> 10121 bytes .../Resources/вправо.png | Bin 0 -> 8818 bytes .../projectDoubleDeckerBus.csproj | 26 +++ 15 files changed, 971 insertions(+) create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus.sln create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/Direction.cs create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/DrawningDoubleDeckerBus.cs create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/EntityDoubleDeckerBus.cs create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.Designer.cs create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.cs create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.resx create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/Program.cs create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/Properties/Resources.Designer.cs create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/Properties/Resources.resx create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/вверх.png create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/влево.png create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/вниз.png create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/вправо.png create mode 100644 projectDoubleDeckerBus/projectDoubleDeckerBus/projectDoubleDeckerBus.csproj diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus.sln b/projectDoubleDeckerBus/projectDoubleDeckerBus.sln new file mode 100644 index 0000000..7b1536d --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.7.34024.191 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "projectDoubleDeckerBus", "projectDoubleDeckerBus\projectDoubleDeckerBus.csproj", "{9771E620-87C8-4B74-A32F-1F8D7207F8F0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9771E620-87C8-4B74-A32F-1F8D7207F8F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9771E620-87C8-4B74-A32F-1F8D7207F8F0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9771E620-87C8-4B74-A32F-1F8D7207F8F0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9771E620-87C8-4B74-A32F-1F8D7207F8F0}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1FCA0DAF-D924-4754-8485-F9D9E36AB8B0} + EndGlobalSection +EndGlobal diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/Direction.cs b/projectDoubleDeckerBus/projectDoubleDeckerBus/Direction.cs new file mode 100644 index 0000000..3daf4f7 --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/Direction.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace projectDoubleDeckerBus +{ + public enum Direction + { + /// + Up = 1, + /// + /// Вниз + /// + Down = 2, + /// + /// Влево + /// + Left = 3, + /// + /// Вправо + /// + Right = 4 + } +} + diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/DrawningDoubleDeckerBus.cs b/projectDoubleDeckerBus/projectDoubleDeckerBus/DrawningDoubleDeckerBus.cs new file mode 100644 index 0000000..0bbc6aa --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/DrawningDoubleDeckerBus.cs @@ -0,0 +1,209 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace projectDoubleDeckerBus +{ + public class DrawningDoubleDeckerBus + { + /// + /// Класс-сущность + /// + public EntityDoubleDeckerBus? EntityDoubleDeckerBus { get; private set; } + /// + /// Ширина окна + /// + private int _pictureWidth; + /// + /// Высота окна + /// + private int _pictureHeight; + /// + /// + /// Левая координата прорисовки автобуса + /// + private int _startPosX; + /// + /// Верхняя кооридната прорисовки автобуса + /// + private int _startPosY; + /// + /// Ширина прорисовки автобуса + /// + private readonly int _busWidth = 172; + /// + /// Высота прорисовки автобуса + /// + private readonly int _busHeight = 113; + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес + /// Цвет кузова + /// Дополнительный цвет + /// Признак наличия фары + /// Признак наличия этажа + /// Признак наличия выхлопа + /// Ширина картинки + /// Высота картинки + /// true - объект создан, false - проверка не пройдена, + + public bool Init(int speed, double weight, Color bodyColor, Color + additionalColor, bool headlight, bool floor, bool tailpipe, int width, int height) + { + _pictureWidth = width; + _pictureHeight = height; + EntityDoubleDeckerBus = new EntityDoubleDeckerBus(); + EntityDoubleDeckerBus.Init(speed, weight, bodyColor, additionalColor, headlight, floor, tailpipe); + /// Проверка на вместимость обьекта в рамки сцены + /// + if ((_busWidth >= _pictureWidth) || (_busHeight >= _pictureHeight)) + { + Console.WriteLine("проверка не пройдена, нельзя создать объект в этих размерах"); + return false; + } + else + Console.WriteLine("объект создан"); + return true; + } + /// + /// Установка позиции + /// + /// Координата X + /// Координата Y + public void SetPosition(int x, int y) + { + if (((x >= 0) && (x + _busWidth > _pictureWidth)) || ((y >= 0) && (y + _busHeight > _pictureHeight))) + { + _startPosX = _pictureWidth - _busWidth; + _startPosY = _pictureHeight - _busHeight; + } + + else + { + _startPosX = x; + _startPosY = y; + } + } + /// + /// Изменение направления перемещения + /// + /// Направление + public void MoveTransport(Direction direction) + { + if (EntityDoubleDeckerBus == null) + { + return; + } + switch (direction) + { + //влево + case Direction.Left: + if (_startPosX - EntityDoubleDeckerBus.Step > 0) + { + _startPosX -= (int)EntityDoubleDeckerBus.Step; + } + break; + //вверх + case Direction.Up: + if (_startPosY - EntityDoubleDeckerBus.Step > 0) + { + _startPosY -= (int)EntityDoubleDeckerBus.Step; + } + break; + // вправо + case Direction.Right: + if (_startPosX + _busWidth + EntityDoubleDeckerBus.Step < _pictureWidth) + { + _startPosX += (int)EntityDoubleDeckerBus.Step; + } + break; + //вниз + case Direction.Down: + if (_startPosY + _busHeight + EntityDoubleDeckerBus.Step < _pictureHeight) + { + _startPosY += (int)EntityDoubleDeckerBus.Step; + } + break; + } + } + /// + /// Прорисовка объекта + /// + /// + public void DrawTransport(Graphics g) + { + if (EntityDoubleDeckerBus == null) + { + return; + } + + int windowSize = 15; + Brush brBlack = new SolidBrush(Color.Black); + Brush brRed = new SolidBrush(Color.Red); + + Pen pen = new(Color.Black); + Brush additionalBrush = new SolidBrush(EntityDoubleDeckerBus.AdditionalColor); + + Brush br = new SolidBrush(EntityDoubleDeckerBus?.BodyColor ?? Color.Black); + g.FillRectangle(br, _startPosX + 40, _startPosY + 34, 130, 52); + + g.DrawEllipse(pen, _startPosX + 46, _startPosY + 50, windowSize, windowSize); + g.DrawEllipse(pen, _startPosX + 62, _startPosY + 50, windowSize, windowSize); + g.DrawEllipse(pen, _startPosX + 100, _startPosY + 50, windowSize, windowSize); + + g.DrawEllipse(pen, _startPosX + 115, _startPosY + 50, windowSize, windowSize); + g.DrawEllipse(pen, _startPosX + 130, _startPosY + 50, windowSize, windowSize); + g.DrawEllipse(pen, _startPosX + 145, _startPosY + 50, windowSize, windowSize); + + //колеса + g.FillRectangle(brBlack, _startPosX + 80, _startPosY + 46, 15, 40); + g.FillEllipse(brBlack, _startPosX + 50, _startPosY + 75, 20, 20); + g.FillEllipse(brBlack, _startPosX + 140, _startPosY + 75, 20, 20); + + Brush brBlue = new SolidBrush(Color.LightBlue); + g.FillEllipse(brBlue, _startPosX + 46, _startPosY + 50, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 62, _startPosY + 50, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 100, _startPosY + 50, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 115, _startPosY + 50, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 130, _startPosY + 50, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 145, _startPosY + 50, windowSize, windowSize); + + if (EntityDoubleDeckerBus.Floor) + { + g.DrawEllipse(pen, _startPosX + 46, _startPosY + 10, windowSize, windowSize); + g.DrawEllipse(pen, _startPosX + 62, _startPosY + 10, windowSize, windowSize); + g.DrawEllipse(pen, _startPosX + 100, _startPosY + 10, windowSize, windowSize); + + g.DrawEllipse(pen, _startPosX + 115, _startPosY + 10, windowSize, windowSize); + g.DrawEllipse(pen, _startPosX + 130, _startPosY + 10, windowSize, windowSize); + g.DrawEllipse(pen, _startPosX + 145, _startPosY + 10, windowSize, windowSize); + + g.FillRectangle(additionalBrush, _startPosX + 40, + _startPosY + 1, 130, 32); + + Brush brBlue1 = new SolidBrush(Color.LightBlue); + g.FillEllipse(brBlue, _startPosX + 46, _startPosY + 10, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 62, _startPosY + 10, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 100, _startPosY + 10, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 115, _startPosY + 10, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 130, _startPosY + 10, windowSize, windowSize); + g.FillEllipse(brBlue, _startPosX + 145, _startPosY + 10, windowSize, windowSize); + } + + if (EntityDoubleDeckerBus.Headlight) + { + g.FillEllipse(additionalBrush, _startPosX + 162, _startPosY + 78, 10, 10); + } + + if (EntityDoubleDeckerBus.Tailpipe) + { + g.FillRectangle(additionalBrush, _startPosX, _startPosY + 76, 40, 10); + + } + } + } +} diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/EntityDoubleDeckerBus.cs b/projectDoubleDeckerBus/projectDoubleDeckerBus/EntityDoubleDeckerBus.cs new file mode 100644 index 0000000..c9401ba --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/EntityDoubleDeckerBus.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace projectDoubleDeckerBus +{ + public class EntityDoubleDeckerBus + { + /// + /// Скорость + /// + 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 Headlight { get; private set; } + /// + /// Признак (опция) наличия второго этажа + /// + public bool Floor { get; private set; } + /// + /// Признак (опция) наличия выхлопа + /// + public bool Tailpipe { get; private set; } + /// + /// Шаг перемещения автобуса + /// + public double Step => (double)Speed * 100 / Weight; + /// + /// Инициализация полей объекта-класса спортивного автобуса + /// + /// Скорость + /// Вес автобуса + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия фары + /// Признак наличия второго этажаы + /// Признак наличия выхлопа + public void Init(int speed, double weight, Color bodyColor, Color + additionalColor, bool headlight, bool floor, bool tailpipe) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + Headlight = headlight; + Floor = floor; + Tailpipe = tailpipe; + } + } +} diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.Designer.cs b/projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.Designer.cs new file mode 100644 index 0000000..be60cb5 --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.Designer.cs @@ -0,0 +1,170 @@ +namespace projectDoubleDeckerBus +{ + partial class FormDoubleDeckerBus + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + pictureBoxDoubleDeckerBus = new PictureBox(); + buttonCreate = new Button(); + buttonDown = new Button(); + buttonLeft = new Button(); + buttonUp = new Button(); + buttonRight = new Button(); + statusStrip1 = new StatusStrip(); + toolStripStatusLabelSpeed = new ToolStripStatusLabel(); + toolStripStatusLabelWeight = new ToolStripStatusLabel(); + toolStripStatusLabelColor = new ToolStripStatusLabel(); + ((System.ComponentModel.ISupportInitialize)pictureBoxDoubleDeckerBus).BeginInit(); + statusStrip1.SuspendLayout(); + SuspendLayout(); + // + // pictureBoxDoubleDeckerBus + // + pictureBoxDoubleDeckerBus.Dock = DockStyle.Fill; + pictureBoxDoubleDeckerBus.Location = new Point(0, 0); + pictureBoxDoubleDeckerBus.Name = "pictureBoxDoubleDeckerBus"; + pictureBoxDoubleDeckerBus.Size = new Size(800, 450); + pictureBoxDoubleDeckerBus.SizeMode = PictureBoxSizeMode.AutoSize; + pictureBoxDoubleDeckerBus.TabIndex = 0; + pictureBoxDoubleDeckerBus.TabStop = false; + // + // buttonCreate + // + buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonCreate.Location = new Point(12, 399); + buttonCreate.Name = "buttonCreate"; + buttonCreate.Size = new Size(75, 23); + buttonCreate.TabIndex = 1; + buttonCreate.Text = "Create"; + buttonCreate.UseVisualStyleBackColor = true; + buttonCreate.Click += ButtonCreate_Click; + // + // buttonDown + // + buttonDown.BackgroundImage = Properties.Resources.вниз; + buttonDown.BackgroundImageLayout = ImageLayout.Zoom; + buttonDown.Location = new Point(692, 392); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(30, 30); + buttonDown.TabIndex = 2; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += ButtonMove_Click; + // + // buttonLeft + // + buttonLeft.BackgroundImage = Properties.Resources.влево; + buttonLeft.BackgroundImageLayout = ImageLayout.Zoom; + buttonLeft.Location = new Point(656, 392); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(30, 30); + buttonLeft.TabIndex = 3; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += ButtonMove_Click; + // + // buttonUp + // + buttonUp.BackgroundImage = Properties.Resources.вверх; + buttonUp.BackgroundImageLayout = ImageLayout.Zoom; + buttonUp.Location = new Point(692, 356); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(30, 30); + buttonUp.TabIndex = 4; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += ButtonMove_Click; + // + // buttonRight + // + buttonRight.BackgroundImage = Properties.Resources.вправо; + buttonRight.BackgroundImageLayout = ImageLayout.Zoom; + buttonRight.Location = new Point(728, 392); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(30, 30); + buttonRight.TabIndex = 5; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += ButtonMove_Click; + // + // statusStrip1 + // + statusStrip1.Items.AddRange(new ToolStripItem[] { toolStripStatusLabelSpeed, toolStripStatusLabelWeight, toolStripStatusLabelColor }); + statusStrip1.Location = new Point(0, 428); + statusStrip1.Name = "statusStrip1"; + statusStrip1.Size = new Size(800, 22); + statusStrip1.TabIndex = 6; + statusStrip1.Text = "statusStrip1"; + // + // toolStripStatusLabelSpeed + // + toolStripStatusLabelSpeed.Name = "toolStripStatusLabelSpeed"; + toolStripStatusLabelSpeed.Size = new Size(39, 17); + toolStripStatusLabelSpeed.Text = "Speed"; + // + // toolStripStatusLabelWeight + // + toolStripStatusLabelWeight.Name = "toolStripStatusLabelWeight"; + toolStripStatusLabelWeight.Size = new Size(45, 17); + toolStripStatusLabelWeight.Text = "Weight"; + // + // toolStripStatusLabelColor + // + toolStripStatusLabelColor.Name = "toolStripStatusLabelColor"; + toolStripStatusLabelColor.Size = new Size(36, 17); + toolStripStatusLabelColor.Text = "Color"; + // + // FormDoubleDeckerBus + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(statusStrip1); + Controls.Add(buttonRight); + Controls.Add(buttonUp); + Controls.Add(buttonLeft); + Controls.Add(buttonDown); + Controls.Add(buttonCreate); + Controls.Add(pictureBoxDoubleDeckerBus); + Name = "FormDoubleDeckerBus"; + StartPosition = FormStartPosition.CenterScreen; + Text = "DoubleDeckerBus"; + ((System.ComponentModel.ISupportInitialize)pictureBoxDoubleDeckerBus).EndInit(); + statusStrip1.ResumeLayout(false); + statusStrip1.PerformLayout(); + ResumeLayout(false); + PerformLayout(); + } + #endregion + private PictureBox pictureBoxDoubleDeckerBus; + private Button buttonCreate; + private Button buttonDown; + private Button buttonLeft; + private Button buttonUp; + private Button buttonRight; + private StatusStrip statusStrip1; + private ToolStripStatusLabel toolStripStatusLabelSpeed; + private ToolStripStatusLabel toolStripStatusLabelWeight; + private ToolStripStatusLabel toolStripStatusLabelColor; + } +} \ No newline at end of file diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.cs b/projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.cs new file mode 100644 index 0000000..110e02f --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.cs @@ -0,0 +1,70 @@ +namespace projectDoubleDeckerBus +{ + public partial class FormDoubleDeckerBus : Form + { + private DrawningDoubleDeckerBus? _drawningDoubleDeckerBus; + public FormDoubleDeckerBus() + { + InitializeComponent(); + } + + private void Draw() + { + if (_drawningDoubleDeckerBus == null) + { + return; + } + Bitmap bmp = new(pictureBoxDoubleDeckerBus.Width, + pictureBoxDoubleDeckerBus.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawningDoubleDeckerBus.DrawTransport(gr); + pictureBoxDoubleDeckerBus.Image = bmp; + } + private void ButtonCreate_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningDoubleDeckerBus = new DrawningDoubleDeckerBus(); + _drawningDoubleDeckerBus.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)), Convert.ToBoolean(random.Next(0, 2)), + + pictureBoxDoubleDeckerBus.Width, pictureBoxDoubleDeckerBus.Height); + _drawningDoubleDeckerBus.SetPosition(random.Next(10, 100), + random.Next(10, 100)); + Draw(); + + } + + private void ButtonMove_Click(object sender, EventArgs e) + { + if (_drawningDoubleDeckerBus == null) + { + return; + } + string name = ((Button)sender)?.Name ?? string.Empty; + switch (name) + { + case "buttonUp": + _drawningDoubleDeckerBus.MoveTransport(Direction.Up); + break; + case "buttonDown": + _drawningDoubleDeckerBus.MoveTransport(Direction.Down); + break; + case "buttonLeft": + _drawningDoubleDeckerBus.MoveTransport(Direction.Left); + break; + case "buttonRight": + _drawningDoubleDeckerBus.MoveTransport(Direction.Right); + break; + } + Draw(); + + } + + } +} \ No newline at end of file diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.resx b/projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.resx new file mode 100644 index 0000000..22c1b7a --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/FormDoubleDeckerBus.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 25 + + \ No newline at end of file diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/Program.cs b/projectDoubleDeckerBus/projectDoubleDeckerBus/Program.cs new file mode 100644 index 0000000..3d6ee53 --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/Program.cs @@ -0,0 +1,17 @@ +namespace projectDoubleDeckerBus +{ + internal static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + ApplicationConfiguration.Initialize(); + Application.Run(new FormDoubleDeckerBus()); + } + } +} \ No newline at end of file diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/Properties/Resources.Designer.cs b/projectDoubleDeckerBus/projectDoubleDeckerBus/Properties/Resources.Designer.cs new file mode 100644 index 0000000..a5dc3e6 --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace projectDoubleDeckerBus.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("projectDoubleDeckerBus.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 вверх { + get { + object obj = ResourceManager.GetObject("вверх", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap влево { + get { + object obj = ResourceManager.GetObject("влево", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap вниз { + get { + object obj = ResourceManager.GetObject("вниз", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap вправо { + get { + object obj = ResourceManager.GetObject("вправо", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/Properties/Resources.resx b/projectDoubleDeckerBus/projectDoubleDeckerBus/Properties/Resources.resx new file mode 100644 index 0000000..2bc00c7 --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/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\вверх.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\влево.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\вниз.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\вправо.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/вверх.png b/projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/вверх.png new file mode 100644 index 0000000000000000000000000000000000000000..84db55c1f0317a5bb36e68860db7239de90d0265 GIT binary patch literal 10441 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 Wsux&lLk|phSeRO$d3@S4_J0Ahv|S1S literal 0 HcmV?d00001 diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/влево.png b/projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/влево.png new file mode 100644 index 0000000000000000000000000000000000000000..3636498f39090b5894dd799ab037ded128be2cec GIT binary patch literal 9654 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 DFV+PD literal 0 HcmV?d00001 diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/вправо.png b/projectDoubleDeckerBus/projectDoubleDeckerBus/Resources/вправо.png new file mode 100644 index 0000000000000000000000000000000000000000..b3ce57601954939c13db779f52bd112b290e2d06 GIT binary patch literal 8818 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 literal 0 HcmV?d00001 diff --git a/projectDoubleDeckerBus/projectDoubleDeckerBus/projectDoubleDeckerBus.csproj b/projectDoubleDeckerBus/projectDoubleDeckerBus/projectDoubleDeckerBus.csproj new file mode 100644 index 0000000..13ee123 --- /dev/null +++ b/projectDoubleDeckerBus/projectDoubleDeckerBus/projectDoubleDeckerBus.csproj @@ -0,0 +1,26 @@ + + + + WinExe + net6.0-windows + enable + true + enable + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + \ No newline at end of file -- 2.25.1