Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/70: Рейтинг темы: голосов - 70, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 65

Отладка кода (программы) во FreeBasic

21.02.2024, 01:11. Показов 17460. Ответов 224

Студворк — интернет-сервис помощи студентам
Уважаемые программисты. Подскажите - как производится наладка отладка (не редактирование) программы (кода) во FreeBasic.
В QB это делалось просто. В меню Debug командой toggle breakpoint метится строка до которой проверить.
После запуска идет проверка, отмечаются ошибки, проблемы.
У меня во FreeBasic этот метод не работает. Программа на метку не реагирует, действия не совершаются. Прошу помощи.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.02.2024, 01:11
Ответы с готовыми решениями:

Компиляция программы Qbasic в Freebasic
По мере надобности компиляции одной из старых программ, написанных давным давно в Qbasic, установил Freebasic (OS Ubuntu). Пытаюсь...

Грамотная отладка программы, подмога в структуризации кода
Сразу прошу прощения, если ошибся разделом. Написал программу. Она простая. Она сжимает выбранную папку в zip и кладёт куда нужно. ...

Отладка программы в Delphi(нужно подредактировать текст чужой программы)
Взял у одногруппника похожую, на свою программу, нужно переделать под свое задание. А я сам чайник, и не могу понять, что там лишнее, а...

224
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
25.02.2024, 13:09
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Если бы пилил редактор(а в этом направлении
пытаюсь вести работу, условий нет - но пытаюсь), то положил бы большой и толстенный х** на отладчик.
Это вообще не главное. Потому что суть как раз в IDE в хорошей, удобной, расширяемой, а не в отладчике.
Очень интересно.
Тогда он мало кому будет нужен, если без дебаггера. Тогда можно взять любой редактор с поддержкой синтаксисов и там кодить. Наличие удобного отладчика это и есть самое главное для среды разработки,по сути это сердце среды.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Повторюсь для гибкого, расширяемого редактора, плавающего, с автоматической вёрсткой, когда
ты растягиваешь и таскаешь окно.
Ну я и говорю об этом. То есть не чисто текстовый интерфейс, а псевдографический, как на вашем скриншоте. Зачем гнаться за китами, одиночкам это все равно не под силу. Профессиональных сред и так достаточно. А небольших, для пет-проектов по сути и нет, если под современные ОСи.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
При этом нужно иметь шрифт, хороший, кастомный(у меня он практически есть, провёл огромную
работу в этом направлении, руками попиксельно рисовал с DOSBox-ового), на разные разрешения включая 4k.
Для программинга лучше всего моноширинный растровый шрифт нескольких размеров или генерируемый в соответствии с форматом и размером по шаблону. Мы же не wiswig редактор создаем, а чисто для набора кода (редактирования), удобной отладки кода, удобной системой помощи и навигации по коду. Вот тот минимум что требуется. И сам код редактора должен быть расширяемым без перекомпиляции, чтобы можно было добавлять фичи в процессе работы если это потребуется. То есть нужна модульность, нужны вменяемые api, и байт машина под одним местом на букву ж.
И код должен быть простым и понятным.
На днях смотрел код одного компилятора Паскаля. Там нет НИ ОДНОЙ строчки с комментариями. Не было даже описания работы всей системы. Вообще НИЧЕГО! Не понятно для чего дядя писал вот это гов.ище. Вот так писать ТОЧНО не надо. Я такой код даже читать не стал: пустое убийство времени. Я вообще с осторожностью отношусь к плохо документированному коду. С подозрением. Если чел вообще кол забил на других, то и его код под подозрением. Сначала читают документацию где четко должно быть объяснено такие вещи как:
1. точка входа, чтобы не искать файл додумывая: а какое имя для файла выбрал Вася Пупкин для обозначения точки входа. так как раскручивать скрипты не зная точки невозможно.
2. общее описание модулей и что за что отвечает. Можно даже рисунок приложить. Это сберегает очень много времени тем, кто будет все это разгребать.
3. описание каждого модуля. Из каких функций он состоит, зависимости и т.п.
4. По каждой функции: её цель, что на входе, что на выходе, сигнатура.
Этого достаточно, чтобы понять систему не читая код. Это сберегает время. Код читают только в редких случаях.
Без документации ваш код - мертворожденное дитя. Детский лепет, что код должен быть самодокументированным это несерьезно.Сейчас некоторые системы состоят из миллионов строк кода. никто в здравом уме не будет тратить свои годы на понимание системы читая код. Это безумие! Пора к этому уже привыкнуть и писать документацию. Документация сейчас это будущее вашей работы. Надо уметь еще её писать.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Да я знаю это можно заговнокодить через сдвиговые операнды, и вместо пары формул
в коде у нас будет страшная лютая захардкоденная дичь.
А может лучше потратить время и посмотреть как это уже было реализованно раньше. Я сейчас разбираюсь с turbo vision.Конечно это дичь обьектноориентированая, но всё же весьма интересно.
1
Эксперт по электронике
6876 / 3299 / 340
Регистрация: 28.10.2011
Сообщений: 12,950
Записей в блоге: 7
25.02.2024, 14:43
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Вылет случается после одного из "апгрейдов" кода, соотв смотрим в это место и рядом с ним
Ошибка может быть скрытой и проявятся при определенных условиях. Тогда будут думать на последний написанный код, но ошибка не в нем.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Логично предположить, что это из-за чего-то происходит. Если алг верный и хеп попортил не код,
то кодер тут не виноват. Однако ошибка воспроизводимая будет означать что кодер всё таки виноват.
Вопрос не в том виноват или нет. Как без отладчика найдете подобную ошибку в коде из многих тысяч строк? Ошибка может быть вовсе не в недавно написанном, а в том что написали несколько месяцев назад, просто она раньше не проявлялась т. к. условий возникновения не было.

