public void loadFromFile() {
		String fileName = "SavedGame.txt";
		try {
			Scanner scan = new Scanner(new FileReader(new File(fileName)));

			Card card;
			String cardInfo;
			int value, suitIndex, xPos, yPos, cardStackSize;
			boolean hasBeenGuessed;
			String input;
			/*
			 * Stage 11 (8 Marks)
			 */

			/*
			 * String a; while ((a = scan.next()) != null) {
			 * System.out.print(" " + a); };
			 */
			this.cardWidth = scan.nextInt();
			this.cardHeight = scan.nextInt();

			userCard.setValue(Integer.parseInt(scan.next()));
			userCard.setSuit(scan.nextInt());
			userCard.setCardArea(scan.nextInt(), scan.nextInt(), 0, 0);
			userCard.setHasBeenRemoved(scan.nextBoolean());
			userCard.setIsFaceUp(scan.nextBoolean());
			// display userCard:
			//System.out.println(userCard);

			for (int i = 0; i < NUMBER_OF_ROWS; i++) {
				for (int j = 0; j < NUMBER_OF_COLS; j++) {
					while (scan.hasNextLine()) {
						input = scan.nextLine();
						//System.out.println(input);
						if (input.equals("null") ){
							cards[i][j] = null;
							break;
						} else if (input.equals("\n") || input.equals("")){
							continue;
						} else if (!input.equals("\n")) {
							Scanner lineScan = new Scanner(input);
							//System.out.println("lineScan: " + lineScan);
							card = new Card(lineScan.nextInt(), lineScan.nextInt(),lineScan.nextInt(), lineScan.nextInt(),
									lineScan.nextBoolean(), lineScan.nextBoolean());
							System.out.println(card);
							cards[i][j] = card;
							//System.out.println("Position: " + i + " " + j + " " + card);
							break;
						}
					}
				}
			}
			int times = scan.nextInt(); System.out.println("times: " + times); scan.nextLine();
			cardStack.clear();
			for (int i = 0; i < times/*scan.nextInt()*/; i++){
				input = scan.nextLine();
				Scanner lineScan = new Scanner(input);
				System.out.println(input);
				//System.out.println("lineScan: " + lineScan);
				card = new Card(lineScan.nextInt(), lineScan.nextInt(),lineScan.nextInt(), lineScan.nextInt(),
						lineScan.nextBoolean(), lineScan.nextBoolean());
				cardStack.add(card);
			}
			//
			// for (int i = 0; i < NUMBER_OF_ROWS; i++) {
			// for (int j = 0; j < NUMBER_OF_COLS; j++) {
			// String input = scan.next();
			// if (input == null) {
			// cards[i][j] = null;
			// continue;
			// } else {
			// System.out.println(input);
			// cards[i][j].setValue(Integer.parseInt(input));
			// cards[i][j].setSuit(scan.nextInt());
			// cards[i][j].setCardArea(scan.nextInt(), scan.nextInt(),
			// i, j);
			// cards[i][j].setHasBeenRemoved(scan.nextBoolean());
			// cards[i][j].setIsFaceUp(scan.nextBoolean());
			// }
			// }
			// }
			//
			// // set card stack
			// cardStack.clear();
			// for (int i = 0; i < scan.nextInt(); i++) {
			// cardStack.add(new Card(scan.nextInt(), scan.nextInt()));
			// scan.nextBoolean();
			// scan.nextBoolean();
			// }
			// // pW.println(userScore);
			// // pW.println(pointsToAdd);
			// // pW.println(noMoreTableCards);
			// // pW.println(noMoreAvailableMoves);
			// // pW.println(numberRemoved);

			userScore = scan.nextInt();
			pointsToAdd = scan.nextInt();
			noMoreTableCards = scan.nextBoolean();
			noMoreAvailableMoves = scan.nextBoolean();
			numberRemoved = scan.nextInt();
			this.repaint();
			scan.close();
		} catch (FileNotFoundException e) {
			e.getMessage();
		}
	}