Оказалось, что в лаб1 должна быть лодка, а не катамаран, поэтому сделаны соответствующие изменения имен

This commit is contained in:
Nikita Potapov 2022-10-15 10:12:51 +04:00
parent b9c3608dd0
commit 6023d417fb
6 changed files with 54 additions and 54 deletions

View File

@ -11,18 +11,18 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
/// <summary>
/// Класс, отвечающий за прорисовку и перемещение объекта-сущности
/// </summary>
internal class DrawingCatamaran
internal class DrawingBoat
{
/// <summary>
/// Класс-сущность
/// </summary>
public EntityCatamaran Catamaran { protected set; get; }
public EntityBoat Boat { protected set; get; }
/// <summary>
/// Левая координата отрисовки катамарана
/// Левая координата отрисовки лодки
/// </summary>
private float _startPosX;
/// <summary>
/// Верхняя кооридната отрисовки катамарана
/// Верхняя кооридната отрисовки лодки
/// </summary>
private float _startPosY;
/// <summary>
@ -34,26 +34,26 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
/// </summary>
private int? _pictureHeight = null;
/// <summary>
/// Ширина отрисовки катамарана
/// Ширина отрисовки лодки
/// </summary>
private readonly int _catamaranWidth = 100;
private readonly int _boatWidth = 100;
/// <summary>
/// Высота отрисовки катамарана
/// Высота отрисовки лодки
/// </summary>
private readonly int _catamaranHeight = 40;
private readonly int _boatHeight = 40;
/// <summary>
/// Инициализация свойств
/// </summary>
/// <param name="speed">Скорость</param>
/// <param name="weight">Вес катамарана</param>
/// <param name="weight">Вес лодки</param>
/// <param name="bodyColor">Цвет корпуса</param>
public void Init(int speed, float weight, Color bodyColor)
{
Catamaran = new EntityCatamaran();
Catamaran.Init(speed, weight, bodyColor);
Boat = new EntityBoat();
Boat.Init(speed, weight, bodyColor);
}
/// <summary>
/// Установка позиции катамарана
/// Установка позиции лодки
/// </summary>
/// <param name="x">Координата X</param>
/// <param name="y">Координата Y</param>
@ -81,36 +81,36 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
{
// вправо
case Direction.Right:
if (_startPosX + _catamaranWidth + Catamaran.Step < _pictureWidth)
if (_startPosX + _boatWidth + Boat.Step < _pictureWidth)
{
_startPosX += Catamaran.Step;
_startPosX += Boat.Step;
}
break;
//влево
case Direction.Left:
if (_startPosX - Catamaran.Step > 0)
if (_startPosX - Boat.Step > 0)
{
_startPosX -= Catamaran.Step;
_startPosX -= Boat.Step;
}
break;
//вверх
case Direction.Up:
if (_startPosY - Catamaran.Step > 0)
if (_startPosY - Boat.Step > 0)
{
_startPosY -= Catamaran.Step;
_startPosY -= Boat.Step;
}
break;
//вниз
case Direction.Down:
if (_startPosY + _catamaranHeight + Catamaran.Step < _pictureHeight)
if (_startPosY + _boatHeight + Boat.Step < _pictureHeight)
{
_startPosY += Catamaran.Step;
_startPosY += Boat.Step;
}
break;
}
}
/// <summary>
/// Отрисовка катамарана
/// Отрисовка лодки
/// </summary>
/// <param name="g"></param>
public void DrawTransport(Graphics g)
@ -121,24 +121,24 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
return;
}
SolidBrush brush = new SolidBrush(Catamaran.BodyColor);
SolidBrush brush = new SolidBrush(Boat.BodyColor);
PointF[] bodyPoints = new PointF[5];
bodyPoints[0] = new PointF(_startPosX, _startPosY);
bodyPoints[1] = new PointF(_startPosX + _catamaranWidth - _catamaranWidth / 4, _startPosY);
bodyPoints[2] = new PointF(_startPosX + _catamaranWidth, _startPosY + _catamaranHeight / 2);
bodyPoints[3] = new PointF(_startPosX + _catamaranWidth - _catamaranWidth / 4, _startPosY + _catamaranHeight);
bodyPoints[4] = new PointF(_startPosX, _startPosY + _catamaranHeight);
bodyPoints[1] = new PointF(_startPosX + _boatWidth - _boatWidth / 4, _startPosY);
bodyPoints[2] = new PointF(_startPosX + _boatWidth, _startPosY + _boatHeight / 2);
bodyPoints[3] = new PointF(_startPosX + _boatWidth - _boatWidth / 4, _startPosY + _boatHeight);
bodyPoints[4] = new PointF(_startPosX, _startPosY + _boatHeight);
// Отрисовка корпуса катамарана
// Отрисовка корпуса лодки
g.FillPolygon(brush, bodyPoints);
g.DrawPolygon(Pens.Black, bodyPoints);
// Отрисовка головы катамарана
g.FillEllipse(Brushes.White, _startPosX + _catamaranWidth / 8, _startPosY + _catamaranHeight / 8,
_catamaranWidth / 2, _catamaranHeight - _catamaranHeight / 4);
g.DrawEllipse(Pens.Black, _startPosX + _catamaranWidth / 8, _startPosY + _catamaranHeight / 8,
_catamaranWidth / 2, _catamaranHeight - _catamaranHeight / 4);
// Отрисовка головы лодки
g.FillEllipse(Brushes.White, _startPosX + _boatWidth / 8, _startPosY + _boatHeight / 8,
_boatWidth / 2, _boatHeight - _boatHeight / 4);
g.DrawEllipse(Pens.Black, _startPosX + _boatWidth / 8, _startPosY + _boatHeight / 8,
_boatWidth / 2, _boatHeight - _boatHeight / 4);
}
}
}

