Esempio n. 1
0
 static void Loop(object obj)
 {
     if (walls.IsHit(snake.Head) || snake.IsHitItself)
     {
         gg.WriteTextLine();
         time.Dispose();
         ConsoleKeyInfo k;
         do
         {
             k = Console.ReadKey();
         }while (k.Key != ConsoleKey.Enter);
         Init();
     }
     else if (FoodFactory.IsEaten(snake.Head))
     {
         foodFactory.CreateFood();
     }
     else
     {
         snake.Move();
         if (snake.counter >= snake.str.Length)
         {
             TextLine won = new TextLine("YOU WIN!!! :)", (x - "YOU WIN!!! :)".Length) / 2, y / 2 - 1);
             TextLine w   = new TextLine(snake.str, (x - snake.str.Length) / 2, y / 2 + 1);
             time.Dispose();
             snake.Dispose();
             won.WriteTextLine();
             w.WriteTextLine();
         }
     }
 }
Esempio n. 2
0
 static void Init()
 {
     FoodFactory.Food.Clear();
     snake?.Dispose();
     gg?.Clear();
     walls = new Walls(x, y, '#');
     foodFactory.CreateFood();
     snake = new Snake(x / 2, y / 2, 4);
     time  = new Timer(Loop, null, 0, 95);
 }