private void TMDelay_Tick(object sender, EventArgs e) { //g.Clear(PNGame.BackColor); if (temp != null) { game.Snake.Direction = temp[temp.Count - 1]; temp.RemoveAt(temp.Count - 1); } bool rs = game.SnakeMove(g, PNGame.BackColor, game.Map.Nodewidth, game.Map.Nodeheight); if (rs == false) { TMDelay.Stop(); DialogResult d = MessageBox.Show("Game over!", "Try Again?", MessageBoxButtons.YesNo); if (d == DialogResult.Yes) { NewGame(); } else { Application.Exit(); } } if (game.Map.Nodes[game.Item.Position.X, game.Item.Position.Y].Value != 2) { game.CreatItem(); game.Item.DrawItem(g, game.Map.Nodewidth, game.Map.Nodeheight); temp = game.AutoPlay(); } game.Map.DrawFrame(g, new Pen(Color.Black)); //game.Snake.DrawSnake(g, game.Map.Nodewidth, game.Map.Nodeheight); TMDelay.Interval = 500 / game.Snake.Body.Count; lbLength.Text = "Length: " + game.Snake.Body.Count.ToString(); LBDelayTime.Text = "DelayTime: " + TMDelay.Interval.ToString(); }
public void NewGame() { g.Clear(PNGame.BackColor); game = new Game(); game.Map = new Map(451, 901, "map1.txt"); game.Map.DrawFrame(g, new Pen(Color.Black)); game.Map.DrawMap(g); game.Snake = new Snake(game.Map.Nodes[game.Map.Lineamount / 2, game.Map.Columnamount / 2]); game.Snake.Direction = 3; game.Snake.DrawSnake(g, game.Map.Nodewidth, game.Map.Nodeheight); game.CreatItem(); game.Item.DrawItem(g, game.Map.Nodewidth, game.Map.Nodeheight); temp = game.AutoPlay(); TMDelay.Interval = 500; TMDelay.Enabled = true; TMDelay.Start(); }