Помощь - Поиск - Пользователи - Календарь
Полная версия: игры на Паскале
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
scorpio
Как научиться писать games на Паскале
Sir
А ничего поумней не мог спросить ? У тебя есть замысел игры ? у тебя есть хоть какие-то знания паскаля ? Если нет - то зачем спросил , если да - то какие проблемы , если есть конкретные вопросы , то их и надо задавать .
trminator
Все очень просто: сначала нужно научиться писать на Паскале, затем научиться писать игры. После этого остается только соединить все это.

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

Я отвечу за него: никак!
Мишка
Как поместить картинку в свою игру?
Alex
Взять, нарисовать в собственно созданном редакторе картинок картинку и затем ее использовать или воспользоваться уже известными редакторами и типами графических файлов, читать их(написать модудули и все такое) и соответственно в нужнрое место в твоей программе вставлять!!!
trminator
http://www.osp.ru/search?text=%F1%EF%F0%E0...%F2%FB&sub=466p - цикл статей по основам спрайтовой анимации на Паскале, опубликованный в МиреПК
SKVOZNJAK
Как пристегнуть к BP 7.00 256 цветовую графику? Тем более что модуль graph
никак не накормить драйверами BGI256.BGI VGA256.BGI SVGA256.BGI SVGA256M.BGI и им подобными.
И ещё одна проблемка: никак не получить доступа к ems и xms памяти в защищённом режиме -  это всегда или невозможно, или начинают глючить стандартные модули! Если здесь пробиться невозможно, то хотя бы напишите
скрипт разрешающий запись информации в процедуру или функцию  :-/ :smile.gif
GLuk
Почему не накормить - выплевывает?
Попробуй InstallUserDriver и справку почитай.
Зачем тебе емс и хмс в PM??!!!!!
И что за стандартные модули для доступа к EMS (в стандартных модулях такого нет)?
Скрипт тебе на чем написать, на дельфи, паскале или си? А может быть на перле?
Хотя может ты имеешь в виду под словом скрипт какую-то структуру языка высокого уровня??
А запись информации в процедуру или ф-ию - это самодифицирующийся код что-ли хочешь сделать??
SKVOZNJAK
Типа не пробовал. Пока юзаешь 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
Прости, но с PM не работаю, как следствие процедуру-то написать могу, но лишь для real mode (специализация у меня такая realmode+asm+pascal). А по поводу драйверов, дык ты их под PM юзаешь? Ежели под реалкой не идут, тогда могу кинуть драйвер, т.к. проблема вряд-ли с модулем граф...
Вышака у меня нету, наполовину...
Nightmare
smile.gif Аналогично.......
SKVOZNJAK
Ну есть хоть один живой специалист по ПМ или все повымерли ?!!
Nightmare
Для общей информации, посмотри пост про мышу, я там выложил кусок кода...
Булат Шакиров
Цитата
Ну есть хоть один живой специалист по ПМ или все повымерли ?!!

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

Код

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

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

"В принципе подошла бы и процедура снимающая запрет на запись в сегмент кода.  "
а хуху не хохо?надо быть на нулевом кольце чтоб такое творить
посмотри WriteProcessMemory может поможет
AlaRic
Смотря, что подразумевается под "непониманием программирования"!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.