Думаете что это нереально? Простой пример
Этот код работает не вылетая.
PureBasic
1
2
3
4
5
6
s.s = Space(10)
Size = Len(s)+2
*Point = AllocateMemory(Size)
PokeS(*Point, s)
 
*Point2 = AllocateMemory(1024)
А этот вылетает
PureBasic
1
2
3
4
5
6
s.s = Space(100)
Size = Len(s)+2
*Point = AllocateMemory(Size)
PokeS(*Point, s)
 
*Point2 = AllocateMemory(1024)
при наличии строки
PureBasic
1
*Point2 = AllocateMemory(1024)
Если ее закомментировать, вылета нет. В чем причина?
И это простой код где найти ошибку в общем-то не сложно, а если будет несколько тысяч строк и где именно искать неизвестно?
Отладчик найдет причину ошибки с указанием строки где она обнаружена.
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
25.02.2024, 17:54
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Дебаггером (за неимением лучшего) отлаживали ещё под самый ранний ДОС ассемблерные программы.
Майкл ты вообще походу не вклёвываешь о чём речь, путая НУ и ВУ.
Про ассемблер уже писал, там применение отладчика оправдано полностью.
Сразу видно человека, который вообще ни одного проекта серьёзного не реализовал
ни под DOS ним под Windows.
А причём тут мода уже пояснял, миллионы ослов, сочиняющих своё мумие за компом, и как слепые котята
отлавливающие десятки багов, концептуальных и технических, впоследствии становящихся
программистами крупных компаний и сочно подсирают им своей компетентностью. Были и фрилансеры
которые руинили целые фирмы, научившись программировать в виде "я художник - я так вижу".
И пока тебя смешит копипаст, который сработает везде и в блокноте и в редакторах под DOS,
меня будут смешить такие люди как ты, которые не осознают глубины проблемы.

Ещё раз: я не против отладчиков. Выступаю исключительно за то, чтобы их применяли крепкие
разумом программисты и только в редких, единичных случаях, когда найти ошибку своими силами
не удаётся, а не кони-люди(вечные новички), которые пишут код методом научного тыка, не нарисовав
и не обдумав ни одной схемы, их результат и так предельно понятен. Более того уже рассказывал,
что навык поиска ошибок без отладчика тренируется.

И да ''вместо "Exit Do"случайно написать "Exit Sub" '' - это видимо отдельный навык, доступный только
людям с intelliSence.

