Откуда взялся этот стереотип "велосипеда" ? Если пишется !!!нормальная!!! программа одного и того же автора, то в ней повторяется лишь стиль, а не процедуры. Конечно, есть одинаковые процедуры, но их можно пересчитать по пальцам. Как правило ZX'ер пытается максимально ускорить свой код, а это значит, что лишний раз он не будет делать CALL, и простая процедура умножения может уменьшиться на один-два цикла, ради скорости. Если всё строить на готовых библиотеках, то в итоге код обростает торможением. После чего библиотека пригодна для написания "карт" или "минёров", и да же в них карты будут дёргаться или вообще просто появляться.Сообщение от CityAceE
Может я в чём-то заблуждаюсь ? Сколько не писал программы на СИ, ПАС, ВАСИКе, - я постоянно сталкиваюсь, что все эти библиотеки не работают как нужно. То на другой версии винды чего-то не поддерживается, то через час что-то перекосится и процесс виснет. Одно дело, когда делаешь какой-нибудь конвертер, он в процессе переглючит, пользователь как всегда плюнет в экран, и перезапустит, а с вас никакого спроса, как и с автора библиотеки. А представьте себе, - делаешь прибор, пишешь софт, и всего-то соединяешь прибор по простому COM'у. Его ставят на завод, запускают бумагоделательную машину, и через час вдруг завис "дрюйвер" COM-PORT'а. И, соответственно завод больше не приобретёт прибор нашей компании. Вот так было, когда на нашей фирме работали программисты, закончившие институты и имеющие учёные степени. Сколько я не писал проектов, всегда всю обвязку делал сам, начиная от COM-PORT'а, кончая USB, ETHERNET, VIDEO, KEY и всё остальное ... Не было ни одного отказа ... И главное, не нужен лицензионный виндовс, не нужно платить всем подряд за использование !!!очень!!! не качественных компонентов и тех же SDK. И после этого вы говорите, что не нужно изобретать велосипед. Конечно, если делать "мышки(манипулятор)" или писать "смотрелку картинок" этого хватит. А более серьёзное ? Хотя каждую программу нужно писать на 100%, не смотря на то, что она делает.
А для чего я писал свой компилятор? Он именно это и делает! Всё, что сверху описано, уже реализовано. Наработку библиотек - за вами. Но не нужно отбирать, можно описать процедуры так, что использовав любую из них в тексте, она автоматом добавится в код. Ну, про компрессию и готовый загрузчик я уже устал писать ... Правда компиляция происходит на ПиЦи, а не ZX’е, поскольку я уже устал на ZX’е писать прогу по кускам, каждый раз думая как бы для отладки сделать так, что бы не убить в памяти ассемблер. На своём языке я написал игру Wanderlust, занявшая вообще всю 128-ую память и потратил на это две недели. Сейчас пишу игру Surgical Fantasy. Если бы был удобный графический редактор, редактор фонтов, соответственно редактор текстовки под этот фонт, то уже давно бы закончил и этот проект. А так приходится писать самому, благо уже заканчиваю, а то руки чешутся от того, как хочется закончить игру.Сообщение от CityAceE
Но, этот опыт привёл к разделению на тех, кто пишет в основном на библиотеках, и тех, кто пишет в основном на “велосипедах”. Я отношусь к тем, кто любит прилеплять реактивный двигатель к велосипеду. И мне для разработки нужно:Сообщение от CityAceE
+ 1.00 Асм с:
+ 1.01 Пакером.
+ 1.02 Loader-Creator.
+ 1.03 Возможность работы с метками, которые будут в будущем.
+ 1.04 Возможностью запаковывать части кода, используя один из другого.
+ 1.05 Иметь плейер PT3 с возвратом на каком POS/LINE мы находимся.
- 2.00 Графический редактор с:
- 2.01 Редактирование изображения до 65536х512 пикселей.
- 2.02 Редактирование фонта до 256х256 пикселей каждый символ.
- 2.03 Редактирование спрайтов и возможность их разукрасить.
- 2.04 ГЛАВНОЕ – Редактирование двух экранных изображений.
- 3.00 Музыкальный редактор.
+ 4.00 Редактор текста для ASM’а
(+ Есть)
(- Нет)
Я знаю, что есть графический редактор, но я в них не могу получить нормальный, готовый к употреблению файл. А сидеть и придумывать способы как вырезать кусок изображения, превратить его в спрайты, а если ещё нужно сделать двух экранную, то вообще - один Бог в помощь. Поэтому в последней моей игре WanderLust, для спрайтов написан один конвертор, который настраивается и выдаёт полностью готовые спрайты, да ещё их запаковывает, и делает отдельным куском, который подгружается в страницу и автоматически используется в игре.
Музыкальный редактор, близкий к употребляемому - я видел только у Alone Coder’а (PT3) и BACA&LAVE (DMM). Остальное очень не удобное.
Всяческие процедуры с мышками, FDD, HDD – хорошая идея. Хотя, например FDD. Тянет за собой обработку системных переменных. Так же менеджер памяти, а вдруг и это очень вероятно, что я захочу его поместить начиная с 23296, да бы была возможность выделять всю память до байтика. Ну и после всё это соединю, думаю, что библиотеки начнут ссориться. А вот если разбить каждую библиотеку на самые важные элементы, например FDD:Сообщение от CityAceE
- Init System Vars
- Read TR
- Write TR
- и т. д.
Это дело, но всякие печати символов, часы, отображение курсоров, наложение спрайтов лично мной бы вряд ли использовалось. Разве что посмотреть как делают другие.
У меня есть библиотека, которую я использую, но она почти не пополняется, там лежит два десятка процедур, остальное не повторяется от программы к программе.
Я знаю, что далёк от стиля программирования, которым следуют большинство из тех, кто обсуждает эту тему, поэтому извиняюсь, что влез в разговор.




Ответить с цитированием