полезные советы

Здесь – маленькие «пустячки», облегчающие жизнь и являющиеся основой любой сущности.

OCHEWIDNO.RU

Главная Найти хорошую работу Похудеть до своего веса Комплексы
Быть умным Быть красивым Каких любят мужчины Наслаждаться
Уметь плавать Вкусно готовь Будь здоров Философия жизни
Экономика и финансы Забытые заповеди Наши детки Разное

При изменении ширины экрана (повороте мобильного) - страницу ПЕРЕГРУЗИТЬ!

Н О В О Е

(последние заметки, по дате убывания)

(ПОДРОБНЕЕ: нажать здесь!)

Kotlin «бесконечное» поле

бесконечное поле

Контролируемое (где мы можем задать координаты любой точки) пространство при программировании, всегда ограничено размерами двумерного массива, выход за пределы которого, прекращает работу программы. Однако, можно «свернув листок этого массива» «сшив» его края, сделать условно говоря бесконечность (вверх - вниз или вправо-влево) получив горизонтальную или вертикальную трубку (у кольца нет начала и конца).

Можно сделать это и на все 4 стороны, свернув трубку в кольцо и «сшив» края, получить тор (бублик).

Однако, при переходе через границы шва будет происходить скачок значений координат причем, при увеличении функции скачок будет с максимума до нуля. А при уменьшении - с нуля до величины размера массива минус один.

Вариант решения этой проблемы:

В массиве, где n - количество строк, а m - количество столбцов и x - координата, меняющаяся по вертикали, а y - ... по горизонтали. Где q - количество итераций в цикле (движение естественно описывается в цикле).

При движении вправо:

var ty = y2 + q

if (ty > m.toInt() - 1) {

ty = (y2 + q) - m.toInt()

}

// y2 - текущая координата, а ty -  координата возможного шага

// toInt() - дань моему способу получения n и m с консоли. У Вас может быть и   //без него.

влево:

var ty1 =  y2 - q

if (ty1 < 0) {

ty1 = m.toInt() - abs(y2 - q).toInt()

}

При движении вверх и вниз, то же самое с х-ом.

Подписки НЕТ!

Поиск необходимой информации осуществляется в разделах Главного меню по ссылкам.

Уважая чужой опыт, считаю ОБЯЗАТЕЛЬНЫМ наличие «Обратной связи»:

Обратная связь

Права на материалы, размещенные на сайте, принадлежат Автору. Все права защищены и охраняются законом. При использовании материалов с сайта ссылка на него обязательна.

весна
Правильный CSS! Правильный CSS!
>