public MoveNode[] expandNodes(Grid board, MoveNode last, int ply) { List <MoveNode> nodes = new List <MoveNode>(); List <Group> moves = board.calculateGroups(); foreach (Group move in moves) { Grid b = board.copy(); if (b.checkMove(move.X, move.Y)) { b.removeGroup(move.X, move.Y); b.compressGrid(); nodes.Add(new MoveNode(move, rankGrid(b), ply, b, last)); } } return(nodes.ToArray()); }
public static void newGame(Grid game) { bool GameLoop = true; while (GameLoop) { game.displayGrid(); Console.Write("Enter Move ( as 'x y' ): "); string move = Console.ReadLine(); string[] coord = move.Split(' '); Int32 val; if ((coord.Length == 2) && (Int32.TryParse(coord[0], out val) && Int32.TryParse(coord[1], out val)) && game.checkMove(Int32.Parse(coord[0]), Int32.Parse(coord[1]))) { game.removeGroup(Int32.Parse(coord[0]), Int32.Parse(coord[1])); game.Logger.addLog("MOVE: (" + coord[0] + "," + coord[1] + ")"); game.Logger.addLog(" --Points: " + game.calculatePoints()); } else { Console.WriteLine("Invalid Move! Try again!"); } game.compressGrid(); if (game.checkWin()) { GameLoop = false; Console.WriteLine("You Win!"); game.Logger.addLog("GAME WIN: All bubbles eliminated"); game.Logger.addLog("FINAL POINTS: " + game.Points); game.Logger.close(); Console.ReadLine(); } else if (game.checkLocked()) { GameLoop = false; //display final game board showing locked game game.displayGrid(); Console.WriteLine("You Lose!"); game.Logger.addLog("GAME LOSS: Gameboard locked!"); game.Logger.addLog("FINAL POINTS: " + game.Points); game.Logger.close(); Console.ReadLine(); } } }
public static void newGame(Grid game) { bool GameLoop = true; while (GameLoop) { game.displayGrid(); Console.Write("Enter Move ( as 'x y' ): "); string move = Console.ReadLine(); string[] coord = move.Split(' '); Int32 val; if((coord.Length==2) && (Int32.TryParse(coord[0], out val) && Int32.TryParse(coord[1], out val)) && game.checkMove(Int32.Parse(coord[0]), Int32.Parse(coord[1]))) { game.removeGroup(Int32.Parse(coord[0]), Int32.Parse(coord[1])); game.Logger.addLog("MOVE: (" + coord[0] + "," + coord[1] + ")"); game.Logger.addLog(" --Points: " + game.calculatePoints()); } else { Console.WriteLine("Invalid Move! Try again!"); } game.compressGrid(); if (game.checkWin()) { GameLoop = false; Console.WriteLine("You Win!"); game.Logger.addLog("GAME WIN: All bubbles eliminated"); game.Logger.addLog("FINAL POINTS: " + game.Points); game.Logger.close(); Console.ReadLine(); } else if (game.checkLocked()) { GameLoop = false; //display final game board showing locked game game.displayGrid(); Console.WriteLine("You Lose!"); game.Logger.addLog("GAME LOSS: Gameboard locked!"); game.Logger.addLog("FINAL POINTS: " + game.Points); game.Logger.close(); Console.ReadLine(); } } }