53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
namespace ProjectLiner
|
|
{
|
|
public partial class FormLiner : Form
|
|
{
|
|
private DrawingLiner? _drawer;
|
|
public FormLiner()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
private void Draw()
|
|
{
|
|
if (_drawer == null)
|
|
return;
|
|
|
|
Bitmap bmp = new(pictureBoxLiner.Width, pictureBoxLiner.Height);
|
|
Graphics gr = Graphics.FromImage(bmp);
|
|
_drawer.Draw(gr);
|
|
pictureBoxLiner.Image = bmp;
|
|
}
|
|
private void ButtonMove_Click(object sender, EventArgs e)
|
|
{
|
|
if (_drawer == null)
|
|
{
|
|
return;
|
|
}
|
|
switch (((Button)sender)?.Name ?? string.Empty)
|
|
{
|
|
case "buttonUp":
|
|
_drawer.MoveTransport(new Vector2(0, -1));
|
|
break;
|
|
case "buttonDown":
|
|
_drawer.MoveTransport(new Vector2(0, 1));
|
|
break;
|
|
case "buttonLeft":
|
|
_drawer.MoveTransport(new Vector2(-1, 0));
|
|
break;
|
|
case "buttonRight":
|
|
_drawer.MoveTransport(new Vector2(1, 0));
|
|
break;
|
|
}
|
|
Draw();
|
|
}
|
|
private void ButtonCreate_Click(object sender, EventArgs e)
|
|
{
|
|
Random rnd = new Random();
|
|
_drawer = new DrawingLiner(new Liner(rnd.Next(1,100),rnd.Next(1,10),
|
|
Color.FromArgb(rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255)),
|
|
Color.FromArgb(rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255)),
|
|
rnd.Next(2, 25), Convert.ToBoolean(rnd.Next(0,2))));
|
|
Draw();
|
|
}
|
|
}
|
|
} |