PDA

Просмотр полной версии : [Вопрос] Проверка в конце выполнения цикла



DmX
05.02.2016, 17:49
Мне нужно сделать обнуление, когда цикл проверит всех игроков, можно пример кода? :)

VVWVV
05.02.2016, 17:51
for (/* ... */)
{
/* ... */
}
/*
Обнуление.
*/

DmX
05.02.2016, 18:07
У меня таким образом не успевает всё проверится и обнуление быстрее чем проверка всех игроков.

VVWVV
05.02.2016, 18:08
А можете показать код?

Иван Бубнов
05.02.2016, 18:16
for(new i; i < MAX_PLAYERS; ++i)
{
if(i == MAX_PLAYERS-1)
{
//действие
}
}

Но этот вариант не рекомендую использовать.

VVWVV
05.02.2016, 18:19
Можно, конечно, использовать goto.



for (/* ... */)
{
/* ... */
goto scratch;
}
scratch:
/* ... Обнуление ... */


так же есть вероятность, что вы используете функции, которые, соответственно, обнуляют переменные.

DmX
05.02.2016, 18:29
Я использую так:


foreach(player,i)
{
if(a[i] == b)
{
//Действие
}
b = 0;
}

VVWVV
05.02.2016, 18:32
Очень простая ошибка. При каждой итерации обнуляете переменную, но, вероятно, не устанавливаете её в самом цикле.

$continue$
06.02.2016, 00:43
Можно, конечно, использовать goto.



for (/* ... */)
{
/* ... */
goto scratch;
}
scratch:
/* ... Обнуление ... */


так же есть вероятность, что вы используете функции, которые, соответственно, обнуляют переменные.

Спагетти код. (http://habrahabr.ru/post/187154/)
Почти в 95% можно обойтись без goto

Desulaid
06.02.2016, 01:03
Спагетти код. (http://habrahabr.ru/post/187154/)
Почти в 95% можно обойтись без goto

Почему бы тогда не предложить свой вариант, а не тупо критиковать другой? (OнO")



А зачем обнулять?


for(new i; i < 228; i++)
{
/* на лабутенах ... */
}

Переменная i создастся и будет только существовать в теле цикла. Цикл отработал, считай переменной нет.

VVWVV
06.02.2016, 02:52
Спагетти код. (http://habrahabr.ru/post/187154/)
Почти в 95% можно обойтись без goto

Я давно знаю об этом, но хорошо, что напомнили мне).