private void doAttack(AttackTransferMove move)
	{
		Region fromRegion = move.getFromRegion();
		Region toRegion = move.getToRegion();
		int attackingArmies;
		int defendingArmies = toRegion.getArmies();
		
		int defendersDestroyed = 0;
		int attackersDestroyed = 0;
		
		if(fromRegion.getArmies() > 1)
		{
			if(fromRegion.getArmies()-1 >= move.getArmies()) //are there enough armies on fromRegion?
				attackingArmies = move.getArmies();
			else
				attackingArmies = fromRegion.getArmies()-1;
			
			for(int t=1; t<=attackingArmies; t++) //calculate how much defending armies are destroyed
			{
				double rand = Math.random();
				if(rand < 0.6) //60% chance to destroy one defending army
					defendersDestroyed++;
			}
			for(int t=1; t<=defendingArmies; t++) //calculate how much attacking armies are destroyed
			{
				double rand = Math.random();
				if(rand < 0.7) //70% chance to destroy one attacking army
					attackersDestroyed++;
			}
			
			if(attackersDestroyed >= attackingArmies)
			{
				if(defendersDestroyed >= defendingArmies)
					defendersDestroyed = defendingArmies - 1;
				
				attackersDestroyed = attackingArmies;
			}		
			
			//process result of attack
			if(defendersDestroyed >= defendingArmies) //attack success
			{
				fromRegion.setArmies(fromRegion.getArmies() - attackingArmies);
				toRegion.setPlayerName(move.getPlayerName());
				toRegion.setArmies(attackingArmies - attackersDestroyed);
			}
			else //attack fail
			{
				fromRegion.setArmies(fromRegion.getArmies() - attackersDestroyed);
				toRegion.setArmies(toRegion.getArmies() - defendersDestroyed);
			}
			
		}
		else
			move.setIllegalMove(move.getFromRegion().getId() + " attack " + "only has 1 army");
	}