public ArrayList<Integer> useableRoadLocations(Player P)
	{
		ArrayList<Integer> returnArray=new ArrayList<Integer>();
		for(GamePiece p:verts)
		{
			if((!(p==null))&&(p.type==1||p.type==2)&&playerList.get(p.player).equals(P))
			{
				//if(gl.resDistr.get(gl.SClocs.get(p.location).resIndex1).type==0)Lr+=getProb(gl.hexRolls.get(gl.SClocs.get(p.location).resIndex1))*p.type;
				//at this point the game piece is a city. therefore any adjacent edge is
				//a viable road location.
				for(Edge e:edges)
				{
					if((e.vertIndex1==p.location||e.vertIndex2==p.location)&&!(road.get(edges.indexOf(e))==null))
					{
						returnArray.add(edges.indexOf(e));
					}
					
				}
				
				
				
				
			}
		}
		return returnArray;
		
		
	}