@, бегающая по экрану.

Темы, связанные с проектированием и программированием roguelike-игр

Модераторы: Sanja, Максим Кич

Аватара пользователя
Dnivji
Сообщения: 180
Зарегистрирован: 01 фев 2012, 17:53

@, бегающая по экрану.

Сообщение Dnivji » 08 сен 2012, 08:25

Не у кого не завалялось движка на turbo/free pascal, чисто движка - только отрисовка собачки по экрану? Может, из своих ранних наработок. Просто не хочу изобретать ангар дрянных велосипедов в этом деле.
Изображение

EditorRUS
Сообщения: 141
Зарегистрирован: 05 янв 2012, 05:16
Откуда: Нижний Тагил

Re: @, бегающая по экрану.

Сообщение EditorRUS » 08 сен 2012, 08:46

Зря я ненужные исходники не удалял. Схоронил где-то, попробую раскопать.

мимотрап

JustHarry
Сообщения: 655
Зарегистрирован: 30 июл 2010, 17:13

Re: @, бегающая по экрану.

Сообщение JustHarry » 08 сен 2012, 12:00

Господи, это же платиновый тред рлгклаба.

Теги: собачка, изобретение велосипедов, дайте исходник, сленг лурочки совершенно не к месту в каждом предложении, @ бегает по экрану.

Аватара пользователя
Jesus05
Сообщения: 1840
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: @, бегающая по экрану.

Сообщение Jesus05 » 08 сен 2012, 12:33

Dnivji писал(а):Не у кого не завалялось движка на turbo/free pascal, чисто движка - только отрисовка собачки по экрану? Может, из своих ранних наработок. Просто не хочу изобретать ангар дрянных велосипедов в этом деле.
пользуйся. viewtopic.php?f=11&t=400 конечно там черт ногу сломит в коде :) я там ООП изучал.

Аватара пользователя
Dnivji
Сообщения: 180
Зарегистрирован: 01 фев 2012, 17:53

Re: @, бегающая по экрану.

Сообщение Dnivji » 08 сен 2012, 13:02

пользуйся. viewtopic.php?f=11&t=400 конечно там черт ногу сломит в коде :) я там ООП изучал.
Там черт не то что ногу сломит, он себе их в пыль разломает. Это же на С-подобном языке, правильно? А я С не знаю, только чуть-чуть паскаль... Хотелось бы файл (.pas), использующий только стандартный средства паскаля. Но таких наверное, нет. Но все равно спасибо!
Изображение

Аватара пользователя
Jesus05
Сообщения: 1840
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: @, бегающая по экрану.

Сообщение Jesus05 » 08 сен 2012, 13:09

Dnivji писал(а):
пользуйся. viewtopic.php?f=11&t=400 конечно там черт ногу сломит в коде :) я там ООП изучал.
Там черт не то что ногу сломит, он себе их в пыль разломает. Это же на С-подобном языке, правильно? А я С не знаю, только чуть-чуть паскаль... Хотелось бы файл (.pas), использующий только стандартный средства паскаля. Но таких наверное, нет. Но все равно спасибо!
ой. это я что-то протупил. там с++ с WinApi.

EditorRUS
Сообщения: 141
Зарегистрирован: 05 янв 2012, 05:16
Откуда: Нижний Тагил

Re: @, бегающая по экрану.

Сообщение EditorRUS » 08 сен 2012, 13:50

А, собственно, насколько далеко должны быть средства? У меня есть базовый движок, запилены основные процедуры вроде изменения расположения, отрисовки(двойная буферизация используется), и базовые объекты Atom, Obj, Mob, Turf. Используется карта, описанная в "-1 этаж". Но дело в том, что не чистый паскаль, а PascalABC.net (ничего сложного перенести и на обычный паскаль, но вот этим мне как раз лень заниматься). В качестве контроллера консоли используется CRT. Ах да - централизованная система - все описано в главном файле, всякие примочки стоит описывать в отдельные модули. Ну как, подойдет?

И ещё, базовые методы вроде get_dist(A,B:Atom), get_range(radius, src: Atom), и locate-ы не сделаны, ибо не требовалось.

