public void MoveSnakeThread() { speed = 200; playGame = true; Console.SetWindowSize(100, 31); food.x = 10; food.y = 10; wall.LoadLevel(levelCount); wall.Draw(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.SetCursorPosition(10, 10); Console.Write('@'); Console.ForegroundColor = ConsoleColor.Black; while (playGame == true) { moovable = false; if (snake.body[0].x == food.x && snake.body[0].y == food.y) { snake.AddToBody(); food.NewPosition(snake.body, wall.body); score++; moovable = true; speed = Math.Max(100, speed - 10); } if (score == 5 && levelCount == 1) { x = 1; y = 0; levelCount++; wall.LoadLevel(levelCount); snake.body.Clear(); wall.Draw(); snake.body.Add(new Point(4, 3)); snake.body.Add(new Point(3, 3)); snake.body.Add(new Point(2, 3)); } if (score == 10) { Console.Clear(); Console.SetCursorPosition(0, 0); Console.Write("Your score is : "); Console.WriteLine(score + sc); Console.WriteLine("Press escape to continue"); Console.ForegroundColor = ConsoleColor.Black; break; } if (snake.CheckGame(wall.body) == true) { Console.Clear(); playGame = false; Console.SetCursorPosition(0, 0); Console.Write("Your score is : "); Console.WriteLine(score + sc); Console.WriteLine("Press escape to continue"); Console.ForegroundColor = ConsoleColor.Black; break; } Console.ForegroundColor = ConsoleColor.DarkRed; Console.SetCursorPosition(food.x, food.y); Console.WriteLine("@"); Console.SetCursorPosition(0, 23); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("Score: "); Console.SetCursorPosition(7, 23); Console.Write(score); snake.Move(x, y, moovable); snake.Draw(); Thread.Sleep(speed); } }
public void MoveSnakeThread() { int speedReturn = speed; playGame = true; Console.SetWindowSize(100, 31); food.x = 10; food.y = 10; wall.LoadLevel(levelCount); wall.Draw(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.SetCursorPosition(10, 10); Console.Write('@'); Console.ForegroundColor = ConsoleColor.Black; int pos = -1; while (playGame) { for (int i = 0; i < highScores.name.Count; i++) { if (highScores.name[i] == Program.login) { pos = i; break; } } if (pos == -1) { highScores.name.Add(Program.login); highScores.score.Add(0); pos = highScores.name.Count - 1; } moovable = false; if (snake.body[0].x == food.x && snake.body[0].y == food.y) { snake.AddToBody(); food.NewPosition(snake.body, wall.body); score++; moovable = true; speed = Math.Max(100, speed - 10); } highScores.score[pos] = Math.Max(score + sc, highScores.score[pos]); if (score != 0 && score % 5 == 0 && levelCount < maxLevel) { x = 1; y = 0; levelCount++; wall.LoadLevel(levelCount); snake.body.Clear(); wall.Draw(); snake.body.Add(new Point(4, 3)); snake.body.Add(new Point(3, 3)); snake.body.Add(new Point(2, 3)); score = 0; sc = levelCount * 5 - 5; } if (score != 0 && score % 5 == 0 && levelCount == maxLevel) { Console.Clear(); Console.SetCursorPosition(0, 0); Console.Write("Your score is : "); Console.WriteLine(score + sc); Console.Write("Your maximail score is : "); Console.WriteLine(highScores.score[pos]); Console.WriteLine("Press escape to continue"); Console.ForegroundColor = ConsoleColor.Black; //Console.ReadKey(); break; } if (snake.CheckGame(wall.body)) { Console.Clear(); playGame = false; Console.SetCursorPosition(0, 0); Console.Write("Your score is : "); Console.WriteLine(score + sc); Console.Write("Your maximail score is : "); Console.WriteLine(highScores.score[pos]); Console.WriteLine("Press escape to continue"); Console.ForegroundColor = ConsoleColor.Black; break; } Console.ForegroundColor = ConsoleColor.DarkRed; Console.SetCursorPosition(food.x, food.y); Console.WriteLine("@"); Console.SetCursorPosition(0, 23); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("Score: "); Console.SetCursorPosition(7, 23); Console.Write(score + sc); snake.Move(x, y, moovable); snake.Draw(); Thread.Sleep(speed); } SaveHighScore(highScores); speed = speedReturn; }