private void generateClassroom()
	{
		ArrayList<Point> doors;
		if (day.getNextCourse().ordinal() == 0) // first class (could hardcode as HUMANITIES)
		{
			playerX = playerY = 5;
			screenX = screenY = 0;
			destination = null;
			
			doors = campus.getDoors(true);
			
			for (int i=0; i<TILESX; i++)
			{	for (int j=0; j<TILESY; j++)
				{	Tile tile = campus.getTile(screenX+i, screenY+j);
					if (tile != null)
						tiles[i][j] = tileFactory.get(tile);
				}
			}
		}
		else
			doors = campus.getDoors(false);
		
		if (destination != null)
			doors.remove(destination);	// remove last used door (no two classes in same place in a row)
		destination = doors.get((int)(Math.random()*doors.size()));
		campus.addSign(destination, day.getNextCourse());
		
		if (day.isLibrary())
		{
			library = destination;
			while (library.equals(destination))
				library = doors.get((int)(Math.random()*doors.size()));
			campus.addLibrary(library);
		}
			
		// Update any sign tiles currently onscreen
		Rectangle window = new Rectangle(screenX, screenY+1, TILESX, TILESY);
		for (Point p : doors)
			if (window.contains(p)) 
				tiles[p.x-screenX][p.y-1-screenY] = tileFactory.get(campus.getTile(p.x, p.y-1));	
	}