Просмотр полной версии : Не могу уменьшить количество жизней в функции
Всем здрасте! Делаю тут игруню одну и мне надо, если человек ошибается удалить один клип с именем "life"+ кол-во жизней. Вот функцияfunction perebor_slova(otvet, alfavit:String) {
for (i=0; i<otvet.length; i++) {
if (otvet.charAt(i) == alfavit) {
_root["box"+i]["bukva_in_box"+i].text = alfavit;
} else {
_root["life"+(lives-1)].removeMovieClip();
}
}
trace(lives);
return otvet, alfavit;
}
Если я в в блоке else добавлю lives--; то он мне удалит все клипы "life"+кол-во жизней кроме последнего (life4). Как быть? Может поможете? Заранее благодарен за дельные советы!
iflamberg
24.07.2009, 14:32
function perebor_slova(otvet, alfavit:String) {
var flag:Boolean = false;
for (i=0; i<otvet.length; i++) {
if (otvet.charAt(i) == alfavit) {
_root["box"+i]["bukva_in_box"+i].text = alfavit;
} else {
flag=true; break;
}
}
if (flag) {
_root["life"+(lives-1)].removeMovieClip();
lives--;
}
trace(lives);
return otvet, alfavit;
}
Ну у меня чел нажимает на букву и мы бежим по слову и проверяем есть ли такая буква в слове. А с вашим примером у меня даже если есть такая буква в слове он уменьшает жизни
iflamberg
24.07.2009, 14:40
это вы код протестировали и он выдал такой результат?
я может чего-то не понимаю в вашей задаче, но если
в else входа не будет, то flag остается =false, а это значит, что жизни не будут сняты.
Да. Протестировал. И если если даже есть буква в слове, то он все равно удаляет жизнь
iflamberg
24.07.2009, 14:51
а, вам обратная логика нужна.
var base:String = "поле чудес";
var lives:Number=5;
trace (perebor_slova(base,"п"));
trace (perebor_slova(base,"f"));
function perebor_slova(otvet:String, alfavit:String) {
var flag:Boolean = false;
for (i=0; i<otvet.length; i++) {
if (otvet.charAt(i) == alfavit) {
_root["box"+i]["bukva_in_box"+i].text = alfavit;
flag=true;
}
}
if (!flag) {
_root["life"+(lives-1)].removeMovieClip();
lives--;
}
trace(lives);
return otvet, alfavit;
}
Уау. Работает. ^_^ Просто офигительно. Наиогромнейшее СПАСИБО!!!!!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.