Оказалось, что в лаб1 должна быть лодка, а не катамаран, поэтому сделаны соответствующие изменения имен
This commit is contained in:
parent
b9c3608dd0
commit
6023d417fb
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
@ -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>
|
4
FormCatamaran.Designer.cs → FormBoat.Designer.cs
generated
4
FormCatamaran.Designer.cs → FormBoat.Designer.cs
generated
@ -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);
|
@ -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();
|
||||
}
|
||||
}
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user