Цитата Сообщение от Mikle Quits Посмотреть сообщение
что лучший вариант набирать длинные имена - это Copy-Paste.
Любые имена и длинные и короткие, похрен какие. Чтобы на QB писать уверенно или на FB в Lite\QB
и не угодить в говно, locm об этом писал, куда можно угодить, там не только отладчик понадобится
но и изрядная доля самообладания.

Добавлено через 38 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Тогда он мало кому будет нужен, если без дебаггера. Тогда можно взять любой редактор с поддержкой синтаксисов и там кодить. Наличие удобного отладчика это и есть самое главное для среды разработки,по сути это сердце среды.
Это сердце среды для ньюбисов. Открою тебе величайший секрет - можно прокачать свою голову
и писать без отладчика, просто перебивать из документации(написанной за письменным столом).
Процент ошибок после прихода к дзену будет исчисляться несколькими нулями после запятой.
Время на их отлов - сопоставимо. И есть другой путь, сочинять на компом, жуя чипсы и слушая музыку
тыркаться в отладчике, ловить десятки бегов, вечно ковыряться и сливать на это время, получать
по итогу забагованное в сосиску говно, нашпигованное тысячами костылей и заплаток, еле работающее
как например популярный ныне Davinci Resolve.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Зачем гнаться за китами, одиночкам это все равно не под силу.
Про это уже писал зачем. Во-первых мне не нравится интерфейс ни одного такого редактора,
во-вторых подогнать и кастомизировать ни один редактор подобным образом к которому стремлюсь - нельзя.
В-третьих, не делать ничего и жить на готовеньком - мы Россияне так делали всю жизнь и к чему пришли?
Мы сраные аборигены, которые не могут ничего ни в проц ни в ОС, ни само собой во что-то другое
из хай тека и только "тырим" всё разработанное на западе, в европе, в китае, терпя на импорте миллиардные
убытки, закапывая свою экономику и спецов. Можно дальше так жить, но рано или поздно такой подход
даст о себе знать. Ну т.е. он уже дал, спящие понемногу пробуждаются.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
И сам код редактора должен быть расширяемым без перекомпиляции
Понимаю про что говоришь. Но скриптинг(а я всё делаю с нуля) это слишком сложно. Меня устроила бы
и обычная расширяемость. В готовом редакторе рассчитанном на расширение что-либо дорабатывать,
как показывает практика - никаких трудностей не возникает.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
На днях смотрел код одного компилятора Паскаля. Там нет НИ ОДНОЙ строчки с комментариями. Не было даже описания работы всей системы. Вообще НИЧЕГО! Не понятно для чего дядя писал вот это гов.ище. Вот так писать ТОЧНО не надо. Я такой код даже читать не стал: пустое убийство времени. Я вообще с осторожностью отношусь к плохо документированному коду. С подозрением. Если чел вообще кол забил на других, то и его код под подозрением. Сначала читают документацию где четко должно быть объяснено такие вещи как:
1. точка входа, чтобы не искать файл додумывая: а какое имя для файла выбрал Вася Пупкин для обозначения точки входа. так как раскручивать скрипты не зная точки невозможно.
2. общее описание модулей и что за что отвечает. Можно даже рисунок приложить. Это сберегает очень много времени тем, кто будет все это разгребать.
3. описание каждого модуля. Из каких функций он состоит, зависимости и т.п.
4. По каждой функции: её цель, что на входе, что на выходе, сигнатура.
Не знаю как делают другие, могу сказать только за себя.

