private static void Main() { string command = string.Empty; char[,] gameField = CreateGameField(); char[,] mines = SetMines(); int counter = 0; bool grum = false; List<Ranking> champions = new List<Ranking>(6); int row = 0; int column = 0; bool flag = true; const int max = 35; bool flag2 = false; do { if (flag) { 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!"); dumpp(gameField); flag = 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 <= gameField.GetLength(0) && column <= gameField.GetLength(1)) { command = "turn"; } } switch (command) { case "top": GetRanking(champions); break; case "restart": gameField = CreateGameField(); mines = SetMines(); dumpp(gameField); break; case "exit": Console.WriteLine("4a0, 4a0, 4a0!"); break; case "turn": if (mines[row, column] != '*') { if (mines[row, column] == '-') { ChangeTurn(gameField, mines, row, column); counter++; } if (max == counter) { flag2 = true; } else { dumpp(gameField); } } else { grum = true; } break; default: Console.WriteLine("\nGreshka! nevalidna Komanda\n"); break; } if (grum) { dumpp(mines); Console.Write("\nHrrrrrr! Umria gerojski s {0} to4ki. " + "Daj si niknejm: ", counter); string nickName = Console.ReadLine(); Ranking t = new Ranking(nickName, counter); if (champions.Count < 5) { champions.Add(t); } else { for (int i = 0; i < champions.Count; i++) { if (champions[i].Points < t.Points) { champions.Insert(i, t); champions.RemoveAt(champions.Count - 1); break; } } } champions.Sort((Ranking r1, Ranking r2) => r2.player.CompareTo(r1.player)); champions.Sort((Ranking r1, Ranking r2) => r2.Points.CompareTo(r1.Points)); GetRanking(champions); gameField = CreateGameField(); mines = SetMines(); counter = 0; grum = false; flag = true; } if (flag2) { Console.WriteLine("\nBRAVOOOS! Otvori 35 kletki bez kapka kryv."); dumpp(mines); Console.WriteLine("Daj si imeto, batka: "); string name = Console.ReadLine(); Ranking points = new Ranking(name, counter); champions.Add(points); GetRanking(champions); gameField = CreateGameField(); mines = SetMines(); counter = 0; flag2 = false; flag = true; } } while (command != "exit"); Console.WriteLine("Made in Bulgaria - Uauahahahahaha!"); Console.WriteLine("AREEEEEEeeeeeee."); Console.Read(); }
private static void Main(string[] args) { string command = string.Empty; char[,] gameField = CreateGameField(); char[,] mines = SetMines(); int counter = 0; bool isFired = false; List<Ranking> winners = new List<Ranking>(6); int row = 0; int col = 0; bool isNewGame = true; const int MaxTurns = 35; bool areTurnsMaxed = false; do { if (isNewGame) { Console.WriteLine( "Let's go! Play the Minesweeper game. The command 'top' show the ranking," + "'restart' - reset the game and command 'exit' - left the game"); SetGameBoard(gameField); isNewGame = false; } Console.Write("Enter row and col : "); command = Console.ReadLine().Trim(); if (command.Length >= 3) { if (int.TryParse(command[0].ToString(), out row) && int.TryParse(command[2].ToString(), out col) && row <= gameField.GetLength(0) && col <= gameField.GetLength(1)) { command = "turn"; } } switch (command) { case "top": GetRanking(winners); break; case "restart": gameField = CreateGameField(); mines = SetMines(); SetGameBoard(gameField); isFired = false; isNewGame = false; break; case "exit": Console.WriteLine("Bye, Bye!"); break; case "turn": if (mines[row, col] != '*') { if (mines[row, col] == '-') { ChangeTurn(gameField, mines, row, col); counter++; } if (MaxTurns == counter) { areTurnsMaxed = true; } else { SetGameBoard(gameField); } } else { isFired = true; } break; default: Console.WriteLine("\nError! Invalid command!\n"); break; } if (isFired) { SetGameBoard(mines); Console.WriteLine("\n Game over! You died a hero with : {0} points. Enter your nickname : ", counter); string nickname = Console.ReadLine(); Ranking winner = new Ranking(nickname, counter); int winnersLimit = 5; if (winners.Count < winnersLimit) { winners.Add(winner); } else { for (int i = 0; i < winners.Count; i++) { if (winners[i].Points < winner.Points) { winners.Insert(i, winner); winners.RemoveAt(winners.Count - 1); break; } } } winners.Sort((Ranking ranking1, Ranking ranking2) => ranking2.Name.CompareTo(ranking1.Name)); winners.Sort((Ranking ranking1, Ranking ranking2) => ranking2.Points.CompareTo(ranking1.Points)); GetRanking(winners); gameField = CreateGameField(); mines = SetMines(); counter = 0; isFired = false; isNewGame = true; } if (areTurnsMaxed) { Console.WriteLine("\ncongratulations! You find 35 cells without hurt yourself!"); SetGameBoard(mines); Console.WriteLine("Enter your name: "); string name = Console.ReadLine(); Ranking points = new Ranking(name, counter); winners.Add(points); GetRanking(winners); gameField = CreateGameField(); mines = SetMines(); counter = 0; areTurnsMaxed = false; isNewGame = true; } } while (command != "exit"); Console.Read(); }
public void Run() { do { if (this.flag) { 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!"); Dump(this.field); this.flag = false; } Console.Write("Daj red i kolona : "); this.command = Console.ReadLine().Trim(); if (this.command.Length >= 3) { if (int.TryParse(this.command[0].ToString(), out row) && int.TryParse(this.command[2].ToString(), out this.column) && this.row <= this.field.GetLength(0) && this.column <= this.field.GetLength(1)) { this.command = "turn"; } } switch (this.command) { case "top": GetRanking(this.champions); break; case "restart": this.field = CreateGameField(); this.mines = PlantMines(); Dump(this.field); this.hasExploded = false; this.flag = false; break; case "exit": Console.WriteLine("4a0, 4a0, 4a0!"); break; case "turn": if (this.mines[this.row, this.column] != '*') { if (this.mines[this.row, this.column] == '-') { ChangeTurn(this.field, this.mines, this.row, this.column); this.counter++; } if (max == this.counter) { this.flag2 = true; } else { Dump(this.field); } } else { this.hasExploded = true; } break; default: Console.WriteLine("\nGreshka! nevalidna Komanda\n"); break; } if (this.hasExploded) { Dump(this.mines); Console.Write("\nHrrrrrr! Umria gerojski s {0} to4ki. " + "Daj si niknejm: ", this.counter); string nickname = Console.ReadLine(); Ranking t = new Ranking(nickname, this.counter); if (this.champions.Count < 5) { this.champions.Add(t); } else { for (int i = 0; i < this.champions.Count; i++) { if (this.champions[i].Points < t.Points) { this.champions.Insert(i, t); this.champions.RemoveAt(this.champions.Count - 1); break; } } } this.champions.Sort((Ranking r1, Ranking r2) => r2.Name.CompareTo(r1.Name)); this.champions.Sort((Ranking r1, Ranking r2) => r2.Points.CompareTo(r1.Points)); GetRanking(this.champions); this.field = CreateGameField(); this.mines = PlantMines(); this.counter = 0; this.hasExploded = false; this.flag = true; } if (this.flag2) { Console.WriteLine("\nBRAVOOOS! Otvri 35 kletki bez kapka kryv."); Dump(this.mines); Console.WriteLine("Daj si imeto, batka: "); string name = Console.ReadLine(); Ranking points = new Ranking(name, this.counter); this.champions.Add(points); GetRanking(champions); this.field = CreateGameField(); this.mines = PlantMines(); this.counter = 0; this.flag2 = false; this.flag = true; } } while (this.command != "exit"); }
private static void Main() { string command = string.Empty; char[,] gameField = CreateGameField(); char[,] mines = SetMines(); int counter = 0; bool grum = false; List <Ranking> champions = new List <Ranking>(6); int row = 0; int column = 0; bool flag = true; const int max = 35; bool flag2 = false; do { if (flag) { 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!"); dumpp(gameField); flag = 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 <= gameField.GetLength(0) && column <= gameField.GetLength(1)) { command = "turn"; } } switch (command) { case "top": GetRanking(champions); break; case "restart": gameField = CreateGameField(); mines = SetMines(); dumpp(gameField); break; case "exit": Console.WriteLine("4a0, 4a0, 4a0!"); break; case "turn": if (mines[row, column] != '*') { if (mines[row, column] == '-') { ChangeTurn(gameField, mines, row, column); counter++; } if (max == counter) { flag2 = true; } else { dumpp(gameField); } } else { grum = true; } break; default: Console.WriteLine("\nGreshka! nevalidna Komanda\n"); break; } if (grum) { dumpp(mines); Console.Write("\nHrrrrrr! Umria gerojski s {0} to4ki. " + "Daj si niknejm: ", counter); string nickName = Console.ReadLine(); Ranking t = new Ranking(nickName, counter); if (champions.Count < 5) { champions.Add(t); } else { for (int i = 0; i < champions.Count; i++) { if (champions[i].Points < t.Points) { champions.Insert(i, t); champions.RemoveAt(champions.Count - 1); break; } } } champions.Sort((Ranking r1, Ranking r2) => r2.player.CompareTo(r1.player)); champions.Sort((Ranking r1, Ranking r2) => r2.Points.CompareTo(r1.Points)); GetRanking(champions); gameField = CreateGameField(); mines = SetMines(); counter = 0; grum = false; flag = true; } if (flag2) { Console.WriteLine("\nBRAVOOOS! Otvori 35 kletki bez kapka kryv."); dumpp(mines); Console.WriteLine("Daj si imeto, batka: "); string name = Console.ReadLine(); Ranking points = new Ranking(name, counter); champions.Add(points); GetRanking(champions); gameField = CreateGameField(); mines = SetMines(); counter = 0; flag2 = false; flag = true; } }while (command != "exit"); Console.WriteLine("Made in Bulgaria - Uauahahahahaha!"); Console.WriteLine("AREEEEEEeeeeeee."); Console.Read(); }
/// <summary> /// The engine. /// </summary> public void Run() { do { if (this.flag) { 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!"); Dump(this.gameField); this.flag = false; } Console.Write("Daj red i kolona : "); this.command = Console.ReadLine().Trim(); if (this.command.Length >= 3) { if (int.TryParse(this.command[0].ToString(), out this.row) && int.TryParse(this.command[2].ToString(), out this.column) && this.row <= this.gameField.GetLength(0) && this.column <= this.gameField.GetLength(1)) { this.command = "turn"; } } switch (this.command) { case "top": GetRanking(this.champions); break; case "restart": this.gameField = CreateGameField(); this.mines = SetMines(); Dump(this.gameField); break; case "exit": Console.WriteLine("4a0, 4a0, 4a0!"); break; case "turn": if (this.mines[this.row, this.column] != '*') { if (this.mines[this.row, this.column] == '-') { ChangeTurn(this.gameField, this.mines, this.row, this.column); this.counter++; } if (Max == this.counter) { this.flag2 = true; } else { Dump(this.gameField); } } else { this.grum = true; } break; default: Console.WriteLine("\nGreshka! nevalidna Komanda\n"); break; } if (this.grum) { Dump(this.mines); Console.Write("\nHrrrrrr! Umria gerojski s {0} to4ki. " + "Daj si niknejm: ", this.counter); string nickName = Console.ReadLine(); Ranking t = new Ranking(nickName, this.counter); if (this.champions.Count < 5) { this.champions.Add(t); } else { for (int i = 0; i < this.champions.Count; i++) { if (this.champions[i].Points < t.Points) { this.champions.Insert(i, t); this.champions.RemoveAt(this.champions.Count - 1); break; } } } this.champions.Sort( (Ranking r1, Ranking r2) => string.Compare(r2.Player, r1.Player, StringComparison.Ordinal)); this.champions.Sort((Ranking r1, Ranking r2) => r2.Points.CompareTo(r1.Points)); GetRanking(this.champions); this.gameField = CreateGameField(); this.mines = SetMines(); this.counter = 0; this.grum = false; this.flag = true; } if (this.flag2) { Console.WriteLine("\nBRAVOOOS! Otvori 35 kletki bez kapka kryv."); Dump(this.mines); Console.WriteLine("Daj si imeto, batka: "); string name = Console.ReadLine(); Ranking points = new Ranking(name, this.counter); this.champions.Add(points); GetRanking(this.champions); this.gameField = CreateGameField(); this.mines = SetMines(); this.counter = 0; this.flag2 = false; this.flag = true; } }while (this.command != "exit"); }