public void run()
	{
		initialize();
		
		while (true) 
		{				
			radarManager.update();
			movementManager.update();
			enemyManager.update();
			enemyBulletManager.update();
			movementStrategyManager.update();
			
			if (enemyManager.getCurrTarget() != null)
			{
				Gun gun = enemyManager.getCurrTarget().getGunStatsManager().getBestGun();
				BattleSituation situation = new BattleSituation(new MovementInfo(this),
						                              enemyManager.getCurrTarget().getMovementInfo());
				gun.fireAtTarget(situation, Firepower.compute(this, enemyManager.getCurrTarget()));
			}
		
			execute();
		}
	}