1) Структура стандартным образом: константы, инклуды, прототипы, массивы, код, проц/функц
2) Частые комментарии в алгоритмически важных местах, разряженные в "бытовых" вычислениях.
3) Описание функций и процедур в многострочном комментарии сразу перед функ/проц.
4) Описание функциональных блоков программы, сразу перед блоками и констатация закрытия блока.
5) Кодстайл мозаикой, т.е. след строка начинается на пересечении пробела строки выше.
Комментарии через два пробела(это повышает читаемость) с отступом от кода не менее 4-х пробелов.
Пробелы между арифметическими знаками.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
А может лучше потратить время и посмотреть как это уже было реализованно раньше. Я сейчас разбираюсь с turbo vision.Конечно это дичь обьектноориентированая, но всё же весьма интересно.
Смотрел как люди делали, нет спасибо! )))
Более того раньше могло и не быть. У меня уже столько документации аналитической накоплено,
не уверен, что кто-то копал настолько глубоко.
По поводу turbo vision - хочешь ковыряй, этим инструментом никогда не пользовался, у меня все GUI кастомные
под задачу, так что мне он не интересен.

Добавлено через 16 минут
Цитата Сообщение от locm Посмотреть сообщение
Если ее закомментировать, вылета нет. В чем причина?
Переведи этот код на FB, я не понимаю что там происходит, пурик уже забыт раз 10.
Тогда и посмотрим что там происходит. Без отладчика.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
25.02.2024, 17:59
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Смотрел как люди делали, нет спасибо! )))
А как вам вот это:
https://github.com/magiblot/turbo
Прокрутите вниз, там описание. Это редактор, который чел запилил на turbo vision - библиотеке, которую он портировал под линукс и виндовс с поддержкой юникода и пр.:
https://github.com/magiblot/tvision
Редактор включает библиотеку Scintilla и довольно навороченный.
Может стоит от этого оттолкнуться? Хотя всё это запилено на c++.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
25.02.2024, 18:10
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А как вам вот это:
https://github.com/magiblot/turbo
Прокрутите вниз, там описание. Это редактор, который чел запилил на turbo vision - библиотеке, которую он портировал под линукс и виндовс с поддержкой юникода и пр.:
https://github.com/magiblot/tvision
Редактор включает библиотеку Scintilla и довольно навороченный.
Может стоит от этого оттолкнуться? Хотя всё это запилено на c++.
Нет не стоит. Объясняю почему:
Чувак не смог с нуля и взял чужой турбо вижен, сцинтиллу и ещё пачку чужих работ.
В итоге там толстенный технологический стек, в котором чёрт ногу сломает, да ещё и си с линуксом на перевес.
Чувак конечно большой молодец, но это не показатель. Лично у меня даже редактор QB64
вызывает большее уважение, да понятно что он раз в 10 хуже, что это лютое говно, но написанное с нуля,
хотя бы была попытка получить знания.
0
Эксперт по электронике
6876 / 3299 / 340
Регистрация: 28.10.2011
Сообщений: 12,950
Записей в блоге: 7
25.02.2024, 18:17
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Переведи этот код на FB, я не понимаю что там происходит
Я не пишу на FB и не уверен что получится перевести корректно.
Не может быть что так быстро забыли тем более что кода почти нет. Всего несколько функций
https://www.purebasic.com/docu... space.html
https://www.purebasic.com/docu... g/len.html
https://www.purebasic.com/docu... pokes.html
https://www.purebasic.com/docu... emory.html

Кстати в описании AllocateMemory() упоминается ошибка которая есть в коде выше.
If the program crashes at this command, it is usually a result of a memory corruption at an earlier time in the program by writing at an area outside of the allocated memory area. Such an error can be narrowed down to the real cause using the purifier debugger tool.
Что переводится как
Если программа аварийно завершает работу на этой функции, это обычно является результатом повреждения памяти в более ранний момент программы из-за записи в область за пределами выделенной области памяти. Такую ошибку можно сузить до реальной причины с помощью инструмента отладчика Purifier.
volchv, вероятно только начал изучать FB и у него могут быть некоторые сложности с пониманием некоторых особеностей языка. Отладчик может помочь понять как работает тот или иной оператор или функция.
1
 Аватар для Mikle Quits
782 / 300 / 17
Регистрация: 21.01.2023
Сообщений: 520
25.02.2024, 18:26
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Майкл ты вообще походу не вклёвываешь о чём речь, путая НУ и ВУ.
Им отлаживали и СИ программы (СУ?), а тот же QB не отлаживали только потому, что среда QB сама по себе хороший отладчик.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Сразу видно человека, который вообще ни одного проекта серьёзного не реализовал
ни под DOS ним под Windows.
Что, проектами меряться будешь?
0
25.02.2024, 18:29

