private void Reset() { SnakeMessage sendmessage = new SnakeMessage(SendMessage); grid = new Grid(arena.Size, sendmessage); grid.Renderer = new Renderer(grid); this.arena.Paint += new PaintEventHandler(this.arena_Paint); score_label.Text = "3"; }
// 构造函数 注意method先后顺序 public Grid(Size arenaSize, SnakeMessage messageSender) { this.arenaSize = arenaSize; MessageSender = messageSender; SnakeBody = new LinkedList <Point>(); CreateSnake(); Controller = new Controller(Snake); Foods = new List <Food>(); CreateFood(); }
public void EndOfTurn(string reason) { timer1.Stop(); MessageBox.Show(reason); // 填写统计信息 string stats; end = DateTime.Now; TimeSpan duration = end - start; string Duration = duration.TotalSeconds.ToString(); stats = "Level: " + level + "\n"; stats += "Score: " + score_label.Text + "\n"; stats += string.Format("Duration: {0:f1}s", duration.TotalSeconds); // 重试 var result = MessageBox.Show(stats, "Game Over", MessageBoxButtons.RetryCancel); if (result == DialogResult.Retry) { switch (level) { case "Easy": newEasy.PerformClick(); break; case "Normal": newNormal.PerformClick(); break; case "Hard": newHard.PerformClick(); break; } SnakeMessage sendmessage = new SnakeMessage(SendMessage); } }