private void execute_Move(object sender, EventArgs e) { for (int i = 0; i < SnakeArray.Count; i++) { if (i == 0) { sn.MoveObject(headSmer); } else { if (SnakeArray[0].PosX == SnakeArray[i].PosX && SnakeArray[0].PosY == SnakeArray[i].PosY) { output.Visibility = Visibility.Visible; threading.Stop(); } } if (i == 1) { int x = sn.LastPosX; int y = sn.LastPosY; SnakeArray[i].sledujHlavu(x, y); } if (i > 1) { int x = SnakeArray[i - 1].LastPosX; int y = SnakeArray[i - 1].LastPosY; SnakeArray[i].sledujHlavu(x, y); } } if (jidlo != null) { if (SnakeArray[0].PosX == jidlo.PosX && SnakeArray[0].PosY == jidlo.PosY) { partOfSnake newPart = new partOfSnake(had_grid, "BODY", SnakeArray[SnakeArray.Count - 1].LastPosX, SnakeArray[SnakeArray.Count - 1].LastPosY); SnakeArray.Add(newPart); had_grid.Children.Remove(jidlo.food_a); jidlo = null; points++; } } else { int xi = rnd.Next(0, 31); int yi = rnd.Next(0, 17); jidlo = new food(had_grid, xi, yi); } points_output.Content = "My points: " + points; }
public MainWindow() { InitializeComponent(); sn = new partOfSnake(had_grid, "HEAD", 5, 15); SnakeArray.Add(sn); partOfSnake had = new partOfSnake(had_grid, "BODY", 4, 15); SnakeArray.Add(had); partOfSnake had1 = new partOfSnake(had_grid, "BODY", 3, 15); SnakeArray.Add(had1); jidlo = new food(had_grid, 10, 10); rnd = new Random(); threading = new DispatcherTimer(); threading.Interval = TimeSpan.FromMilliseconds(400); threading.Tick += new EventHandler(execute_Move); threading.Start(); }