public void run() {
		if (turns == 0) {// ends if there are no more moves left
			this.stop();
			return;
		}

		this.currPlayer = players.dequeue();

		JOptionPane.showMessageDialog(null, currPlayer.getName() + "'s Turn",
				"Monopoly", JOptionPane.PLAIN_MESSAGE);

		if (currPlayer.getInJail() == true && currPlayer.getJailTime() == 0) {
			JOptionPane.showMessageDialog(null,
					"You waited too Long. You were forced to pay $50",// <--
																		// explains
																		// this
																		// part
					"Monopoly", JOptionPane.PLAIN_MESSAGE);
			currPlayer.setMoney(currPlayer.getMoney() - 50);
			currPlayer.setJailTime(0);
			currPlayer.setInJail(false);
			makeMove(currPlayer.roll());
		}

		else if (currPlayer.getInJail() == true) { // WHat happens in jail

			String[] possibilities = { "Use a Get Out Of Jail Free Card",
					"Try Throw Doubles", "Pay $50", "Wait" };

			String s = (String) JOptionPane.showInputDialog(null,
					"You are In Jail. What Do You Want To Do?", "Monopoly",
					JOptionPane.PLAIN_MESSAGE, null, possibilities, null);

			if (s.equals("Use a Get Out Of Jail Free Card")) {
				if (currPlayer.getOutJailFree() == true) {
					currPlayer.setCardHolder(false);
					makeMove(currPlayer.roll());
				} else {
					JOptionPane.showMessageDialog(null,
							"Liar! You Don't Have a" + "\n"
									+ " Get Out of Jail Free Card", "Monopoly",
							JOptionPane.PLAIN_MESSAGE);
					currPlayer.setJailTime(currPlayer.getJailTime() - 1);
				}
			} else if (s.equals("Try Throw Doubles")) {
				int roll = currPlayer.roll();
				boolean ans = currPlayer.lastRollWasDoubles();
				if (ans == true) {
					JOptionPane.showMessageDialog(null,
							"Success! You threw Doubles" + "\n" + "Advance "
									+ roll + " spaces", "Monopoly",
							JOptionPane.PLAIN_MESSAGE);
					currPlayer.setDoubles(0);
					currPlayer.setLastRoll(false);
					makeMove(roll);
				} else
					JOptionPane.showMessageDialog(null,
							"Sorry! Try again Later", "Monopoly",
							JOptionPane.PLAIN_MESSAGE);
				currPlayer.setJailTime(currPlayer.getJailTime() - 1);
			}

			else if (s.equals("Pay $50")) {
				JOptionPane.showMessageDialog(null, "You paid $50", "Monopoly",
						JOptionPane.PLAIN_MESSAGE);
				currPlayer.setMoney(currPlayer.getMoney() - 50);
				currPlayer.setJailTime(0);
				currPlayer.setInJail(false);
				makeMove(currPlayer.roll());
			} else
				currPlayer.setJailTime(0);
		}

		else {
			int roll = currPlayer.roll();
			makeMove(roll);
		}

		updateScore();

	}