Не по теме:

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Чувак не смог с нуля и взял чужой турбо вижен, сцинтиллу и ещё пачку чужих работ.
Если все начнут изобретать колесо...
Зачем использовать винду/линукс/макос? Давайте напишем ОС аналогичную по возможностям и все драйвера под все существующее железо тоже. Зачем использовать имеющиеся компы?
Изобретем свои с нуля - процы, чипсеты, память, SSD, и т. д. все изобретем и весь софт для них напишем!

Это я к тому что если начать все писать с нуля, ничего существенного не достигнем - времени нужно очень много.

0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
25.02.2024, 19:04
Цитата Сообщение от locm Посмотреть сообщение
Я не пишу на FB и не уверен что получится перевести корректно.
Меня интересует что это за *Point, откуда он взялся, и почему не зарезервирован заранее.
К остальному коду вопросов почти нет. Просто мне не известен точный формат строковой памяти PB.
Цитата Сообщение от locm Посмотреть сообщение
*Point = AllocateMemory(Size)
Словами объясни что должен сделать код, я напишу такой же в FB, глядя на твой пример.
Попробуем воспроизвести баг.

Добавлено через 26 минут
Цитата Сообщение от locm Посмотреть сообщение
Это я к тому что если начать все писать с нуля, ничего существенного не достигнем - времени нужно очень много.
Нам уже показали что всё, что кто-то где-то достиг могут взять и "отрезать" начиная от ЦП и заканчивая яйцами))).
Пока мир "многополярен" и нам будут совать палки в колёса, попросту - ничего не остаётся как сопротивляться.
Можно сложить лапки и нас экономически поработят(точный аналог старого рабства, просто осовремененное),
причем с гарантией. Это уже много где произошло, монополии гигантов индустрии, вспомни цены на видеокарты,
когда все офигели и продолжают фигеть даже сейчас. Если вдуматься и посмотреть на историю всей
индустрии - мы вечно позади, все фундаментальные разработки там на западе, во времена СССР
ещё что-то пытались догнать, не сильно отставали, всё было неплохо, а потом сдались, слились.
И сейчас всё действительно плохо. И этим сейчас пользуются китайцы.
То про что пишу - это независимость, это знание, а знание это большая сила. Для себя припас вообще
другой ответ, мне хочется чтобы многое было доступно на нашем родном языке и чтобы это были
не работы от академиков для академиков, а работы тех, кто может писать доступным и лаконичным языком.
Отечественный ПК, по сложности взаимодействия аналог интелов. С отечественной документацией,
где можно влезть куда надо и сделать в точности что тебе надо.
Не то дерьмо с МЦСТ которое они выкакали, я читал, да, чуть умом не тронулся. Настолько всё пронизано
идеологией рыночной, что уже тошнит просто. Делайте С*КА для людей! Как когда-то делал Билл Гейтс.
Вот мой посыл.

Добавлено через 4 минуты
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Им отлаживали и СИ программы (СУ?)
Никогда си не был средним уровнем))), вот ты и выдал себя. Си это ВУ. Учи матчасть!

Цитата Сообщение от Mikle Quits Посмотреть сообщение
Что, проектами меряться будешь?
А что тебе есть чем?
0
Эксперт по электронике
6876 / 3299 / 340
Регистрация: 28.10.2011
Сообщений: 12,950
Записей в блоге: 7
25.02.2024, 19:14
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Меня интересует что это за *Point
Это тип переменной "указатель" https://www.purebasic.com/docu... emory.html
Цитата Сообщение от Quiet Snow Посмотреть сообщение
почему не зарезервирован заранее
Потому что по умолчанию декларировать переменные не нужно.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Просто мне не известен точный формат строковой памяти PB.
Нультерминированая юникодная строка.


Цитата Сообщение от Quiet Snow Посмотреть сообщение
Словами объясни что должен сделать код, я напишу такой же в FB, глядя на твой пример.
Я начал переводить
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
DIM s AS STRING
DIM Size AS LONG
DIM p AS INTEGER Ptr
s = space(100)
Size = LEN(s)
p = allocate(Size)
 