View File

@ -8,9 +8,9 @@ using System.Drawing;
namespace PIbd_21_Potapov_N.S._Catamaran_Base
{
/// <summary>
/// Класс-сущность "Автомобиль"
/// Класс-сущность "Лодка"
/// </summary>
internal class EntityCatamaran
internal class EntityBoat
{
/// <summary>
/// Скорость
@ -25,11 +25,11 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
/// </summary>
public Color BodyColor { get; private set; }
/// <summary>
/// Шаг перемещения катамарана
/// Шаг перемещения лодки
/// </summary>
public float Step => Speed * 100 / Weight;
/// <summary>
/// Инициализация полей объекта-класса катамарана
/// Инициализация полей объекта-класса лодки
/// </summary>
/// <param name="speed"></param>
/// <param name="weight"></param>

View File

@ -1,7 +1,7 @@

namespace PIbd_21_Potapov_N.S._Catamaran_Base
{
partial class FormCatamaran
partial class FormBoat
{
/// <summary>
/// Required designer variable.
@ -171,7 +171,7 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
this.Controls.Add(this.pictureBox);
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "FormCatamaran";
this.Text = "Катамаран";
this.Text = "Лодка";
this.statusStrip.ResumeLayout(false);
this.statusStrip.PerformLayout();
this.groupBox.ResumeLayout(false);

View File

@ -10,11 +10,11 @@ using System.Windows.Forms;
namespace PIbd_21_Potapov_N.S._Catamaran_Base
{
public partial class FormCatamaran : System.Windows.Forms.Form
public partial class FormBoat : System.Windows.Forms.Form
{
DrawingCatamaran catamaranDrawObj;
DrawingBoat boatDrawObj;
public FormCatamaran()
public FormBoat()
{
InitializeComponent();
pictureBox.Image = new Bitmap(pictureBox.Width, pictureBox.Height);
@ -24,18 +24,18 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
{
Random rnd = new Random();
catamaranDrawObj = new DrawingCatamaran();
catamaranDrawObj.Init(rnd.Next(50, 100), rnd.Next(50, 100), Color.FromArgb(rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255)));
catamaranDrawObj.SetPosition(rnd.Next(10, 50), rnd.Next(10, 50), pictureBox.Width, pictureBox.Height - statusStrip.Height);
toolStripStatusLabelSpeed.Text = $"Скорость: {catamaranDrawObj.Catamaran.Speed}";
toolStripStatusLabelWeight.Text = $"Вес: {catamaranDrawObj.Catamaran.Weight}";
toolStripStatusLabelColor.Text = $"Цвет: {catamaranDrawObj.Catamaran.BodyColor.Name}";
boatDrawObj = new DrawingBoat();
boatDrawObj.Init(rnd.Next(50, 100), rnd.Next(50, 100), Color.FromArgb(rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255)));
boatDrawObj.SetPosition(rnd.Next(10, 50), rnd.Next(10, 50), pictureBox.Width, pictureBox.Height - statusStrip.Height);
toolStripStatusLabelSpeed.Text = $"Скорость: {boatDrawObj.Boat.Speed}";
toolStripStatusLabelWeight.Text = $"Вес: {boatDrawObj.Boat.Weight}";
toolStripStatusLabelColor.Text = $"Цвет: {boatDrawObj.Boat.BodyColor.Name}";
RedrawCatamaran();
}
private void btn_move_Click(object sender, EventArgs e)
{
if (catamaranDrawObj == null)
if (boatDrawObj == null)
return;
string btnName = ((Button)sender).Name;
@ -44,22 +44,22 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
{
case "btn_up":
{
catamaranDrawObj.MoveTransport(Direction.Up);
boatDrawObj.MoveTransport(Direction.Up);
}
break;
case "btn_down":
{
catamaranDrawObj.MoveTransport(Direction.Down);
boatDrawObj.MoveTransport(Direction.Down);
}
break;
case "btn_left":
{
catamaranDrawObj.MoveTransport(Direction.Left);
boatDrawObj.MoveTransport(Direction.Left);
}
break;
case "btn_right":
{
catamaranDrawObj.MoveTransport(Direction.Right);
boatDrawObj.MoveTransport(Direction.Right);
}
break;
default:
@ -72,7 +72,7 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
{
Graphics g = Graphics.FromImage(pictureBox.Image);
g.Clear(Color.White);
catamaranDrawObj.DrawTransport(g);
boatDrawObj.DrawTransport(g);
pictureBox.Invalidate();
}
}

View File

@ -17,7 +17,7 @@ namespace PIbd_21_Potapov_N.S._Catamaran_Base
Application.EnableVisualStyles();
Application.SetHighDpiMode(HighDpiMode.SystemAware);
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FormCatamaran());
Application.Run(new FormBoat());
}
}
}