lots of staff

This commit is contained in:
2024-10-23 18:49:13 +02:00
parent ff23702c15
commit a98a463531
8 changed files with 216 additions and 25 deletions
+1 -1
View File
@@ -39,9 +39,9 @@
//
// Canvas
//
Canvas.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
Canvas.BackColor = Color.White;
Canvas.Controls.Add(btnStart);
Canvas.Dock = DockStyle.Top;
Canvas.Location = new Point(0, 0);
Canvas.Name = "Canvas";
Canvas.Size = new Size(480, 480);
+10 -4
View File
@@ -35,7 +35,8 @@ namespace view
CurrentLevel.SnakeHeadDirection = SnakeLevel.SnakeDirection.Right;
break;
case Keys.Escape:
CurrentLevel.Pause();
if(CurrentLevel.State == SnakeLevel.GameState.Running)
CurrentLevel.Pause();
break;
}
@@ -44,6 +45,7 @@ namespace view
private void Draw(SnakeLevel level)
{
var canvas_size = Math.Min(Canvas.Width, Canvas.Height);
graphics = Canvas.CreateGraphics();
graphics.Clear(Color.White);
@@ -80,14 +82,18 @@ namespace view
break;
case SnakeLevel.SnakeDirection.Down:
graphics.DrawLine(Pens.Black, snake_head_x + (int)cell_size / 2, snake_head_y, snake_head_x + (int)cell_size / 2, snake_head_y + (int)cell_size);
graphics.DrawLine(Pens.Black, snake_head_x + (int)cell_size / 2, snake_head_y, snake_head_x, snake_head_y + (int)cell_size / 2);
graphics.DrawLine(Pens.Black, snake_head_x + (int)cell_size / 2, snake_head_y, snake_head_x + (int)cell_size, snake_head_y + (int)cell_size / 2);
graphics.DrawLine(Pens.Black, snake_head_x + (int)cell_size / 2, snake_head_y + (int)cell_size, snake_head_x, snake_head_y + (int)cell_size / 2);
graphics.DrawLine(Pens.Black, snake_head_x + (int)cell_size / 2, snake_head_y + (int)cell_size, snake_head_x + (int)cell_size, snake_head_y + (int)cell_size / 2);
break;
case SnakeLevel.SnakeDirection.Left:
graphics.DrawLine(Pens.Black, snake_head_x, snake_head_y + (int)cell_size / 2, snake_head_x + (int)cell_size, snake_head_y + (int)cell_size / 2);
graphics.DrawLine(Pens.Black, snake_head_x, snake_head_y + (int)(cell_size / 2), snake_head_x + (int)(cell_size / 2), snake_head_y);
graphics.DrawLine(Pens.Black, snake_head_x, snake_head_y + (int)(cell_size / 2), snake_head_x + (int)(cell_size / 2), snake_head_y + (int)cell_size);
break;
case SnakeLevel.SnakeDirection.Right:
graphics.DrawLine(Pens.Black, snake_head_x, snake_head_y + (int)cell_size / 2, snake_head_x + (int)cell_size, snake_head_y + (int)cell_size / 2);
graphics.DrawLine(Pens.Black, snake_head_x + (int)cell_size, snake_head_y + (int)(cell_size / 2), snake_head_x + (int)(cell_size / 2), snake_head_y);
graphics.DrawLine(Pens.Black, snake_head_x + (int)cell_size, snake_head_y + (int)(cell_size / 2), snake_head_x + (int)(cell_size / 2), snake_head_y + (int)cell_size);
break;
}
@@ -111,7 +117,7 @@ namespace view
private void btnStart_Click(object sender, EventArgs e)
{
if (CurrentLevel is null || CurrentLevel.State != SnakeLevel.GameState.Running)
if (CurrentLevel is null || CurrentLevel.State == SnakeLevel.GameState.Dead)
{
var MapChooser = new MapChooser(this.level_loader);
MapChooser.ShowDialog();