fb_memcopy(p, s, Size)
но не нашел аналога функции PokeS https://www.purebasic.com/docu... pokes.html
Пришлось заменить на fb_memcopy() и не уверен что сделал правильно.
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
25.02.2024, 19:25
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Нет не стоит. Объясняю почему:
Чувак не смог с нуля и взял чужой турбо вижен, сцинтиллу и ещё пачку чужих работ.
В итоге там толстенный технологический стек, в котором чёрт ногу сломает
Это просто гораздо легче, чем с нуля. Вот я сейчас взял книжку по turbovision (да! были ДВЕ КНИГИ по данной либе: одна под turbo pascal, другая под c++). Начал читать и мне кажется, что ну все там очень просто, даже проще уже некуда, несмотря на то, что там работа с объектами. Жалко, что нет русского перевода, однако можно найти другие туториалы на русском. Ну хорошо же работала среда turbo pascal, а ведь она на vision запилена. Исходники открыты, спасибо дядюшке борланду. Олдскульная морда правда, ну это и хорошо.)) По синцилле тоже инфы много. Гораздо проще потратить месяц на ознакомление, чем годы париться изобретая колесо. Если что-то работает и работает хорошо: зачем парится. нужно наоборот продолжать развивать проект, как и поступил человек реанимировав мертвеца. Вот туда надо дебаггер прикрутить.
0
 Аватар для Mikle Quits
782 / 300 / 17
Регистрация: 21.01.2023
Сообщений: 520
25.02.2024, 19:30
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Никогда си не был средним уровнем))), вот ты и выдал себя. Си это ВУ. Учи матчасть!
Ты тон смени, если хочешь продолжать разговор.
Что значит "выдал"? НУ, ВУ - это всё условности, а существование СУ некоторые вообще отрицают. Я отношусь к тем, кто считает СИ - это язык СУ. Это не некая истина, это мнение. Нет строгой градации.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
А что тебе есть чем?
Смотря что ты считаешь уровнем проекта. Если это проект на заказ, с тех заданием, кучей документации и поддержкой - нет, этим не занимался. А если это игра, вполне себе уровня того же kKrieger, только не 96к, а 64к? А если при всём этом она написана на VB6? Список подобного довольно большой.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
25.02.2024, 19:45
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Нет строгой градации.
Для людей не в теме градации нет. Объясняю, некий "средний" уровень придумали идиоты чтобы выделить себя
в отдельную касту той самой "средней" "привилегированной" прослойки людей, кто считает что си хватит на всё
и асм знать решительно не обязательно. Т.е ленивые упыри.

Цитата Сообщение от Mikle Quits Посмотреть сообщение
А если это игра, вполне себе уровня того же kKrieger, только не 96к, а 64к? А если при всём этом она написана на VB6? Список подобного довольно большой.
Меньше слов больше дела!

Цитата Сообщение от Mikle Quits Посмотреть сообщение
Смотря что ты считаешь уровнем проекта.
Не важно что я считаю, люди посмотрят и сделают свои выводы. Мои проекты уже видели.
И под DOS и под Windows.
0
 Аватар для Mikle Quits
782 / 300 / 17
Регистрация: 21.01.2023
Сообщений: 520
25.02.2024, 19:59
Игра сделана по канонам демосцены, нормально работает только в XP, но можно запустить и в 7-8-10, написано в ReadMe как:
https://yadi.sk/d/xYZa0Dzo3Mmsgi
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
25.02.2024, 20:12
Ну а вот вишенка на торте)).
Человек запилили вариант qbasic, который называется TMbasic. И прикрутил к нему вот ту самую портируемую либу. На данный момент поддерживает кроме строк - списки,множества и хеш таблицы. Проект находится под разработкой. Очень интересен. Напрягает, что компилятор написан на c++. Хотя в общем это и не принципиально, но все же хотелось видеть чистый си.
https://github.com/tmbasic-lang/tmbasic
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
25.02.2024, 20:20
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Игра сделана по канонам демосцены, нормально работает только в XP, но можно запустить и в 7-8-10, написано в ReadMe как:
https://yadi.sk/d/xYZa0Dzo3Mmsgi
В чём принципиальная проблема снять видео своей работы и выложить на YouTube? Я не хочу это запускать:
https://www.virustotal.com/gui... 6776f601db
С виртуалкой возиться сейчас не хочу. Как будто просил .exe шник или код. Снимаешь видео и всё ясно.