Аватара пользователя
Dnivji
Сообщения: 180
Зарегистрирован: 01 фев 2012, 17:53

Re: @, бегающая по экрану.

Сообщение Dnivji » 08 сен 2012, 14:11

А, собственно, насколько далеко должны быть средства? У меня есть базовый движок, запилены основные процедуры вроде изменения расположения, отрисовки(двойная буферизация используется), и базовые объекты Atom, Obj, Mob, Turf. Используется карта, описанная в "-1 этаж". Но дело в том, что не чистый паскаль, а PascalABC.net (ничего сложного перенести и на обычный паскаль, но вот этим мне как раз лень заниматься). В качестве контроллера консоли используется CRT. Ах да - централизованная система - все описано в главном файле, всякие примочки стоит описывать в отдельные модули. Ну как, подойдет?

И ещё, базовые методы вроде get_dist(A,B:Atom), get_range(radius, src: Atom), и locate-ы не сделаны, ибо не требовалось.
Да, подойдет. Только как перенести на обычный паскаль?
Изображение

Аватара пользователя
karagy
Сообщения: 1271
Зарегистрирован: 10 янв 2007, 14:13

Re: @, бегающая по экрану.

Сообщение karagy » 08 сен 2012, 14:45

А какой паскаль нынче "обычный"?

Аватара пользователя
Dnivji
Сообщения: 180
Зарегистрирован: 01 фев 2012, 17:53

Re: @, бегающая по экрану.

Сообщение Dnivji » 08 сен 2012, 14:54

А какой паскаль нынче "обычный"?
Ну, в смысле turbo pascal.
Изображение

Аватара пользователя
quasist
Сообщения: 68
Зарегистрирован: 20 апр 2008, 11:19
Контактная информация:

Re: @, бегающая по экрану.

Сообщение quasist » 09 сен 2012, 09:18

Код: Выделить всё

x:=20;
y:=10;
for i:=0 to 63 do
begin
gotoxy(x,y);textcolor(white);write('@');

while not keypressed do;
c:=readkey;
if c=0 then c=readkey;// для стрелочек ради доп. кода
gotoxy(1,1);write('keycode:',byte(c)); //выводим код нажатой клавиши

gotoxy(x,y);textcolor(black);write(' ');//стереть старую @

nx=x;ny=y;
if (c=CODE_KEY_UP) ny:=y-1; // CODE_KEY_UP самопальный код стрелки вверх
if (c=CODE_KEY_DOWN) ny:=y+1;
if (c=CODE_KEY_LEFT) nx:=x-1;
if (c=CODE_KEY_RIGHT) nx:=x+1;

if (true) then //можно идти на клетку?
begin
x:=nx;y=ny;
end;


end;
Укуси меня за Ring of Polymorph!

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: @, бегающая по экрану.

Сообщение Jolly Roger » 09 сен 2012, 09:54

=D> =D> =D>
Это 5!
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
Dnivji
Сообщения: 180
Зарегистрирован: 01 фев 2012, 17:53

Re: @, бегающая по экрану.

Сообщение Dnivji » 09 сен 2012, 10:52

quasist! Спасибо огромное! *Побежал дописывать var и компилировать*
В таком прямо виде код не работал. Но главное - я понял принцип, как происходит отрисовка и затирание, а также перемещение собачки. Переписал пол-кода, написал генератор, ограничил выход за пределы экрана, теперь бьюсь над не прохождением в стены.
Изображение

Аватара пользователя
BreakMT
WANDER Team
Сообщения: 933
Зарегистрирован: 27 ноя 2006, 12:16

Re: @, бегающая по экрану.

Сообщение BreakMT » 09 сен 2012, 15:47

Игра на 64 хода?

Аватара пользователя
Dnivji
Сообщения: 180
Зарегистрирован: 01 фев 2012, 17:53

Re: @, бегающая по экрану.

Сообщение Dnivji » 09 сен 2012, 15:54

Нет, чтоты, я увеличил цикл до 500! :D :D :D
Изображение

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 41 гость