PIBD-11_Lovtsov.A.A_LabaWork01_Simple #3

Open
a.lovtsov wants to merge 7 commits from Laba1 into main
5 changed files with 106 additions and 30 deletions
Showing only changes of commit ac77bf9edc - Show all commits

View File

@ -36,12 +36,12 @@ public class DrawningDiselLoko
///<summary>
///Ширина прорисовки тепловоза
///</summary>
private readonly int _drawingCarWidth = 0;
private readonly int _drawingCarWidth = 110;
///<summary>
///Высота прорисовки тепловоза
///</summary>
private readonly int _drawingCarHeight = 0;
private readonly int _drawingCarHeight = 60;
///<summary>
///Иницилизация
@ -124,11 +124,17 @@ public class DrawningDiselLoko
return true;
// вправо
case Direction.Right:
//TODO прописать логику сдвига в право
if (_startPosX.Value - DiselLoko.Step > 0)
{
_startPosX += (int)DiselLoko.Step;
}
return true;
//вниз
case Direction.Down:
//TODO прописать логику сдвига в вниз
if (_startPosX.Value - DiselLoko.Step > 0)
{
_startPosY += (int)DiselLoko.Step;
}
return true;
default:
return false;

View File

@ -30,7 +30,7 @@
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormDiselLoko));
pictureBoxDiselLoko = new PictureBox();
button1 = new Button();
create = new Button();
buttonUp = new Button();
buttonDown = new Button();
buttonRight = new Button();
@ -47,14 +47,15 @@
pictureBoxDiselLoko.TabIndex = 0;
pictureBoxDiselLoko.TabStop = false;
//
// button1
// create
//
button1.Location = new Point(12, 415);
button1.Name = "button1";
button1.Size = new Size(75, 23);
button1.TabIndex = 1;
button1.Text = "Создать";
button1.UseVisualStyleBackColor = true;
create.Location = new Point(12, 415);
create.Name = "create";
create.Size = new Size(75, 23);
create.TabIndex = 1;
create.Text = "Создать";
create.UseVisualStyleBackColor = true;
create.Click += ButtonCreate_Click;
//
// buttonUp
//
@ -64,6 +65,7 @@
buttonUp.Size = new Size(35, 35);
buttonUp.TabIndex = 2;
buttonUp.UseVisualStyleBackColor = true;
buttonUp.Click += ButtonMove_Click;
//
// buttonDown
//
@ -73,6 +75,7 @@
buttonDown.Size = new Size(35, 35);
buttonDown.TabIndex = 3;
buttonDown.UseVisualStyleBackColor = true;
buttonDown.Click += ButtonMove_Click;
//
// buttonRight
//
@ -82,6 +85,7 @@
buttonRight.Size = new Size(35, 35);
buttonRight.TabIndex = 4;
buttonRight.UseVisualStyleBackColor = true;
buttonRight.Click += ButtonMove_Click;
//
// ButtonLeft
//
@ -91,6 +95,7 @@
ButtonLeft.Size = new Size(35, 35);
ButtonLeft.TabIndex = 5;
ButtonLeft.UseVisualStyleBackColor = true;
ButtonLeft.Click += ButtonMove_Click;
//
// FormDiselLoko
//
@ -101,7 +106,7 @@
Controls.Add(buttonRight);
Controls.Add(buttonDown);
Controls.Add(buttonUp);
Controls.Add(button1);
Controls.Add(create);
Controls.Add(pictureBoxDiselLoko);
Name = "FormDiselLoko";
Text = "Тепловоз";
@ -112,7 +117,7 @@
#endregion
private PictureBox pictureBoxDiselLoko;
private Button button1;
private Button create;
private Button buttonUp;
private Button buttonDown;
private Button buttonRight;

View File

