diff --git a/ProjectA/ProjectA.sln b/AirBus/AirBus.sln
similarity index 60%
rename from ProjectA/ProjectA.sln
rename to AirBus/AirBus.sln
index 6f1c81f..313ff76 100644
--- a/ProjectA/ProjectA.sln
+++ b/AirBus/AirBus.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.12.35527.113 d17.12
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectA", "ProjectA\ProjectA.csproj", "{1B38AB8E-8721-4385-992F-F63A960D58A4}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AirBus", "AirBus\AirBus.csproj", "{56F7567B-5AB2-4640-BBA7-7A3322BA2BCE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +11,10 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1B38AB8E-8721-4385-992F-F63A960D58A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1B38AB8E-8721-4385-992F-F63A960D58A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1B38AB8E-8721-4385-992F-F63A960D58A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1B38AB8E-8721-4385-992F-F63A960D58A4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {56F7567B-5AB2-4640-BBA7-7A3322BA2BCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {56F7567B-5AB2-4640-BBA7-7A3322BA2BCE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {56F7567B-5AB2-4640-BBA7-7A3322BA2BCE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {56F7567B-5AB2-4640-BBA7-7A3322BA2BCE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/AirBus/AirBus/AirBus.csproj b/AirBus/AirBus/AirBus.csproj
new file mode 100644
index 0000000..af03d74
--- /dev/null
+++ b/AirBus/AirBus/AirBus.csproj
@@ -0,0 +1,26 @@
+
+
+
+ WinExe
+ net8.0-windows
+ enable
+ true
+ enable
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
+
\ No newline at end of file
diff --git a/AirBus/AirBus/DirectionType.cs b/AirBus/AirBus/DirectionType.cs
new file mode 100644
index 0000000..73cb7b3
--- /dev/null
+++ b/AirBus/AirBus/DirectionType.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AirBus
+{
+ ///
+ /// Направление перемещения
+ ///
+ public enum DirectionType
+ {
+ ///
+ /// Вверх
+ ///
+ Up = 1,
+
+ ///
+ /// Вниз
+ ///
+ Down = 2,
+
+ ///
+ /// Влево
+ ///
+ Left = 3,
+
+ ///
+ /// Вправо
+ ///
+ Right = 4,
+ }
+}
diff --git a/AirBus/AirBus/DrawingAirBus.cs b/AirBus/AirBus/DrawingAirBus.cs
new file mode 100644
index 0000000..090d81f
--- /dev/null
+++ b/AirBus/AirBus/DrawingAirBus.cs
@@ -0,0 +1,241 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AirBus
+{
+ ///
+ /// Класс отвечающий за прорисовку и перемещение объекта-сущности
+ ///
+ public class DrawingAirBus
+ {
+ ///
+ /// Класс-сущность
+ ///
+ public EntityAirBus? EntityAirBus { get; set; }
+
+ ///
+ /// Ширина окна
+ ///
+ private int? _pictureWidth;
+
+ ///
+ /// Высота окна
+ ///
+ private int? _pictureHeight;
+
+ ///
+ /// Левая координата прорисовки самолёта
+ ///
+ private int? _startPosX;
+
+ ///
+ /// Верхняя координата прорисовки самолёта
+ ///
+ private int? _startPosY;
+
+ ///
+ /// Ширина прорисовки самолёта
+ ///
+ private readonly int _drawingAirBusWidth = 175;
+
+ ///
+ /// Ширина прорисовки самолёта
+ ///
+ private readonly int _drawingAirBusHeight = 72;
+
+ ///
+ /// Инициализация свойств
+ ///
+ /// Скорость
+ /// Вес
+ /// Основной цвет
+ /// Дополнительный цвет
+ /// Признак наличия дополнительных пары двигателей
+ /// Признак наличия второго этажа
+ /// Признак наличия линии на крыле
+ public void Init(int speed, double weight, Color bodyColor, Color additionalColor,
+ bool extraEngine, bool secondFloor)
+ {
+ EntityAirBus = new EntityAirBus();
+ EntityAirBus.Init(speed, weight, bodyColor, additionalColor, extraEngine, secondFloor);
+ _pictureHeight = null;
+ _pictureWidth = null;
+ _startPosX = null;
+ _startPosY = null;
+ }
+
+ ///
+ /// Установка границ поля
+ ///
+ /// Ширина поля
+ /// Высота поля
+ /// true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах
+ public bool SetPictureSize(int width, int height)
+ {
+ if (width < _drawingAirBusWidth || height < _drawingAirBusHeight)
+ {
+ return false;
+ }
+ _pictureHeight = height;
+ _pictureWidth = width;
+ return true;
+ }
+
+ ///
+ /// Установка позиции
+ ///
+ /// Координата x
+ /// Координата y
+ public void SetPosition(int x, int y)
+ {
+ if (!_pictureWidth.HasValue || !_pictureHeight.HasValue)
+ {
+ return;
+ }
+ if (x > _pictureHeight.Value || y > _pictureWidth.Value || x < 0 || y < 0)
+ {
+ _startPosY = 0;
+ _startPosX = 0;
+ }
+ else
+ {
+ _startPosX = x;
+ _startPosY = y;
+ }
+ }
+
+ ///
+ /// Изменение направления перемещения
+ ///
+ /// Направление
+ /// true - перемещение выполнено, false - перемещение невозможно
+ public bool MoveTransport(DirectionType direction)
+ {
+ if (EntityAirBus == null || !_startPosX.HasValue || !_startPosY.HasValue)
+ {
+ return false;
+ }
+
+ switch(direction)
+ {
+ case DirectionType.Left:
+ if(_startPosX.Value - EntityAirBus.Step > 0)
+ {
+ _startPosX -= (int)EntityAirBus.Step;
+ }
+ return true;
+
+ case DirectionType.Up:
+ if(_startPosY.Value - EntityAirBus.Step > 0)
+ {
+ _startPosY -= (int)EntityAirBus.Step;
+ }
+ return true;
+
+ case DirectionType.Right:
+ if(_startPosX.Value + EntityAirBus.Step + _drawingAirBusWidth < _pictureWidth.Value )
+ {
+ _startPosX += (int)EntityAirBus.Step;
+ }
+ return true;
+ case DirectionType.Down:
+ if(_startPosY + EntityAirBus.Step + _drawingAirBusHeight < _pictureHeight.Value )
+ {
+ _startPosY += (int)EntityAirBus.Step;
+ }
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ ///
+ /// Прорисовка объекта
+ ///
+ ///
+ public void DrawTransport(Graphics g)
+ {
+ if (EntityAirBus == null || !_startPosX.HasValue || !_startPosY.HasValue)
+ {
+ return;
+ }
+
+ Pen pen = new(Color.Black, 1);
+ Brush additionalBrush = new SolidBrush(EntityAirBus.AdditionalColor);
+ Brush br = new SolidBrush(EntityAirBus.BodyColor);
+ Brush brBlack = new SolidBrush(Color.Black);
+
+ //точки для заднего крыла
+ Point[] pointsBackWing = new Point[]
+ {
+ new Point(_startPosX.Value + 5, _startPosY.Value + 5),
+ new Point(_startPosX.Value + 35, _startPosY.Value + 35),
+ new Point(_startPosX.Value + 5, _startPosY.Value + 35)
+ };
+ //точки для носа
+ Point[] pointsNose = new Point[]
+ {
+ new Point(_startPosX.Value + 150, _startPosY.Value + 60),
+ new Point(_startPosX.Value + 175, _startPosY.Value + 47),
+ new Point(_startPosX.Value + 150, _startPosY.Value + 35)
+ };
+
+ //заливки
+ g.FillPolygon(br, pointsBackWing); // заднее крыло
+ g.FillPie(br, _startPosX.Value, _startPosY.Value + 35, 25, 25, 90, 180); // задняя полуокружность
+ g.FillRectangle(br, _startPosX.Value + 10, _startPosY.Value + 35, 140, 25); // корпус
+ g.FillPolygon(br, pointsNose); // нос
+ g.FillEllipse(br, _startPosX.Value + 40, _startPosY.Value + 65, 7, 7); // заднее шасси
+ g.FillEllipse(br, _startPosX.Value + 30, _startPosY.Value + 65, 7, 7); // заднее шасси
+ g.FillEllipse(br, _startPosX.Value + 140, _startPosY.Value + 65, 7, 7); // переднее шасси
+
+ //контуры
+ g.DrawPolygon(pen, pointsBackWing); // заднее крыло
+ g.DrawArc(pen, _startPosX.Value, _startPosY.Value + 35, 25, 25, 90, 180); // задняя полуокружность
+ g.DrawLine(pen, new Point(_startPosX.Value + 10, _startPosY.Value + 60), new Point(_startPosX.Value + 150, _startPosY.Value + 60)); // нижний контур корпуса
+ g.DrawLine(pen, new Point(_startPosX.Value + 35, _startPosY.Value + 35), new Point(_startPosX.Value + 150, _startPosY.Value + 35)); // верхний контур корпуса
+ g.DrawPolygon(pen, pointsNose); // нос
+ g.DrawLine(pen, new Point(_startPosX.Value + 150, _startPosY.Value + 47), new Point(_startPosX.Value + 175, _startPosY.Value + 47)); // окна на носе
+ g.DrawEllipse(pen, _startPosX.Value + 40, _startPosY.Value + 65, 7, 7); // заднее шасси
+ g.DrawEllipse(pen, _startPosX.Value + 30, _startPosY.Value + 65, 7, 7); // заднее шасси
+ g.DrawEllipse(pen, _startPosX.Value + 140, _startPosY.Value + 65, 7, 7); // переднее шасси
+ g.DrawLine(pen, new Point(_startPosX.Value + 38, _startPosY.Value + 60), new Point(_startPosX.Value + 38, _startPosY.Value + 70)); // стойка заднего шасси
+ g.DrawLine(pen, new Point(_startPosX.Value + 39, _startPosY.Value + 60), new Point(_startPosX.Value + 39, _startPosY.Value + 70)); // стойка заднего шасси
+ g.DrawLine(pen, new Point(_startPosX.Value + 144, _startPosY.Value + 60), new Point(_startPosX.Value + 144, _startPosY.Value + 65)); // стойка переднего шасси
+
+ // чёрные заливки
+ g.FillEllipse(brBlack, _startPosX.Value, _startPosY.Value + 30, 10, 10); // заднее крыло
+ g.FillEllipse(brBlack, _startPosX.Value + 15, _startPosY.Value + 30, 10, 10);
+ g.FillRectangle(brBlack, _startPosX.Value + 5, _startPosY.Value + 30, 15, 10);
+
+ g.FillEllipse(brBlack, _startPosX.Value + 50, _startPosY.Value + 45, 7, 7); //крыло
+ g.FillRectangle(brBlack, _startPosX.Value + 54, _startPosY.Value + 45, 55, 7);
+ g.FillEllipse(brBlack, _startPosX.Value + 105, _startPosY.Value + 45, 7, 7);
+
+ if(EntityAirBus.ExtraEngine) // двигатели опционально
+ {
+
+ g.FillEllipse(additionalBrush, _startPosX.Value + 75, _startPosY.Value + 51, 10, 10);
+ g.FillEllipse(additionalBrush, _startPosX.Value + 80, _startPosY.Value + 51, 10, 10);
+ g.DrawArc(pen, _startPosX.Value + 75, _startPosY.Value + 51, 10, 10, 90, 180);
+ g.DrawArc(pen, _startPosX.Value + 80, _startPosY.Value + 51, 10, 10, -90, 180);
+ g.DrawLine(pen, new Point(_startPosX.Value + 80, _startPosY.Value + 51), new Point(_startPosX.Value + 85, _startPosY.Value + 51));
+ g.DrawLine(pen, new Point(_startPosX.Value + 80, _startPosY.Value + 61), new Point(_startPosX.Value + 85, _startPosY.Value + 61));
+ }
+
+ if(EntityAirBus.SecondFloor) // пассажирский второй этаж
+ {
+
+ g.FillRectangle(additionalBrush, _startPosX.Value + 90, _startPosY.Value + 25, 50, 10);
+ g.DrawRectangle(pen, _startPosX.Value + 90, _startPosY.Value + 25, 50, 10);
+
+
+ }
+
+
+ }
+ }
+}
diff --git a/AirBus/AirBus/EntityAirBus.cs b/AirBus/AirBus/EntityAirBus.cs
new file mode 100644
index 0000000..c3d4a69
--- /dev/null
+++ b/AirBus/AirBus/EntityAirBus.cs
@@ -0,0 +1,73 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AirBus
+{
+ ///
+ /// Класс-сущность "Аэробус"
+ ///
+ public class EntityAirBus
+ {
+ ///
+ /// Скорость
+ ///
+ 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 ExtraEngine { get; private set; }
+
+ ///
+ /// Признак (опция) наличия второго этажа
+ ///
+ public bool SecondFloor { get; private set; }
+
+
+
+
+ ///
+ /// Шаг перемещения самолёта
+ ///
+ public double Step => Speed * 100 / Weight;
+
+ ///
+ /// Инициализация полей объекта-класса самолёта "Аэробус"
+ ///
+ /// Скорость
+ /// Вес
+ /// Основной цвет
+ /// Дополнительный цвет
+ /// Признак наличия дополнительных пары двигателей
+ /// Признак наличия второго этажа
+
+ public void Init(int speed, double weight, Color bodyColor, Color additionalColor,
+ bool extraEngine, bool secondFloor)
+ {
+ Speed = speed;
+ Weight = weight;
+ BodyColor = bodyColor;
+ AdditionalColor = additionalColor;
+ ExtraEngine = extraEngine;
+ SecondFloor = secondFloor;
+ }
+ }
+}
diff --git a/AirBus/AirBus/FormAirBus.Designer.cs b/AirBus/AirBus/FormAirBus.Designer.cs
new file mode 100644
index 0000000..b8f5577
--- /dev/null
+++ b/AirBus/AirBus/FormAirBus.Designer.cs
@@ -0,0 +1,138 @@
+namespace AirBus
+{
+ partial class FormAirBus
+ {
+ ///
+ /// 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()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAirBus));
+ pictureBoxAirBus = new PictureBox();
+ buttonCreateAirBus = new Button();
+ buttonLeft = new Button();
+ buttonUp = new Button();
+ buttonDown = new Button();
+ buttonRight = new Button();
+ ((System.ComponentModel.ISupportInitialize)pictureBoxAirBus).BeginInit();
+ SuspendLayout();
+ //
+ // pictureBoxAirBus
+ //
+ pictureBoxAirBus.Dock = DockStyle.Fill;
+ pictureBoxAirBus.Location = new Point(0, 0);
+ pictureBoxAirBus.Name = "pictureBoxAirBus";
+ pictureBoxAirBus.Size = new Size(1004, 468);
+ pictureBoxAirBus.TabIndex = 0;
+ pictureBoxAirBus.TabStop = false;
+ //
+ // buttonCreateAirBus
+ //
+ buttonCreateAirBus.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
+ buttonCreateAirBus.Location = new Point(12, 427);
+ buttonCreateAirBus.Name = "buttonCreateAirBus";
+ buttonCreateAirBus.Size = new Size(94, 29);
+ buttonCreateAirBus.TabIndex = 1;
+ buttonCreateAirBus.Text = "Создать";
+ buttonCreateAirBus.UseVisualStyleBackColor = true;
+ buttonCreateAirBus.Click += buttonCreateAirBus_Click;
+ //
+ // buttonLeft
+ //
+ buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonLeft.BackgroundImage = (Image)resources.GetObject("buttonLeft.BackgroundImage");
+ buttonLeft.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonLeft.Location = new Point(875, 421);
+ buttonLeft.Name = "buttonLeft";
+ buttonLeft.Size = new Size(35, 35);
+ buttonLeft.TabIndex = 2;
+ buttonLeft.UseVisualStyleBackColor = true;
+ buttonLeft.Click += ButtonMove_Click;
+ //
+ // buttonUp
+ //
+ buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonUp.BackgroundImage = (Image)resources.GetObject("buttonUp.BackgroundImage");
+ buttonUp.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonUp.Location = new Point(916, 380);
+ buttonUp.Name = "buttonUp";
+ buttonUp.Size = new Size(35, 35);
+ buttonUp.TabIndex = 2;
+ buttonUp.TextAlign = ContentAlignment.BottomLeft;
+ buttonUp.UseVisualStyleBackColor = true;
+ buttonUp.Click += ButtonMove_Click;
+ //
+ // buttonDown
+ //
+ buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonDown.BackgroundImage = (Image)resources.GetObject("buttonDown.BackgroundImage");
+ buttonDown.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonDown.Location = new Point(916, 421);
+ buttonDown.Name = "buttonDown";
+ buttonDown.Size = new Size(35, 35);
+ buttonDown.TabIndex = 2;
+ buttonDown.TextAlign = ContentAlignment.BottomLeft;
+ buttonDown.UseVisualStyleBackColor = true;
+ buttonDown.Click += ButtonMove_Click;
+ //
+ // buttonRight
+ //
+ buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonRight.BackgroundImage = (Image)resources.GetObject("buttonRight.BackgroundImage");
+ buttonRight.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonRight.Location = new Point(957, 421);
+ buttonRight.Name = "buttonRight";
+ buttonRight.Size = new Size(35, 35);
+ buttonRight.TabIndex = 2;
+ buttonRight.TextAlign = ContentAlignment.BottomLeft;
+ buttonRight.UseVisualStyleBackColor = true;
+ buttonRight.Click += ButtonMove_Click;
+ //
+ // FormAirBus
+ //
+ AutoScaleDimensions = new SizeF(8F, 20F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(1004, 468);
+ Controls.Add(buttonRight);
+ Controls.Add(buttonDown);
+ Controls.Add(buttonUp);
+ Controls.Add(buttonLeft);
+ Controls.Add(buttonCreateAirBus);
+ Controls.Add(pictureBoxAirBus);
+ Name = "FormAirBus";
+ Text = "Аэробус";
+ ((System.ComponentModel.ISupportInitialize)pictureBoxAirBus).EndInit();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private PictureBox pictureBoxAirBus;
+ private Button buttonCreateAirBus;
+ private Button buttonLeft;
+ private Button buttonUp;
+ private Button buttonDown;
+ private Button buttonRight;
+ }
+}
\ No newline at end of file
diff --git a/AirBus/AirBus/FormAirBus.cs b/AirBus/AirBus/FormAirBus.cs
new file mode 100644
index 0000000..9c193aa
--- /dev/null
+++ b/AirBus/AirBus/FormAirBus.cs
@@ -0,0 +1,77 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace AirBus;
+
+public partial class FormAirBus : Form
+{
+ private DrawingAirBus? _drawingAirBus;
+ public FormAirBus()
+ {
+ InitializeComponent();
+ }
+
+ private void Draw()
+ {
+ if (_drawingAirBus == null)
+ {
+ return;
+ }
+
+ Bitmap bmp = new(pictureBoxAirBus.Width, pictureBoxAirBus.Height);
+ Graphics gr = Graphics.FromImage(bmp);
+ _drawingAirBus.DrawTransport(gr);
+ pictureBoxAirBus.Image = bmp;
+ }
+ private void buttonCreateAirBus_Click(object sender, EventArgs e)
+ {
+ Random random = new();
+ _drawingAirBus = new DrawingAirBus();
+ _drawingAirBus.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)));
+ _drawingAirBus.SetPictureSize(pictureBoxAirBus.Width, pictureBoxAirBus.Height);
+ _drawingAirBus.SetPosition(random.Next(10, 100), random.Next(10, 100));
+
+ Draw();
+ }
+
+ private void ButtonMove_Click(object sender, EventArgs e)
+ {
+ if (_drawingAirBus == null)
+ {
+ return;
+ }
+
+ string name = ((Button)sender)?.Name ?? String.Empty;
+ bool result = false;
+ switch (name)
+ {
+ case "buttonUp":
+ result = _drawingAirBus.MoveTransport(DirectionType.Up);
+ break;
+ case "buttonDown":
+ result = _drawingAirBus.MoveTransport(DirectionType.Down);
+ break;
+ case "buttonLeft":
+ result = _drawingAirBus.MoveTransport(DirectionType.Left);
+ break;
+ case "buttonRight":
+ result = _drawingAirBus.MoveTransport(DirectionType.Right);
+ break;
+ }
+
+ if(result)
+ {
+ Draw();
+ }
+ }
+}
diff --git a/AirBus/AirBus/FormAirBus.resx b/AirBus/AirBus/FormAirBus.resx
new file mode 100644
index 0000000..1880bbb
--- /dev/null
+++ b/AirBus/AirBus/FormAirBus.resx
@@ -0,0 +1,294 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ /9j/4AAQSkZJRgABAQEAeAB4AAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBD
+ AAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0M
+ DgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
+ DAwMDAwMDAwMDAwMDAz/wAARCABkAGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF
+ BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAk
+ M2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG
+ h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx
+ 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQA
+ AQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5
+ OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmq
+ srO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9
+ /KKKKACiiml+nGcnFAAX6cZycV+IX/ByF/wcff8ACghr37Pn7Pevf8XA/eaf4y8ZafN/yKvVZNPsZFP/
+ ACEOqyzqf9E5RD9p3NaH/ByF/wAHH3/Cghr37Pn7Pevf8XA/eaf4y8ZafN/yKvVZNPsZFP8AyEOqyzqf
+ 9E5RD9p3Nafzh7ueRmgD+hz/AIMmviv4p+Jn/DU//CR+JfEGv/aNV0DXpf7S1Ga683Ubz+1ftl63mMc3
+ E/kQebKfnk8mPcTsXH7v1+AP/BjH/wA3Rf8Acqf+5qv3+oAKKKKACiiigAooooAKKKaX6cZycUABfpxn
+ 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
+ 81hhG2R7UTDbv1foooAKKKKACiiigAooooA//9k=
+
+
+
+
+ /9j/4AAQSkZJRgABAQEAeAB4AAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBD
+ AAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0M
+ DgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
+ DAwMDAwMDAwMDAwMDAz/wAARCABkAGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF
+ BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAk
+ M2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG
+ h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx
+ 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQA
+ AQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5
+ OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmq
+ srO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9
+ /KKKKACiiigAr8Qf+DkP/g5C/wCFA/29+z3+z3r3/FwP3mn+MvGWnzf8ir1WTT7GRT/yEOqyzqf9E5RD
+ 9p3NaH/ByH/wchf8KB/t79nv9nvXv+LgfvNP8ZeMtPm/5FXqsmn2Min/AJCHVZZ1P+icoh+07mtP5waA
+ PsH/AIJtf8Fsvjh/wTg/aNPjXTPFfiDxn4f13VbjVPF/hbW9YnmsPFUt00Zu7qQuX8vUH8qNhehWlDIo
+ fzYjJDJ/Wx+wv+3T8Of+Civ7OWj/ABQ+F+sHVfD+q5huLeZVjv8ARbxVUy2V5EGbyriPcuVyVZWSRGeK
+ SORv4Zq+of8AglH/AMFWfiN/wSX/AGjI/GvguX+1fD+qeVbeKfCtzcNHYeJbNWJCMQG8q4j3O0Nwqlom
+ ZgQ8Uk0MoB/a3RXjn7C/7dPw5/4KK/s5aP8AFD4X6wdV8P6rmG4t5lWO/wBFvFVTLZXkQZvKuI9y5XJV
+ lZJEZ4pI5G9joAKKKKACiiigAooooAK/EH/g5D/4OQv+FA/29+z3+z3r3/FwP3mn+MvGWnzf8ir1WTT7
+ GRT/AMhDqss6n/ROUQ/adzWh/wAHIf8Awchf8KB/t79nv9nvXv8Ai4H7zT/GXjLT5v8AkVeqyafYyKf+
+ Qh1WWdT/AKJyiH7Tua0/nBoAKKKKACiiigD6h/4JR/8ABVn4jf8ABJf9oyPxr4Ll/tXw/qnlW3inwrc3
+ DR2HiWzViQjEBvKuI9ztDcKpaJmYEPFJNDL/AF8fsL/t0/Dn/gor+zlo/wAUPhfrB1Xw/quYbi3mVY7/
+ AEW8VVMtleRBm8q4j3LlclWVkkRnikjkb+GavqH/AIJR/wDBVn4jf8El/wBoyPxr4Ll/tXw/qnlW3inw
+ rc3DR2HiWzViQjEBvKuI9ztDcKpaJmYEPFJNDKAf2t0V45+wv+3T8Of+Civ7OWj/ABQ+F+sHVfD+q5hu
+ LeZVjv8ARbxVUy2V5EGbyriPcuVyVZWSRGeKSORvY6ACiiigAr8Qf+DkP/g5C/4UD/b37Pf7Pevf8XA/
+ eaf4y8ZafN/yKvVZNPsZFP8AyEOqyzqf9E5RD9p3NaH/AAch/wDByF/woH+3v2e/2e9e/wCLgfvNP8Ze
+ MtPm/wCRV6rJp9jIp/5CHVZZ1P8AonKIftO5rT+cGgAooooAKKKKACiiigAooooA+of+CUf/AAVZ+I3/
+ AASX/aMj8a+C5f7V8P6p5Vt4p8K3Nw0dh4ls1YkIxAbyriPc7Q3CqWiZmBDxSTQy/wBfH7C/7dPw5/4K
+ K/s5aP8AFD4X6wdV8P6rmG4t5lWO/wBFvFVTLZXkQZvKuI9y5XJVlZJEZ4pI5G/hmr6h/wCCUf8AwVZ+
+ I3/BJf8AaMj8a+C5f7V8P6p5Vt4p8K3Nw0dh4ls1YkIxAbyriPc7Q3CqWiZmBDxSTQygH9rdFeN/sM/t
+ 1/Dr/gop+zno3xP+F+tDU/D+q5huLeeMJf6NeKqmWyvIlZvKuI9y5XJVlZJEZ4pI5GKAPyF+LH/Bk7/w
+ sn4p+JvEf/DU3iC6Ov6rdal5uveDP7W1WXzpnk3Xd5/aEf2m4O7Mk3lp5j7m2Lu2jn/+IGP/AKuh/wDM
+ b/8A30r9/qKAPwB/4gY/+rof/Mb/AP30r8Aa/v8AK/gDoAKKKKACiiigAr9AP+CGf/BDL/h9Cfijj4o/
+ 8K2Hw1/snj/hG/7Z/tH7d9t/6erfy9n2P/a3eZ/Dt5/P+v3+/wCDGP8A5ui/7lT/ANzVAB/xAx/9XQ/+
+ Y3/++lH/ABAx/wDV0P8A5jf/AO+lfv8AUUAfk9+xZ/wa4n9k34W6h4c/4a//AGodL+26rJqXlfDfxB/w
+ helNuhhj3S2ebvzLj91hpvMG5BEuweXuYr9YaKACiiigAr+AOv7/ACv4A6ACiiigAooooAK/f7/gxj/5
+ ui/7lT/3NV+ANfv9/wAGMf8AzdF/3Kn/ALmqAP3+ooooAKKKKACiiigAr+AOv7/K/gDoAKKKKACiiigA
+ r9/v+DGP/m6L/uVP/c1X4A1+/wB/wYx/83Rf9yp/7mqAP3+ooooAKKKKACiiigAr+Fb9t74LaV+zR+2f
+ 8XfhzoU9/d6J4B8a6z4b0+e/dJLqa3s76a3ieVkVEaQpGpYqigknCgcUUUAeWUUUUAFFFFABX9Jn/Bk1
+ 8F9L8PfsX/GT4jQ3GoPrfinxnD4cu4HdPssdvptlFcQPGoUOJGfVLgOS5BCRYVSGLFFAH7YUUUUAFFFF
+ AH//2Q==
+
+
+
+
+ /9j/4AAQSkZJRgABAQEAeAB4AAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBD
+ AAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0M
+ DgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
+ DAwMDAwMDAwMDAwMDAz/wAARCABkAGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF
+ BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAk
+ M2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG
+ h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx
+ 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQA
+ AQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5
+ OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmq
+ srO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9
+ /KKKKAEdc8+gr+BXxd4t1Xx74p1LXNd1LUNa1vWbqW+1DUL+5e5ur+4lcvLNLK5LSSO7MzMxJYkkkk5r
+ ++tuhr+ANupoAKKKKACiiigBVbb2Br+g7/gxt8XarfeFv2ltCm1PUJdE0278N39pp73Lta2txOmqJPNH
+ ETsSSRLa3V2ABYQRAkhFx/PhX7/f8GMf/N0X/cqf+5qgD9/qKKKACiiigAooooAG6Gv4A26mv7/G6Gv4
+ A26mgAooooAKKKKACv3+/wCDGP8A5ui/7lT/ANzVfgDX7/f8GMf/ADdF/wByp/7mqAP3+ooooAKKKKAC
+ ikVwwz0pcj1FAA3Q1/AG3U1/f2Tmv4BWFACUUUUAFFFFABX7/f8ABjH/AM3Rf9yp/wC5qvwBr9/v+DGM
+ 4/4ai/7lT/3NUAfv9RRkeopC4BAz1oAWikD59aKAP4xP+C2P/BNn4j/8E4v24PFWmeNT4g1zw/401W/1
+ vwt4v1S9bUZvFVm9wXMtzdlE8zUE8xBdKVVhK+8AxyxSSfIBJHev7mf26P2F/hx/wUR/Zy1j4X/E7Rv7
+ U8P6ria2uINsd9ot2qssV7aSlW8q4j3Ng4KsrPG6vFJJG38gv/BVn/glH8R/+CTP7R0vgrxrF/afh/VP
+ NufCviq2t2isfEtmrAF1BJ8q4j3Is1uWZomZSGkikhlkAPmDcaCcjHYUhGKKACiiigAooooAKM4oooAM
+ n1NORjzikC5r+jz/AINu/wDg27/4UB/YP7Qn7Qmg/wDFwP3eoeDfBuoQf8ip0aPUL6Nh/wAhDo0UDD/R
+ OHcfadq2gAv/AARD/wCDeL4j+Hv2H7XUvih8a/2oPgF4g8WarLrdv4Q+H3jttBhtLOS3t0il1C1Ns/l6
+ g/lMXXcWSIW6OElSSNCv292iigAIzXj37dH7C/w4/wCCiP7OWsfC/wCJ2jf2p4f1XE1tcQbY77RbtVZY
+ r20lKt5VxHubBwVZWeN1eKSSNvYqQjNAH8Un/BVn/glH8R/+CTP7R0vgrxrF/afh/VPNufCviq2t2isf
+ EtmrAF1BJ8q4j3Is1uWZomZSGkikhlk+XyMV/c1+3R+wv8OP+CiP7OWsfC/4naN/anh/VcTW1xBtjvtF
+ u1VlivbSUq3lXEe5sHBVlZ43V4pJI2/kF/4Ks/8ABKP4j/8ABJn9o6XwV41i/tPw/qnm3PhXxVbW7RWP
+ iWzVgC6gk+VcR7kWa3LM0TMpDSRSQyyAHy/RQRiigAooooAKULmgLmv6PP8Ag27/AODbv/hQH9g/tCft
+ CaD/AMXA/d6h4N8G6hB/yKnRo9Qvo2H/ACEOjRQMP9E4dx9p2raAB/wbd/8ABt3/AMKA/sH9oT9oTQf+
+ Lgfu9Q8G+DdQg/5FTo0eoX0bD/kIdGigYf6Jw7j7TtW0/b8DFAGKKACiiigAooooAQjNePft0fsL/Dj/
+ AIKI/s5ax8L/AInaN/anh/VcTW1xBtjvtFu1VlivbSUq3lXEe5sHBVlZ43V4pJI29ipCM0AfxSf8FWf+
+ CUfxH/4JM/tHS+CvGsX9p+H9U8258K+Kra3aKx8S2asAXUEnyriPcizW5ZmiZlIaSKSGWT5fIxX9zX7d
+ H7C/w4/4KI/s5ax8L/ido39qeH9VxNbXEG2O+0W7VWWK9tJSreVcR7mwcFWVnjdXikkjb+QX/gq1/wAE
+ o/iP/wAEmf2jpfBXjWL+1PD+q+bc+FfFNtbtHY+JbNWALqCT5VxHuRZrcszRMykNJFJDNIAfL9KFzRsP
+ 4V/R5/wbd/8ABt3/AMKA/sH9oT9oTQf+Lgfu9Q8G+DdQg/5FTo0eoX0bD/kIdGigYf6Jw7j7TtW0AD/g
+ 27/4Nu/+FAf2D+0J+0JoP/FwP3eoeDfBuoQf8ip0aPUL6Nh/yEOjRQMP9E4dx9p2raft+BigDFFABRRR
+ QAUUUUAFFFFABRRRQAj8D8K8e/bm/YW+HH/BRT9m/Wvhh8T9G/tTw/qn762uICsV9ot4issV7ZylW8q4
+ j3NhsFWVnjdXikkjYooA/KL/AIN4f+CInwP8P/tHfGv4n6la6/4s8QfAL41+JPh94Qt9buLeextItOa0
+ NpqckSQp5moJ5smJCfKRisiQpJHHIn7fgYoooAKKKKACiiigAooooA//2Q==
+
+
+
+
+ /9j/4AAQSkZJRgABAQEAeAB4AAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBD
+ AAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0M
+ DgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
+ DAwMDAwMDAwMDAwMDAz/wAARCABkAGQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF
+ BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAk
+ M2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG
+ h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx
+ 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
+ xxyJ+3sB3RKx/iANFFAD6KKKACiiigAooooA/9k=
+
+
+
\ No newline at end of file
diff --git a/ProjectA/ProjectA/Program.cs b/AirBus/AirBus/Program.cs
similarity index 86%
rename from ProjectA/ProjectA/Program.cs
rename to AirBus/AirBus/Program.cs
index 3d9cc1b..618767c 100644
--- a/ProjectA/ProjectA/Program.cs
+++ b/AirBus/AirBus/Program.cs
@@ -1,4 +1,4 @@
-namespace ProjectA
+namespace AirBus
{
internal static class Program
{
@@ -11,7 +11,7 @@ namespace ProjectA
// 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 FormAirBus());
}
}
}
\ No newline at end of file
diff --git a/AirBus/AirBus/Properties/Resources.Designer.cs b/AirBus/AirBus/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..9feedfc
--- /dev/null
+++ b/AirBus/AirBus/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.42000
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+namespace AirBus.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("AirBus.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;
+ }
+ }
+ }
+}
diff --git a/ProjectA/ProjectA/Form1.resx b/AirBus/AirBus/Properties/Resources.resx
similarity index 100%
rename from ProjectA/ProjectA/Form1.resx
rename to AirBus/AirBus/Properties/Resources.resx
diff --git a/AirBus/Pictures/arrow.jpg b/AirBus/Pictures/arrow.jpg
new file mode 100644
index 0000000..6160e19
Binary files /dev/null and b/AirBus/Pictures/arrow.jpg differ
diff --git a/AirBus/Pictures/arrow_down.jpg b/AirBus/Pictures/arrow_down.jpg
new file mode 100644
index 0000000..f31fccb
Binary files /dev/null and b/AirBus/Pictures/arrow_down.jpg differ
diff --git a/AirBus/Pictures/arrow_left.jpg b/AirBus/Pictures/arrow_left.jpg
new file mode 100644
index 0000000..7cccd26
Binary files /dev/null and b/AirBus/Pictures/arrow_left.jpg differ
diff --git a/AirBus/Pictures/arrow_right.jpg b/AirBus/Pictures/arrow_right.jpg
new file mode 100644
index 0000000..d2e4f1e
Binary files /dev/null and b/AirBus/Pictures/arrow_right.jpg differ
diff --git a/AirBus/Pictures/arrow_up.jpg b/AirBus/Pictures/arrow_up.jpg
new file mode 100644
index 0000000..0a6697c
Binary files /dev/null and b/AirBus/Pictures/arrow_up.jpg differ
diff --git a/ProjectA/ProjectA/Form1.Designer.cs b/ProjectA/ProjectA/Form1.Designer.cs
deleted file mode 100644
index 2b262b4..0000000
--- a/ProjectA/ProjectA/Form1.Designer.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-namespace ProjectA
-{
- partial class Form1
- {
- ///
- /// 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()
- {
- this.components = new System.ComponentModel.Container();
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(800, 450);
- this.Text = "Form1";
- }
-
- #endregion
- }
-}
diff --git a/ProjectA/ProjectA/Form1.cs b/ProjectA/ProjectA/Form1.cs
deleted file mode 100644
index 4a19dc0..0000000
--- a/ProjectA/ProjectA/Form1.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace ProjectA
-{
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- }
-}
diff --git a/ProjectA/ProjectA/ProjectA.csproj b/ProjectA/ProjectA/ProjectA.csproj
deleted file mode 100644
index 663fdb8..0000000
--- a/ProjectA/ProjectA/ProjectA.csproj
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- WinExe
- net8.0-windows
- enable
- true
- enable
-
-
-
\ No newline at end of file