52 lines
1.9 KiB
C#
52 lines
1.9 KiB
C#
namespace Lab
|
|
{
|
|
public partial class Frame : Form
|
|
{
|
|
private DrawGasolineTanker? _drawingSportCar;
|
|
public Frame()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void Draw()
|
|
{
|
|
if (_drawingSportCar == null)
|
|
return;
|
|
Bitmap bitmap = new(DrawCar.Width, DrawCar.Height);
|
|
Graphics g = Graphics.FromImage(bitmap);
|
|
_drawingSportCar.DrawTransport(g);
|
|
DrawCar.Image = bitmap;
|
|
}
|
|
private void CreateCarButton_Click(object sender, EventArgs e)
|
|
{
|
|
Random rnd = new();
|
|
_drawingSportCar = new();
|
|
_drawingSportCar.Init(rnd.Next(100, 200), rnd.Next(2000, 4000),
|
|
Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)),
|
|
Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)),
|
|
Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)),
|
|
DrawCar.Width, DrawCar.Height);
|
|
_drawingSportCar.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100));
|
|
Draw();
|
|
}
|
|
|
|
private void ButtonMove_Click(object sender, EventArgs e)
|
|
{
|
|
if (_drawingSportCar == null)
|
|
return;
|
|
string name = ((Button)sender)?.Name ?? string.Empty;
|
|
switch (name)
|
|
{
|
|
case "Up":
|
|
_drawingSportCar.MoveTransport(Direction.Up); break;
|
|
case "Down":
|
|
_drawingSportCar.MoveTransport(Direction.Down); break;
|
|
case "Left":
|
|
_drawingSportCar.MoveTransport(Direction.Left); break;
|
|
case "Right":
|
|
_drawingSportCar.MoveTransport(Direction.Right); break;
|
|
}
|
|
Draw();
|
|
}
|
|
}
|
|
} |