Как научиться писать games на Паскале
А ничего поумней не мог спросить ? У тебя есть замысел игры ? у тебя есть хоть какие-то знания паскаля ? Если нет - то зачем спросил , если да - то какие проблемы , если есть конкретные вопросы , то их и надо задавать .
Все очень просто: сначала нужно научиться писать на Паскале, затем научиться писать игры. После этого остается только соединить все это.
каков вопрос, таков и ответ...
2 Sir
>А ничего поумней не мог спросить ?
Хорошо хоть он не спросил: "Как стать умным?" ;D
Как поместить картинку в свою игру?
Взять, нарисовать в собственно созданном редакторе картинок картинку и затем ее использовать или воспользоваться уже известными редакторами и типами графических файлов, читать их(написать модудули и все такое) и соответственно в нужнрое место в твоей программе вставлять!!!
http://www.osp.ru/search?text=%F1%EF%F0%E0%E9%F2%FB&sub=466p - цикл статей по основам спрайтовой анимации на Паскале, опубликованный в МиреПК
Как пристегнуть к BP 7.00 256 цветовую графику? Тем более что модуль graph
никак не накормить драйверами BGI256.BGI VGA256.BGI SVGA256.BGI SVGA256M.BGI и им подобными.
И ещё одна проблемка: никак не получить доступа к ems и xms памяти в защищённом режиме - это всегда или невозможно, или начинают глючить стандартные модули! Если здесь пробиться невозможно, то хотя бы напишите
скрипт разрешающий запись информации в процедуру или функцию :-/ :
Почему не накормить - выплевывает?
Попробуй InstallUserDriver и справку почитай.
Зачем тебе емс и хмс в PM??!!!!!
И что за стандартные модули для доступа к EMS (в стандартных модулях такого нет)?
Скрипт тебе на чем написать, на дельфи, паскале или си? А может быть на перле?
Хотя может ты имеешь в виду под словом скрипт какую-то структуру языка высокого уровня??
А запись информации в процедуру или ф-ию - это самодифицирующийся код что-ли хочешь сделать??
Типа не пробовал. Пока юзаешь 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 .
Прости, но с PM не работаю, как следствие процедуру-то написать могу, но лишь для real mode (специализация у меня такая realmode+asm+pascal). А по поводу драйверов, дык ты их под PM юзаешь? Ежели под реалкой не идут, тогда могу кинуть драйвер, т.к. проблема вряд-ли с модулем граф...
Вышака у меня нету, наполовину...
Аналогично.......
Ну есть хоть один живой специалист по ПМ или все повымерли ?!!
Для общей информации, посмотри пост про мышу, я там выложил кусок кода...
А может быть, понимание программирования как раз и приходит в процессе написания несложных игр?
"PROCEDURE HRENJ1(Q4: POINTER; Q3: BYTE); ASSEMBLER;
ASM;
{ЗАПИСЬ СОДЕРЖИМОГО ПЕРЕМЕННОЙ Q3 ПО АДРЕСУ УКАЗАННОМУ В Q4}
END; "
почитай статью Криса Касперски
"Самомодифицирующийся код в современенных ОС"
в журнале "Программист"
по яндексу поищи
"В принципе подошла бы и процедура снимающая запрет на запись в сегмент кода. "
а хуху не хохо?надо быть на нулевом кольце чтоб такое творить
посмотри WriteProcessMemory может поможет
Смотря, что подразумевается под "непониманием программирования"!