@ -1,20 +1,85 @@
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 PrLaba1
namespace PrLaba1
/// <summary>
/// Форма работы с объектом "Тепловоз"
/// </summary>
{
public partial class FormDiselLoko : Form
{
/// <summary>
/// Поле-объект для прорисовки объекта
/// </summary>
private DrawningDiselLoko? _drawningDiselLoko;
/// <summary>
/// Метод прорисовки машины
/// </summary>
private void Draw()
{
if (_drawningDiselLoko == null)
{
return;
}
Bitmap bmp = new(pictureBoxDiselLoko.Width, pictureBoxDiselLoko.Height);
Graphics gr = Graphics.FromImage(bmp);
_drawningDiselLoko.DrawTransport(gr);
pictureBoxDiselLoko.Image = bmp;
}
/// <summary>
/// Конструктор формы
/// </summary>
public FormDiselLoko()
{
InitializeComponent();
}
/// <summary>
/// Кнопка создать
/// </summary>
private void ButtonCreate_Click(object sender, EventArgs e)
{
Random random = new Random();
_drawningDiselLoko = new DrawningDiselLoko();
_drawningDiselLoko.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)));
_drawningDiselLoko.SetPictureSize(pictureBoxDiselLoko.Width, pictureBoxDiselLoko.Height);
_drawningDiselLoko.SetPosition(random.Next(10, 100), random.Next(10, 100));
Draw();
}
private void ButtonMove_Click(object sender, EventArgs e)
{
if (_drawningDiselLoko == null)
{
return;
}
string name = ((Button)sender)?.Name ?? string.Empty;
bool result = false;
switch (name)
{
case "buttonUp":
result = _drawningDiselLoko.MoveTransport(Direction.Up);
break;
case "buttonDown":
result = _drawningDiselLoko.MoveTransport(Direction.Down);
break;
case "ButtonLeft":
result = _drawningDiselLoko.MoveTransport(Direction.Left);
break;
case "buttonRight":
result = _drawningDiselLoko.MoveTransport(Direction.Right);
break;
}
if (result)
{
Draw();
}
}
}
}

View File

@ -121,7 +121,7 @@
<data name="buttonUp.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAIAAAC0Ujn1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAAIdJREFUSEvtzFsOgCAMRFH3v2kkcjUFC6U+MCacP+jMLOE1c7rgmF42PDr0RtNu
wAAADsABataJCQAAAIdJREFUSEvtzFsOgCAMRFH3v2kkcjUFC6U+MCacP+jMLOE1c7rgmF42PDr0RtNu
wpelK8ekwKHJDjGW49Z0cTriXGckmKkgVPHRNANNRDXVG1ULac3d6YjCiX6g1I1abuw0cSfKQvlF0I++
8Nh0xMRu4HRE0ImyoHwdKDUR1czpwpwu/HE6hBWbVcKS8nHq8gAAAABJRU5ErkJggg==
</value>
@ -129,7 +129,7 @@
<data name="buttonDown.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAIAAAC0Ujn1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAAIVJREFUSEvtzFsKgDAMRFH3v+k6yBXsI22iUkF6PpOZ2ZJtcyDasqYLa7rwm2lK
wAAADsABataJCQAAAIVJREFUSEvtzFsKgDAMRFH3v+k6yBXsI22iUkF6PpOZ2ZJtcyDasqYLa7rwm2lK
QZQvyhPBW5g4TZwWgnH0T69NU75onIS4G7Xc9Gmh5EChYj6E6gjpytNpoi29nzBgIGT4blqYqfC2jRPC
WI6f7eY0jy5XSJg8cBrx5iS0K4Fo1JrOpLQD0c/CkunHhukAAAAASUVORK5CYII=
</value>
@ -137,7 +137,7 @@
<data name="buttonRight.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAIAAAC0Ujn1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAAIZJREFUSEvtzUkOgCAMQFHuf2lM4JMgMnSAuOHtbMs3xGNuuvFfOhR8a8zeUC2Y
wAAADsABataJCQAAAIZJREFUSEvtzUkOgCAMQFHuf2lM4JMgMnSAuOHtbMs3xGNuuvFfOhR8a8zeUC2Y
iinSGTsBdTrjYopTAwJj3JmR6eHCidgbOz96FRZbkCyY7kI1YbQL1YTRFiQLpn70Kiw8KH2wNiPTw4UB
gTHLb1mvqNPsBBRppmKLB7ZoZnwmcdONY+kYH/QlwpJxqZGzAAAAAElFTkSuQmCC
</value>
@ -145,7 +145,7 @@
<data name="ButtonLeft.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAIAAAC0Ujn1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wgAADsIBFShKgAAAAJNJREFUSEvt0EEOgCAMBVHuf2k0MBiRr0CLiQvfjraZBSG+5k9ffC8dEh43ptM5
wAAADsABataJCQAAAJNJREFUSEvt0EEOgCAMBVHuf2k0MBiRr0CLiQvfjraZBSG+5k9ffC8dEh43ptM5
emCqTKSJ1dgpo2lKDdZKP03DgIDChRmZBmsPSics/OgVTJcgmTBahWrCaBWqBdMlSJ6w8KNXY+dETOHC
jMw97gwIPOJU4UIZSmfEauyUiXRGsmCqTKd3VHufaUkP+tMXr6Vj3AB4/8KSzy1jIwAAAABJRU5ErkJg
gg==

View File

@ -11,7 +11,7 @@ namespace PrLaba1
// 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 FormDiselLoko());
}
}
}