Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #3  
Старый 14.08.2010, 05:34
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,107
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А я бы подругому решал эту проблему.
У тебя есть некоторое исполнительное устройство (Вася). Вася может выполнять следующий набор команд:
- POP(S): взять ящик со склада (должен быть на этом складе и Вяся и ящик и у Васи не должно быть ящика);
- PUT(S): положить ящик; (Вася должен быть на нужном складе, у него д.б. ящик и на складе должно быть место)
-MOVE(S): перемещаться между складами.

Теперь о командах пользователя.
Команда пользователя представляет собой микропрограмму.
Путь надо отнести ящик со склада 1 на склад 2.
Тогда микропрограмма выглядит так:
MOVE(1)
POP(1)
MOVE(2)
PUT(2)
Если после выполнения команды пользователя Вася должен вернуться на изначальный склад, то надо добавить
MOVE(1)
Каждый шаг отрабатывается отдельно (у тебя в коде).
Т.е. для каждой команды надо написать процедуру, которая будет делать анимацию. Делать сама и не возвращать управление, пока не выполнит.
Тогда у тебя будет некоторый унифицированный механизм исполнения потока таких команд.
Теперь про отрисовку. У тебя должен быть объект, который себя отрисовывает в нужных координатах по тем условиям (есть у Васи ящик или нет), которые заданны в нем (объекте).

Все. Осталост только заблокировать ввод пользователя до конца исполнения программы
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:26.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025