Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ Помогите написать бомбермена

Автор: darkangel22388 13.09.2011 1:28

Мне нужно написать бомбермена на PAscalAbc, кто мне может с этим помочь?

Автор: sheka 13.09.2011 1:59

Открой PAscalAbc, напиши, закрой. Помог?

Чем?

Автор: darkangel22388 13.09.2011 2:22

Цитата(sheka @ 12.09.2011 21:59) *

Открой PAscalAbc, напиши, закрой. Помог?

Чем?


Мне нужен примерный код по которому враги будут ходить и пытаться взорвать меня, а не тупить и не взрывать самих себя)

Автор: Lapp 13.09.2011 4:44

Цитата(darkangel22388 @ 12.09.2011 23:22) *
Мне нужен примерный код по которому враги будут ходить и пытаться взорвать меня, а не тупить и не взрывать самих себя)

Поставь задачу точнее. Нарисуй картинки или дай ссылки на примеры.

Автор: darkangel22388 13.09.2011 10:23

Мне нужна процедура для ботов, что в они не стояли на месте. Тоесть нужна процедура которая будет автоматически перемещать ИИ по полю по кратчайшему пути. А затем использовать методику движения игрока, что бы так же двигался и бот(только в направлении к игроку)

Автор: TarasBer 13.09.2011 13:07

> Тоесть нужна процедура которая будет автоматически перемещать ИИ по полю по кратчайшему пути.

Тебе надо представить лабиринт как граф, после чего применить http://ru.wikipedia.org/wiki/Поиск_в_ширину

Автор: Lapp 13.09.2011 13:37

Цитата(darkangel22388 @ 13.09.2011 7:23) *
Мне нужна процедура для ботов, ...

Ты всерьез думаешь, что можно написать процедуру, не зная формата внутренних данных, интерфейсов?..

Ты когда ботинки покупаешь, ты на размер смотришь?

Автор: darkangel22388 13.09.2011 13:52

мне нужен пример, а потом я этот пример просто под свой случай переделаю

Автор: TarasBer 13.09.2011 15:13

Пример простой - каждый бот поиском в ширину узнаёт, в какую сторону ему идты, потом в эту сторону он и идёт.
Примеры поиска в ширину - на википедии. Пример движения бота в нужную сторону я тебе, так и быть напишу:


procedure Move(var B: TBot; dx,dy: integer);
begin
B.x := B.x + dx;
B.y := B.y + dy;
end;