|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.06.2022, 16:13 | #21 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
у вас уже есть (x y) --текущая позиция {по крайней мере должна быть}
добавим direct --НАПРАВЛЕНИЕ движения 1 -вниз 2 влево 3 влево-вниз и т. д. 0. задаем начальную позицию и направление (x y) уже есть а направление (вверх-вправо) 1. а теперь пишем ИЗМЕНЕНИЕ состояния (позиции(x, y) И направления (direct) при условии достижения границ матрицы Код:
direct - по сути и есть та самая функция f(t) P.S. чтобы "не забывать" какое число какому направлению соответствует Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 08.06.2022 в 16:21. |
08.06.2022, 16:43 | #22 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Код "вручную" я вам приводил для того, чтобы стало понятнее как это все строится. Он просто свернется до всех тех проверок, которые у вас получатся. Функцию f(t) надо сделать в любом случае т.к. TTimer у вас вызывает такую функцию. Т.е. это переход от линейного цикла, в котором вы просто управляете счетчиками цикла и вызываете функцию ожидания с блокировкой работы потока, к асинхронному вызову функции по прохождению заданного интервала времени и выполняющей только 1 шаг цикла(ов).
При описании любой анимации вы еще не раз столкнетесь с такими подходами. Сначала все элементы анимации раскладываются на временную ось (t - монотонно прирастающее значение), а потом все элементы организуются в функцию времени f(t), которая реализует требуемую анимацию. При этом вся логика должна присутствовать в этой функции. Использование case t of это только первый наглядный пример построения. По хорошему вам нужна ссылка на функцию, которая будет обновляться, а в функциях будут написаны изменения. |
14.06.2022, 12:09 | #23 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 494
|
Наконец-то руки дошли прикрутить ajax
http://kaval.beget.tech/matrix.php?x...000&go=Execute Как только дойдут руки научу скрипт вовремя останавливаться.
стимулятор https://yoomoney.ru/to/41001303250491
|
14.06.2022, 13:38 | #24 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
А разве эти элементы не надо заполнять?
Последний раз редактировалось macomics; 14.06.2022 в 13:40. |
14.06.2022, 13:43 | #25 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 494
|
macomics, незнаю, я спрашивал в теме раньше (два скриншота привёл) сказали всё ок.
Не вопрос, можно и заполнять. ___ Поправил, прикольная штука получилась, жаль бесполезная.
стимулятор https://yoomoney.ru/to/41001303250491
Последний раз редактировалось Valick; 14.06.2022 в 18:14. |
14.06.2022, 23:03 | #26 |
Пользователь
Регистрация: 02.05.2022
Сообщений: 52
|
|
14.06.2022, 23:27 | #27 | |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 494
|
Цитата:
А если посмотреть внимательнее?
стимулятор https://yoomoney.ru/to/41001303250491
|
|
15.06.2022, 10:09 | #28 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 494
|
Снимок экрана от 2022-06-15 10-07-45.png
упс P.S. Поправил http://kaval.beget.tech/matrix.php?x...=20&go=Execute позже верну вариант с неполной диагональю.
стимулятор https://yoomoney.ru/to/41001303250491
Последний раз редактировалось Valick; 15.06.2022 в 12:15. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с Edit, Timer, StringGrid | Женька Good | Помощь студентам | 1 | 19.10.2012 22:08 |
Timer... | Teleport | Общие вопросы Delphi | 13 | 14.09.2011 17:02 |
Timer или While? | xrob | Общие вопросы Delphi | 7 | 24.08.2011 14:06 |
timer(vc++) | NiCola999 | Windows Forms | 13 | 31.01.2011 06:00 |
Timer... | Roof | Общие вопросы Delphi | 11 | 11.10.2007 12:57 |