void normalMove(Player p) {
		/*
			Player p has sent a move request.
			Check if it is their turn & make the move.

		*/
		if(players.indexOf(p) == currentPlayer) {
			int roll = (int) (1 + (Math.random() * 6));
			tellAll(MessageFormatter.chatMessage("SERVER",
					p.getName() + " rolled " + roll));
			Piece playerPiece = p.getPiece();

			int x = 0;
			int y = 0;
			for(int i = 0; i < board.rows(); i++) {
				for(int j = 0; j < board.cols(); j++) {
					if(board.hasPiece(i, j, playerPiece)) {
						x = i; y = j;
						board.removePiece(i, j, playerPiece);
					}
				}
			}

			// Calculate new pos
			int newX = x;
			int newY = y;

			// Every even row we move left
			if(newX % 2 == 0)
				newY = newY - roll;
			else // Every odd row me move right
				newY = newY + roll;

			// Need to move to new row if column is greater than 9
			// or less than 0.
			if(newY > 9) {
				newX--;
				newY = 10 - (newY % 9);
			}
			else if(newY < 0) {
				newX--;
				if(newX < 0) {
					// Player has gone past square 100.
					// New column change is slightly different.
					newX++;
					newY = 9 - (9 - (newY * -1));
				}
				else
					newY = 9 - (10 - (newY * -1));
			}
			
			movePlayerPiece(x, y, newX, newY, playerPiece);
			if(!gameOver()) {
				nextPlayerTurn();
			}
			else {
				started = false;
				tellAll(MessageFormatter.gameMessage("finish"));
			}
		}
	}