private void GameOver() {
		boolean res = false;
		int curscore = board.getScore();
		// Create 4 boards
		int[][] boardDown, boardUp, boardLeft, boardRight;
		// Initialize 4 boards
		boardDown = new int[4][4];
		boardUp = new int[4][4];
		boardLeft = new int[4][4];
		boardRight = new int[4][4];
		// Copy current board
		for (int a = 0; a < 4; a++)
			for (int b = 0; b < 4; b++) {
				boardDown[a][b] = board.getBoard(b, a);
				boardUp[a][b] = board.getBoard(b, a);
				boardLeft[a][b] = board.getBoard(b, a);
				boardRight[a][b] = board.getBoard(b, a);
			}
		// Move current board once to each direction
		for (int a = 0; a < 4; a++) {
			boardUp = moveBoard(
					new Board2048(boardUp, board.getScore(), board.getN()), a,
					0, 0, 1).getBoard();
			boardDown = moveBoard(
					new Board2048(boardDown, board.getScore(), board.getN()),
					a, 3, 0, -1).getBoard();
			boardLeft = moveBoard(
					new Board2048(boardLeft, board.getScore(), board.getN()),
					0, a, 1, 0).getBoard();
			boardRight = moveBoard(
					new Board2048(boardRight, board.getScore(), board.getN()),
					3, a, -1, 0).getBoard();
		}
		// Check if they are all the same boards then game is over
		if (isBoardEquals(board.getBoard(), boardUp)
				&& isBoardEquals(board.getBoard(), boardDown)
				&& isBoardEquals(board.getBoard(), boardLeft)
				&& isBoardEquals(board.getBoard(), boardRight))
			res = true;
		board.setScore(curscore);
		gameover = res;
	}