public bool compare(HearthstoneBoard board) { if (p1Board.Compare(board.p1Board, this, board) && p2Board.Compare(board.p2Board, this, board)) { return(true); } return(false); }
public static void autoSave(BoardSide b, int round) { BoardSide save = b.copy(); IFormatter formatter = new BinaryFormatter(); string directory = @"BoardSides\Round" + round; Directory.CreateDirectory(directory); string filename = directory + @"\board.boardside"; int suffix = 1; while (File.Exists(filename)) { suffix++; filename = directory + @"\board" + suffix + ".boardside"; } //Dont save board if its already saved BoardSide lastBoard = null; if (suffix == 2) { lastBoard = loadBoardSide(directory + @"\board.boardside"); } else if (suffix != 1) { lastBoard = loadBoardSide(directory + @"\board" + (suffix - 1) + ".boardside"); } if (lastBoard != null && lastBoard.Compare(b, null, null)) { return; } Stream stream = new FileStream(filename, FileMode.Create, FileAccess.Write); formatter.Serialize(stream, b); stream.Close(); }