Показать сообщение отдельно
Старый 22.02.2017, 09:16
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Функции объявлены в цикле, но не вызываются. Соответственно enchant не растет, условие цикла не выполняется и цикл повторяется бесконечно.

Добавлено через 46 минут
Как-то так, если я правильно понял логику
Код AS3:
//Заточка на четырех предметах
function enchantingFour(event: MouseEvent): void { 		//Нажимаем на кнопку
	while (enchant < 10) enFirst(); 	//До тех пор, пока не заточится на + 10 Точим первое
 	//При успешной заточке на +10 вывод в динамическое текстовое поле количества попыток заточки первого ...
	//...и обнуление переменных для повторения заточки с нуля.
	memo.text = tries + " Попыток"; 
	enchant = 0;
	tries = 0;
}	
 
function enFirst(): void { 				//Точим первое
	chance1 = Math.random(); 			//Шанс заточки 75%
	if (chance1 * 100 < 76) { 			//Если успешно заточилось первое
		enchant++; 	 	 	 	//Прибавляем уровень заточки
		enRest();	
	} else	 enchant = 0; 	 	 	 	//Если не заточилось первое Сбрасываем заточку
	tries++;						//Увеличиваем счетчик попыток заточки первого		
}
 
function enRest(): void { 				//Точим другие
	chance2 = Math.random(); 			//Шанс 75%
	if (chance2 * 100 < 76) { 			//Если успешно заточилось второе, точим третье
		chance3 = Math.random();		//Шанс 75%
		if (chance3 * 100 < 76) { 		//Если успешно заточилось третье, точим четвертое
			chance4 = Math.random(); 	//Шанс 75%
			if (chance4 * 100 < 76) { 	//Если успешно заточилось и четвертое...
				enRest(); 			//...Возвращаемся к заточке со второго
			} else enFirst();			//Если не заточилось четвертое...Снова точим первое
		} else enFirst();				//Если не заточилось третье...Снова точим первое
	} else enFirst();					//Если не заточилось второе...Снова точим первое
}
__________________
Reality.getBounds(this);