Возьмем простейшую образную задачу: нужно ограничить движение солдатика, который умеет двигаться вправо и влево так, чтобы он не убегал за пределы экрана. Допустим, что координата X может приниматься значения: 0,1,2,3,4,5,6 Тогда формулы движения будут такими: # ВПРАВО x = (x + 1) mod 7 # ВЛЕВО x = (x + 6) mod 7 Если солдатик уходит за правую границу - он появляется слева и наоборот. В более общем случае, если координаты смещены на dx=-2, и могут принимать значения -2,-1,0,1,2,3,4, формула имеет вид: # ВПРАВО x = (x - dx + 1) mod 7 + dx # ВЛЕВО x = (x - dx + 6) mod 7 + dx Суть всех этих формул в том, что с их помощью мы избегаем применения условий.
Справочник алгоритмов v0.05 © 2007-2025 Igor Salnikov aka SunDoctor