Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2013, 17:49   #1
vova797
 
Регистрация: 13.08.2013
Сообщений: 4
По умолчанию Classes

на форме появляется неограниченной количество (ну скажем букв "A") к примеру с помощью textout... А также появляется всего лишь одна буква "B". Как сделать так чтобы эта "B" убегала от букв А или на оборот приближалась к самой близкой из рядом стоящей буквы B. Изучаю сижу классы целый день. И просто для себя такой пример придумал, вот кое какие наработки по этому поводу. Но они разумеется не верные... В классах не разбираюсь.
Код:
unit Unit1;
interface
uses
\\ по умолчанию
type

TPerson = class(Tobject)
private
fname: string;
fposX:integer;
fposY:integer;
public
procedure Show;
end;


TMonstr = class(Tobject)
private
fname: string;
fposX:integer;
fposY:integer;
public
procedure Show;
end;

var
  Form1: TForm1;
A: Tperson;
B: Tmonstr;

procedure TPerson.Show;
begin
  form1.Canvas.Rectangle(fposX, fposY,fposX+10, fposY+10);
end;

procedure TMonstr.Show;
begin
  form1.Canvas.Rectangle(fposX, fposY,fposX+10, fposY+10);
end;
и прочие ошибки...
Опирался на координаты в основном букв А. Цикл создавал который поочередно координаты всех а считывал ю Но помоему так никто не делает. Помогите

Последний раз редактировалось vova797; 13.08.2013 в 18:10. Причина: ошибки
vova797 вне форума Ответить с цитированием
Старый 13.08.2013, 18:31   #2
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Тоесть как в анимации? Тогда тут вам поможет великий и могучий таймер. Нужно одна переменая типа integer- счетчик букв. Дальше за ней ресуется Б. Ресуете на канвасе.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 13.08.2013, 18:43   #3
vova797
 
Регистрация: 13.08.2013
Сообщений: 4
По умолчанию

Ну может быть и так. В общем, если точнее, то я хочу создав логику всего лишь одного объекта, наклонировать их динаимически в несколько объектов. Иными словами мне надо: Имея один файл изображения человека. (неважно в каком формате и представлении, хоть даже в 3D). "надеть" на не сколько расклонированных каркасов unit ов. К примеру. У которых быть может всё общее, ну а имена разны к к примеру. Т. е. имея на экране сцену из 5 человечков. Я могу задать команду Scene> Man> Name> Petr. stop_beseda. Ну это я образно конечно. Ну а для тривиальности, я начал учить стадо буковок А гоняться за букво В
vova797 вне форума Ответить с цитированием
Старый 13.08.2013, 20:05   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Немного непонятно, что Вам требуется.
Толи классы освоить, толи игру/демо написать ("вам шашечки или ехать").
Ну, то есть, через классы Ваша хотелка с игрой, конечно, пишется, но излагаете Вы странно.
Здесь, на мой взгляд надо выделять подзадачи. Одна подзадача - иметь прототип и на его основе создавать экземпляры реальных сущностей. Вторая подзадача - логика прорисовки этих сущностей. Третья подзадача, алгоритмы их перемещения по моделям - охотник, преследователь, и возможно просто патруль. Четвертая задача, которую часто забывают, но её надо решать в любом случае - среда/пространство обитания сущностей и их взаимодействие.

Такая тривиальность как научить буковок гоняться за буковками уже подразумевает 3 из 4 этих задач (ну если вы конечно хотите меньше, то можно выкинуть отрисовку, но будет очень сложно вам как человеку ощущать результаты работы других 2 задач), убрав одну - создание сущностей из прототипов.

Задача отрисовки, в общем виде сводится к таймеру, в котором сперва чистится весь фон, потом цикл по сущностям с прорисовкой каждой в собственных координатах.
Задача перемещения делится по моделям - у охотника должна быть ссылка на "жертву", тогда в цикле проверяются все сущности, и у тех которые являются охотниками и имеют ссылку на жертву надо вычислить необходимое смещение в виде приращений координат в сторону жертвы и соответственно модификация своих координат на данные смещения. У жертвы сложнее (ну если она управляется "компьютерным интеллектом", в противном же случае это может быть просто игрок управляющий положением жертвы с помощью мыши или клавиатуры - тогда все просто - в таймере просто смещается "жертва") - надо реализовывать алгоритмы избегания, что совсем не тривиально. Задача про среду довольно проста если не усложнять - достаточно ограничить зону доступных перемещений областью размером с экран, и либо сделать его с глухими границами (нельзя пройти через экран) либо тороидальным/сферическим (частично тороидальным) - когда пройдя левую границу проникаешь сразу за правую. В более сложном варианте - разная проходимость участков среды, помехи ходьбе, зрению и т.д. на что фантазии хватит.

Так вот, сперва надо определиться с кругом решаемых задач и установить для себя точные цели (т.н. концепт) - а потом уже реализовывать в коде.
Начинайте концепт, распишите его, там уже будем дальше советоваться, как уже в коде сваять разработанные мысли )
phomm вне форума Ответить с цитированием
Старый 14.08.2013, 11:55   #5
vova797
 
Регистрация: 13.08.2013
Сообщений: 4
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Одна подзадача - иметь прототип и на его основе создавать экземпляры реальных сущностей. )
Да. Это и есть основная идея. А документацию (в виде иерархического дерева) и несколько вспомогательных подпрограмм уже сделал.

Последний раз редактировалось vova797; 14.08.2013 в 11:57.
vova797 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка несоответствия типов после подключения System и Classes Alex Cones Общие вопросы Delphi 9 26.11.2017 10:36
Ошибка в Classes и в SysUtils LLIALLIJIbIK Общие вопросы Delphi 2 27.06.2013 22:58
Избавиться от модулей SysUtils и Classes RageGod Общие вопросы Delphi 10 13.02.2013 01:40
BinToHex из Classes. Как юзать и скормить ей большой String Alex Cones Общие вопросы Delphi 5 05.11.2009 17:18