ArduWir
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Изменение переменной

Перейти вниз

Изменение переменной Empty Изменение переменной

Сообщение  Admin Ср 23 Мар 2016 - 22:19

Написал небольшую функцию, которая изменяет переменные. Например в программе по нажатию кнопок или по каким-то событиям необходимо изменять различные переменные, у каждой переменной есть свой шаг изменения, свой минимум и максимум, возможность изменяться циклически (т.е. при достижения максимума переходить на минимум и при достижения минимума переходить на максимум. Если каждую переменную проверять на диапазон отдельно, то код увеличиться, станет не читаемым и займет огромное количество памяти. Собственно чтобы избежать таких проблем и была написана эта функция.
Код:
//функция изменения переменной
//х=var(переменная,минимум,максимум,шаг,направление,циклически);
//переменная - переменная для изменения (int)
//минимум, максимум - пределы переменной
//шаг - шаг изменения переменной
//направление - увеличить или уменьшить
//циклически - если 0 то от мин до макс,
//если 1 то при достижение мах переходим к минимуму
int var(int v, int mn, int mx, int stp, boolean pm, boolean c){
  switch (pm){//pm=1 увеличение pm=0 уменьшение
  case 0:
    v -= stp;//уменьшаем на шаг
    break;
  case 1:
    v += stp;//увеличиваем на шаг
    break;
  }
  switch (c){//c-1 циклически с-0 до пределов
  case 1://
    if (v<mn){
      v=mx;
    }
    if (v>mx){
      v=mn;
    }
    break;
  case 0:
    if (v<mn){
      v=mn;
    }
    if (v>mx){
      v=mx;
    }
    break;
  }
  return v;
}

Admin
Admin

Сообщения : 21
Дата регистрации : 2012-12-11

https://allduino.forum2x2.ru

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения