Плюс, поработай больше над системой вывода графики: 1) не заставляй отрисовывать программу те части, которые не видны, например, стороны блоков, которые скрыты другими блоками. 2) не перерисовывай все, это сильно тормозит игру. Перерисовывай только подвижные объекты. Принцип прост: затираешь старое место (зарисовываешь блоком/полом) и рисуешь подвижный объект в новом месте. Так как движущихся объектов мало и они небольшие, то это поможет. Но лучше реально перейди на PascalABC.NET, там более современные инструменты для графики.
@Romanychev_Iliy_G73 жыл бұрын
А ты знаешь о такой хорошей штуке для оптимизации всех игр, как дерево квадрантов, она разбивает всё на квадраты, и если в этот квадрат попадает более одного объекта, то он делится на 4 квадрата, также можно сделать поле видимости с помощью тайлов(квадратов) к примеру если ты объект видишь или находишься в той-то точке то создать квадрат и всё
@adarius55337 жыл бұрын
Крут
@Anton274332 жыл бұрын
Какой же ты гений! Я думаю если ты перейдешь на python то такие творения делать будешь!
@ПолтораЗемлекопа-ф6в7 жыл бұрын
А что мешало использовать две видеостраницы? На одну рисуешь другую выводишь, потом меняешь местами. Это плюс 4-5 строчек кода вобщем-то. С клавиатурой сложнее к сожалению. Надо напрямую с порта вывода контроллера клавиатуры коды клавиш читать, причём только из прерывания и только в обход штатного обработчика(а то пищать начинает), плюс скидывать внутренний буфер нажатий контроллера клавиатуры.
@cfd_novotroitsk7 жыл бұрын
Я вообще понятия тогда не имел о том, что в graph`е в Паскале есть видеостраницы. Только вот они вроде только в VGAmed работают.Это кстати реально просто прогается. А насчет клавы там у меня просто это: if keypressed then c:=readkey; в моей ascii игре клава, как ни странно нормально работает (после того как я убрал clrscr из цикла, она стала быстро идти, кстати, вот текстовые страницы там бы реально пригодились)
@ПолтораЗемлекопа-ф6в7 жыл бұрын
Да, к сожалению в vgahi только одна страница(. Я как-то наткнулся на модуль, вроде svga.pas, который был надстройкой graph-а и позволял юзать 800х600 с видеостраницами. С readkey помню куча минусов была, типа нельзя нажать несколько клавиш одновременно, удерживая клавишу долго ждать повторения, нерегулируемая пауза между повторениями. В ascii игре может и не так это заметно, а мне при написании 3d стрелялки было уже критично. Эхх, давно это было...
@ПолтораЗемлекопа-ф6в7 жыл бұрын
Кстати, по ооочень смутным обрывкам воспоминаний о досе подобие текстовых страниц там есть, только в паскале не реализовано. Вроде надо через $21 прерывание обращаться, там есть подфункции по этой теме.
@ПолтораЗемлекопа-ф6в7 жыл бұрын
Короче освежил память: Int $10h подфункция $05h. Посмотри в mini-soft.ru/document/assembler-ibm-pc-8 "8.2.3.2. Рекомендации по использованию видеосервиса BIOS"
@madeinazerbaijan31336 жыл бұрын
молодец
@Ilja.Kiriljuk8 жыл бұрын
Прикольно, но не проще ли использовать PascalABC.NET хотя бы?))
@awwlik3 жыл бұрын
Он специально исплользует такой, чтобы хардкорнее было
@thefikus12753 жыл бұрын
Тогда уж c++
@maixrock7 жыл бұрын
Попробуй SDL использовать
@abdenal-2475 жыл бұрын
А нельзя использовать graphabc
@pegamer30515 жыл бұрын
Это free pascal вроде, a graph abc onli in Pascal ABC (and +.net)
@pegamer30515 жыл бұрын
+ это 3d проекция, т.е. тут другой модуль нужен
@czak_zaorak4 жыл бұрын
@@pegamer3051 это не фри, это турбо
@Ося-б2ш3 жыл бұрын
Это Turbo Pascal, классика под DOS. Директория называется TP.
@Gretanit4 жыл бұрын
а что за ос?
@cfd_novotroitsk4 жыл бұрын
это все для ms-dos 6.22 написано, по идее должно работать даже на 486