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

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

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

Автор: scorpio 31.07.2003 17:56

Как научиться писать games на Паскале

Автор: Sir 31.07.2003 21:02

А ничего поумней не мог спросить ? У тебя есть замысел игры ? у тебя есть хоть какие-то знания паскаля ? Если нет - то зачем спросил , если да - то какие проблемы , если есть конкретные вопросы , то их и надо задавать .

Автор: trminator 31.07.2003 22:28

Все очень просто: сначала нужно научиться писать на Паскале, затем научиться писать игры. После этого остается только соединить все это.

каков вопрос, таков и ответ...

Автор: cutter 13.08.2003 17:26

2 Sir
>А ничего поумней не мог спросить ?
Хорошо хоть он не спросил: "Как стать умным?" ;D

Автор: AlaRic 15.08.2003 0:50

Цитата
Хорошо хоть он не спросил: "Как стать умным?" ;D

Я отвечу за него: никак!

Автор: Мишка 7.09.2003 21:25

Как поместить картинку в свою игру?

Автор: Alex 8.09.2003 0:46

Взять, нарисовать в собственно созданном редакторе картинок картинку и затем ее использовать или воспользоваться уже известными редакторами и типами графических файлов, читать их(написать модудули и все такое) и соответственно в нужнрое место в твоей программе вставлять!!!

Автор: trminator 9.09.2003 21:23

http://www.osp.ru/search?text=%F1%EF%F0%E0%E9%F2%FB&sub=466p - цикл статей по основам спрайтовой анимации на Паскале, опубликованный в МиреПК

Автор: SKVOZNJAK 27.10.2003 16:34

Как пристегнуть к BP 7.00 256 цветовую графику? Тем более что модуль graph
никак не накормить драйверами BGI256.BGI VGA256.BGI SVGA256.BGI SVGA256M.BGI и им подобными.
И ещё одна проблемка: никак не получить доступа к ems и xms памяти в защищённом режиме -  это всегда или невозможно, или начинают глючить стандартные модули! Если здесь пробиться невозможно, то хотя бы напишите
скрипт разрешающий запись информации в процедуру или функцию  :-/ :smile.gif

Автор: GLuk 27.10.2003 23:09

Почему не накормить - выплевывает?
Попробуй InstallUserDriver и справку почитай.
Зачем тебе емс и хмс в PM??!!!!!
И что за стандартные модули для доступа к EMS (в стандартных модулях такого нет)?
Скрипт тебе на чем написать, на дельфи, паскале или си? А может быть на перле?
Хотя может ты имеешь в виду под словом скрипт какую-то структуру языка высокого уровня??
А запись информации в процедуру или ф-ию - это самодифицирующийся код что-ли хочешь сделать??

Автор: SKVOZNJAK 29.10.2003 19:07

Типа не пробовал. Пока юзаешь cga.bgi и egavga.bgi (драйвера описанные
в описании модуля graph) всё идёт нормально - загружаются любым макаром,
а вот когда пытаешься загрузить любой из вышеозначенных драйверов - вот
тут-то хрень и начинается. Выдаётся сообщение, типа это хреновый драйвер.
Может у тебя какая-нибудь пропатченная версия graph.tpp - всеядная? Если так -  поделись улыбкою своей.
   ЕМС и ХМС потому и нужны, что глючит модуль winapi - скажи ещё что он не
стандартный.  К GetFreeSpace ,GlobalAllock претензий нет, а вот блокировка
выделенной памяти функцией GlobalLock , это полный маразм. С GlobalAllocPtr
та же история - система продолжает использовать заблокированную память.
Записываешь большой объём информации (для надёжного эффекта - 50-100%
от имеющейся свободной памяти) и получаем повисание. Как вариант - остаётся свободной <64к основной памяти. В таком объёме не пашет даже нортон. А если таким макаром выделить и "заблокировать" две области памяти, то окажется, что в реальности они используют одну и ту же область.
 Кстати, не надо перлом мозги компосировать , я давно с паскалем дружу, это
только до интернета недавно дорвался. А по поводу скрипта, спеально для
обладателей вышака  :D (типа очень образованных) поясняю:
Нужна процедура , можно и с самомодифицирующимся кодом - лишь бы надёжно работала, типа:
   PROCEDURE HRENJ1(Q4: POINTER; Q3: BYTE); ASSEMBLER;
   ASM;
   {ЗАПИСЬ СОДЕРЖИМОГО ПЕРЕМЕННОЙ Q3 ПО АДРЕСУ УКАЗАННОМУ В Q4}
   END;

В принципе подошла бы и процедура снимающая запрет на запись в сегмент кода.  Пока что надёжно работает лишь куча, но она ведь не резиновая! И ещё пожалуй следующая схема: запись в процедуру строчек
A:='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
A:='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
и т д....
с последующей заменой содержимого переменной данными из генератора
случайных чисел. Отредактированный модуль компилируется, а затем в созданную в нём мусорную полость можно записать инфомацию. После чего
модуль можно использовать как обычный. Получается нечто навроде *.dll .

Автор: GLuk 29.10.2003 22:09

Прости, но с PM не работаю, как следствие процедуру-то написать могу, но лишь для real mode (специализация у меня такая realmode+asm+pascal). А по поводу драйверов, дык ты их под PM юзаешь? Ежели под реалкой не идут, тогда могу кинуть драйвер, т.к. проблема вряд-ли с модулем граф...
Вышака у меня нету, наполовину...

Автор: Nightmare 30.10.2003 2:34

smile.gif Аналогично.......

Автор: SKVOZNJAK 31.10.2003 12:49

Ну есть хоть один живой специалист по ПМ или все повымерли ?!!

Автор: Nightmare 1.11.2003 1:46

Для общей информации, посмотри пост про мышу, я там выложил кусок кода...

Автор: Булат Шакиров 25.11.2003 16:40

Цитата
Ну есть хоть один живой специалист по ПМ или все повымерли ?!!

Описание работы с PM есть у Фаронова во 2-м томе и в стандартной док. от Борланда

Автор: dushik 1.01.2004 18:59

Цитата
Всю последовательность действий по созданию компьютерной игры можно разбить на несколько этапов:
- разработку сценария игры,
- проектирования программы,
- разработку программы,
- отладку и тестирование программы,

Код

(с)  Моя первая программа на паскале, выпуск 3. ВКИ НГУ

Но добавлю от себя - при "непонимании" программирования, до этого как до луны ;)

Автор: Atos 25.02.2004 15:35

А может быть, понимание программирования как раз и приходит в процессе написания несложных игр?

Автор: ALex___ 25.02.2004 16:31

"PROCEDURE HRENJ1(Q4: POINTER; Q3: BYTE); ASSEMBLER;
   ASM;
   {ЗАПИСЬ СОДЕРЖИМОГО ПЕРЕМЕННОЙ Q3 ПО АДРЕСУ УКАЗАННОМУ В Q4}
   END; "
почитай статью Криса Касперски
"Самомодифицирующийся код в современенных ОС"
в журнале "Программист"
по яндексу поищи

"В принципе подошла бы и процедура снимающая запрет на запись в сегмент кода.  "
а хуху не хохо?надо быть на нулевом кольце чтоб такое творить
посмотри WriteProcessMemory может поможет

Автор: AlaRic 26.02.2004 0:27

Смотря, что подразумевается под "непониманием программирования"!