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

View File

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

View File

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

View File

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

View File

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