private void attack()
	{
		double x = (double) this.getXPosition();
		double y = (double) this.getYPosition();
		
		
		Place choosenCrossroad = new Place(0, 0);
		
		double shortestDistance = Double.MAX_VALUE;
		double h;
		
		for(Place p : Empire.getInstance().CROSSROADS.values())
		{
			double pX = p.getXPosition();
			double pY = p.getYPosition();
			
			if((h = Math.sqrt((pX-x)*(pX-x)+(pY-y)*(pY-y))) < shortestDistance)
			{
				choosenCrossroad = p;
				shortestDistance = h;
			}
		}
		
		this.move(new Road(new Place((int)x, (int)y), choosenCrossroad));
		
		
		
		Place actualPlace;
		Settlement attackedSettlement; 
		
		
		actualPlace = choosenCrossroad;
		while(this.isLiving)
		{
			try
			{
				Thread.sleep(1000);
			}
			catch(Exception ex)
			{
				ex.printStackTrace();
			}
			
			String[] settlementsNames = new String[Empire.getInstance().SETTLEMENTS.size()];
			settlementsNames = Empire.getInstance().SETTLEMENTS.keySet().toArray(settlementsNames);
			
			if(Empire.getInstance().SETTLEMENTS.size() >0)
			{
				attackedSettlement = Empire.getInstance().SETTLEMENTS.get(settlementsNames[random.nextInt(settlementsNames.length)]);
				if(attackedSettlement.getPopulation() >0)
				{
					this.move(actualPlace, attackedSettlement);
					if(this.isLiving == true)
					{
						if(attackedSettlement.getPopulation() >0)
						{
							attackedSettlement.setAttacked();
							
							Empire.SoundsOfEmpire.playAttackedSettlementSound();
							this.makeTerror(attackedSettlement);
						}
						else
						{
							actualPlace =  attackedSettlement;
							continue;
						}
						
					}
					
					actualPlace =  attackedSettlement;
				}
			}
			else
			{
				this.kill();
				clonedBarbarian.kill();
			}
		}	
	}