Хорошо, поэтому я столкнулся с небольшой проблемой, и я не совсем уверен, как правильно сформулировать вопрос, чтобы название могло немного ввести в заблуждение. Кроме того, код, с которым я столкнулся, - небольшая часть более крупного, поэтому я сделаю все возможное, чтобы объяснить мою ситуацию.Сохранять динамическое значение int в локальной переменной до статического?
В принципе, этот фрагмент кода находится в цикле for, и я пытаюсь сделать так, чтобы каждый раз, когда цикл запускался, определенное значение переменной уменьшалось на определенное число.
int column = h - 1;
if (array[i] == 1)
{
while (d < column - 1)
{
r.lower();
d++
}
if (d == column - 1)
{
r.drop();
column -=1;
}
}
Извините, если он выглядит немного загадочным. Просто забудьте про d и r переменные на данный момент и сфокусируйтесь на столбец и h.
То, что я пытаюсь сделать, это принять значение высоты минус один (h - 1) и сохранить его в локальной переменной столбец, а затем уменьшить его на 1 (столбец = 1) поэтому значение будет обновляться в следующий раз, когда цикл будет выполняться, и условия оператора IF выполнены.
Проблема заключается в том, что высота является динамической переменной - в остальной части кода она постоянно изменяется, и из-за этого мой код будет работать только в первый раз, а когда он будет работать второй раз, t, похоже, вообще уменьшается.
Итак, мой вопрос: как я могу сохранить значение CURRENT высоты в локальную переменную и сделать ее статической (сохраняет одно и то же значение в течение цикла), чтобы я мог успешно ее уменьшить?
Извините, если это было плохо объяснено и, пожалуйста, исправьте меня, если я неправильно использую какие-либо условия.
Спасибо за ваше время!
Есть одна вещь, которую вы неправильно поняли! Хотя я и сказал, что код, который у меня сейчас есть, будет работать только при первом запуске, я не имел в виду первый раз, когда цикл WHOLE запускается, но в первый раз вызывается переменная * column *, то есть когда IF (массив [i] == 1) утверждение верно. Или, может быть, я просто не понимаю ваше решение. В любом случае я немного не уверен, как реализовать свой код в моей! – antonlab
NEVERMIND!Я получил это, чтобы работать !! THANK YOU SO MOTCH :) – antonlab
EDIT: он работает для переменной * column *, но я не упомянул, что у меня есть дубликат кода прямо под тем, который я опубликовал, и все то же самое, кроме утверждения IF (array [ i] == 2), а параметры в цикле WHILE вместо этого вызывают * column2 *. Так что если я попытаюсь вызвать tempHeight для * column2 *, это не будет правильной высотой. – antonlab