public static void GameInit() { string command = string.Empty; char[,] gameBoard = CreateGameBoard(); char[,] bombs = GenerateBombPositions(); int counter = 0; bool isBomb = false; List <UserPoints> champions = new List <UserPoints>(6); int row = 0; int column = 0; bool isGameBegining = true; bool isMaxPointsReached = false; do { if (isGameBegining) { Console.WriteLine("Hajde da igraem na “Mini4KI”. Probvaj si kasmeta da otkriesh poleteta bez mini4ki." + " Komanda 'top' pokazva klasiraneto, 'restart' po4va nova igra, 'exit' izliza i hajde 4ao!"); InitializeGameBoard(gameBoard); isGameBegining = false; } Console.Write("Daj red i kolona : "); command = Console.ReadLine().Trim(); if (command.Length >= 3) { if (int.TryParse(command[0].ToString(), out row) && int.TryParse(command[2].ToString(), out column) && row <= gameBoard.GetLength(0) && column <= gameBoard.GetLength(1)) { command = "turn"; } } switch (command) { case "top": ResultRatings(champions); break; case "restart": gameBoard = CreateGameBoard(); bombs = GenerateBombPositions(); InitializeGameBoard(gameBoard); isBomb = false; isGameBegining = false; break; case "exit": Console.WriteLine("4a0, 4a0, 4a0!"); break; case "turn": if (bombs[row, column] != '*') { if (bombs[row, column] == '-') { PlayerTurn(gameBoard, bombs, row, column); counter++; } if (MAX_POINTS == counter) { isMaxPointsReached = true; } else { InitializeGameBoard(gameBoard); } } else { isBomb = true; } break; default: Console.WriteLine("\nGreshka! nevalidna Komanda\n"); break; } if (isBomb) { InitializeGameBoard(bombs); Console.Write("\nHrrrrrr! Umria gerojski s {0} to4ki. Daj si niknejm: ", counter); string userName = Console.ReadLine(); UserPoints userPoints = new UserPoints(userName, counter); if (champions.Count < 5) { champions.Add(userPoints); } else { for (int i = 0; i < champions.Count; i++) { if (champions[i].Points < userPoints.Points) { champions.Insert(i, userPoints); champions.RemoveAt(champions.Count - 1); break; } } } champions.Sort((UserPoints r1, UserPoints r2) => r2.Name.CompareTo(r1.Name)); champions.Sort((UserPoints r1, UserPoints r2) => r2.Points.CompareTo(r1.Points)); ResultRatings(champions); gameBoard = CreateGameBoard(); bombs = GenerateBombPositions(); counter = 0; isBomb = false; isGameBegining = true; } if (isMaxPointsReached) { Console.WriteLine("\nBRAVOOOS! Otvri 35 kletki bez kapka kryv."); InitializeGameBoard(bombs); Console.WriteLine("Daj si imeto, batka: "); string userName = Console.ReadLine(); UserPoints points = new UserPoints(userName, counter); champions.Add(points); ResultRatings(champions); gameBoard = CreateGameBoard(); bombs = GenerateBombPositions(); counter = 0; isMaxPointsReached = false; isGameBegining = true; } }while (command != "exit"); Console.WriteLine("Made in Bulgaria - Uauahahahahaha!"); Console.WriteLine("AREEEEEEeeeeeee."); Console.Read(); }
public static void GameInit() { string command = string.Empty; char[,] gameBoard = CreateGameBoard(); char[,] bombs = GenerateBombPositions(); int counter = 0; bool isBomb = false; List<UserPoints> champions = new List<UserPoints>(6); int row = 0; int column = 0; bool isGameBegining = true; bool isMaxPointsReached = false; do { if (isGameBegining) { Console.WriteLine("Hajde da igraem na “Mini4KI”. Probvaj si kasmeta da otkriesh poleteta bez mini4ki." + " Komanda 'top' pokazva klasiraneto, 'restart' po4va nova igra, 'exit' izliza i hajde 4ao!"); InitializeGameBoard(gameBoard); isGameBegining = false; } Console.Write("Daj red i kolona : "); command = Console.ReadLine().Trim(); if (command.Length >= 3) { if (int.TryParse(command[0].ToString(), out row) && int.TryParse(command[2].ToString(), out column) && row <= gameBoard.GetLength(0) && column <= gameBoard.GetLength(1)) { command = "turn"; } } switch (command) { case "top": ResultRatings(champions); break; case "restart": gameBoard = CreateGameBoard(); bombs = GenerateBombPositions(); InitializeGameBoard(gameBoard); isBomb = false; isGameBegining = false; break; case "exit": Console.WriteLine("4a0, 4a0, 4a0!"); break; case "turn": if (bombs[row, column] != '*') { if (bombs[row, column] == '-') { PlayerTurn(gameBoard, bombs, row, column); counter++; } if (MAX_POINTS == counter) { isMaxPointsReached = true; } else { InitializeGameBoard(gameBoard); } } else { isBomb = true; } break; default: Console.WriteLine("\nGreshka! nevalidna Komanda\n"); break; } if (isBomb) { InitializeGameBoard(bombs); Console.Write("\nHrrrrrr! Umria gerojski s {0} to4ki. Daj si niknejm: ", counter); string userName = Console.ReadLine(); UserPoints userPoints = new UserPoints(userName, counter); if (champions.Count < 5) { champions.Add(userPoints); } else { for (int i = 0; i < champions.Count; i++) { if (champions[i].Points < userPoints.Points) { champions.Insert(i, userPoints); champions.RemoveAt(champions.Count - 1); break; } } } champions.Sort((UserPoints r1, UserPoints r2) => r2.Name.CompareTo(r1.Name)); champions.Sort((UserPoints r1, UserPoints r2) => r2.Points.CompareTo(r1.Points)); ResultRatings(champions); gameBoard = CreateGameBoard(); bombs = GenerateBombPositions(); counter = 0; isBomb = false; isGameBegining = true; } if (isMaxPointsReached) { Console.WriteLine("\nBRAVOOOS! Otvri 35 kletki bez kapka kryv."); InitializeGameBoard(bombs); Console.WriteLine("Daj si imeto, batka: "); string userName = Console.ReadLine(); UserPoints points = new UserPoints(userName, counter); champions.Add(points); ResultRatings(champions); gameBoard = CreateGameBoard(); bombs = GenerateBombPositions(); counter = 0; isMaxPointsReached = false; isGameBegining = true; } } while (command != "exit"); Console.WriteLine("Made in Bulgaria - Uauahahahahaha!"); Console.WriteLine("AREEEEEEeeeeeee."); Console.Read(); }