А вот моё 3D, на бейсике + ASM, 2004г. DOS, ~300kb:
Написано голыми руками с ноля, без DirectX и OpenGL, характеристики ПК показаны:
Текстуры на ассемблере, логика на бейсике. *.EXE есть в закреплённой теме.


Будем дальше?

Добавлено через 3 минуты
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Хотя в общем это и не принципиально, но все же хотелось видеть чистый си.
По хорошему он должен быть написан сам на себе, для того, чтобы показать самодостаточность.

Добавлено через 3 минуты
CoderHuligan, это какая то дичь!
TMBASIC is a programming language for writing non-graphical programs.
Как это non-graphical? В 2024 году? Really? Короче это бейсик для детей, обучающий.
Ты эта, описания читай иногда.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
25.02.2024, 20:24
Цитата Сообщение от Quiet Snow Посмотреть сообщение
По хорошему он должен быть написан сам на себе, для того, чтобы показать самодостаточность.
Дело времени, я думаю. Сейчас я уже немного прошарил c++, так что код посмотрю. Хотя и ненавижу этот язык. Но на нём пишут много полезных либ, поэтому знать надо. А вот скриншоты редактора:
https://github.com/magiblot/tvision/issues/7

Добавлено через 2 минуты
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Короче это бейсик для детей, обучающий.
Ты эта, описания читай иногда.
Ну один человек занимается, + еще подключился автор переработанной либы. Прикрутить графику наверно нетрудно будет, так как под c++ много достойных либ имеется.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
25.02.2024, 20:25
Quiet Snow, у Майкла полно игр 3D и 2D и есть свои движки софтверные для 2Д, а также если я ничего не путаю есть и аналогичный 3D софтрендер. Не с тем человеком ты перепалку устраиваешь - он также все с нуля пишет и не пользуется никакими готовыми либами с кодом. Будь вежливей. https://www.cyberforum.ru/post8323553.html

Mikle Quits, почитай подобные темы (вот к примеру или вот); мой совет - не трать время, бесполезно.
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
25.02.2024, 20:27
Цитата Сообщение от CoderHuligan Посмотреть сообщение
https://github.com/magiblot/tvision/issues/7
Там не растровый шрифт, а TrueType юникодовые. И по сути это текстовый формат,
оно же не скроллится попиксельно? Ты видел как DOS-овые программы работали в Windows98?
Это как запустить редактор DOS под 98-й, ну только сделанное под винду, с интеграцией буфера обмена.
0
 Аватар для Mikle Quits
782 / 300 / 17
Регистрация: 21.01.2023
Сообщений: 520
25.02.2024, 20:31
Цитата Сообщение от The trick Посмотреть сообщение
не трать время, бесполезно
Ясно. Просто я впервые с ним столкнулся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.02.2024, 20:31
Помогаю со студенческими работами здесь

Отладка Кода
{ Console.WriteLine("Привет пользователь. Как тебя зовут?"); string name = Console.ReadLine(); ...

Отладка кода
Я на форуме давно... и вот стало мне жутко интересно, кто как код отлаживает... потому 99% начинающих вообще никогда не слышали про...

Отладка кода
Олимпиадная задача : вводятся N строк описания товаров (стоимость, время завоза и время вывоза), N строк описания запросов (время захода...

Отладка кода
программа для удаления повторяющихся элементов в строке flag::Int->->Int flag n=FALSE flag n(x:xs) = if x ==n then TRUE ...

Отладка кода
Помогите пожалуйста отладить код. Собрал вот такое #include<iostream> int Check(int a) { int b; for(b = a * a; a &&...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru