|
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
|
|
101 Basic Computer Games25.05.2024, 16:17. Показов 19773. Ответов 273
Метки нет (Все метки)
Недавно я натолкнулся в сети на книгу, о которой никогда не слышал.
Книга называется "101 Basic Computer Games". Она была выпущена DEC в 1975 году и содержит тексты игр с аннотациями. Игры написаны на BASIC, на компьютере PDP-11. Очень интересная коллекция для начинающих программистов, и не только. Коллекция игр с описаниями и переводом на другие языки программирования находится по адресу: https://github.com/coding-horr... uter-games
4
|
|
| 25.05.2024, 16:17 | |
|
Ответы с готовыми решениями:
273
Coodo Games & Datcroft Games Java Developer (Самара) Coodo Games & Datcroft Games AS3.0 Developer (Самара) |
|
|
||||||||||
| 09.10.2024, 18:01 | ||||||||||
![]() ![]() Увидев в коде for, while и т. д. можно однозначно сказать что это цикл. Я тут посмотрел код и о ужас, я увидел ЦИКЛЫ! ![]() А как же принцип что все можно построить на if и goto? И где ваши хваленые именованные блоки?![]() Вот этот фрагмент вообще шедевр!
Код сложночитаем в том числе из-за goto. Комментов нереально много! Если вы пропагандируете такой подход к разработке, спасибо не надо.
0
|
||||||||||
|
|
|||||
| 09.10.2024, 19:36 | |||||
|
0
|
|||||
|
Кормпилятор
|
||||||||||||||||||||||||||||
| 09.10.2024, 22:05 | ||||||||||||||||||||||||||||
|
CoderHuligan, и ещё:
чёрный ящик - это блок(процедура). А может быть и одна операция, если это "блок схема". От контекста зависит. Они актуальны, в основном, в технических обёртках. Их пишут 1 раз и не возвращаются к этому. Не надо заострять внимание на этом, оно не так важно. Значит надо повышать уровень или делать, например, как я: брать задачу на два порядка выше своего уровня и аналитически её долбать со всех сторон, получая на ней кратно больше знаний, чем на задачах своего уровня. Не все понимают, что так делать можно. Что-то сделать получится, что-то нет. Тут уже вопрос набора опыта. Главное - преждевременно не опускать голову, не ссать в штаны. И не стоит абсолютизировать и идеализировать чужие решения, всегда есть аспекты где их можно нагнуть. Тебе профи не будут на каждом углу писать, что их проги не идеальны, это легко проверяется тестированием. Они знают где у них косяки и что всё объять не смогут, некоторые пользуются доверчивостью других. Кен Сильверман, который начинал свою карьеру с QuickBasic и который реально писал прикладной софт и выкладывал его на всеобщее(я даже пользовался его секвенсором - KS), а не чё-то там делал где-то в закрытом режиме и крысино в книгах выпендривается. Называется почувствуй разницу. Также и тут на форуме люди сходного Кену уровня сидят по собранности, а может даже и повыше, хотя, думаю, столько софта и не писали. Так что не надо тут на авторитет своих книжных богов давить. Добавлено через 2 минуты посочувствуем молча.Добавлено через 1 час 53 минуты Резюмирую, в бейсике в том же NEXT есть возможность указывать счётчик. Конечно злые "структурные" дяди это сделали чтобы людям плохо жилось. Остальные операторы можно просто прокомментировать. Это если вдруг возникнут вопросы - "а что так можно было?" Для "особо незрячих" есть возможность обрамлять блок символами или псевдографикой. Приведу примеры возможных вариантов. Отошёл от этого в начале 2000-го, но мало-ли кому приспичит: Как видно из обсуждения актуальная темка-то раз отступы уже не помогают.примеры обрамлений
Для не нумерованных блоков:
ASCII вообще удивительная вещь - городить можно до бесконечности. Хотя конечно не для тех у кого уровень вложенности - 9. Тут надо уже что-то другое - от доктора Попова. Вообще, не понятно, для кого люди открывали дискретную алгебру и собственно её подраздел - логику. Ему больно в этот код влезать, глазки можно выколоть.
0
|
||||||||||||||||||||||||||||
|
Кормпилятор
|
||
| 09.10.2024, 23:53 | ||
|
Любой код, любой сложности вполне нормально представляется в структурном виде без goto. Ключевая особенность, купить письменный стол, бумагу, ручек\карандашей. И сесть, мать его, за него))) И всё, весь секрет. Начать рисовать схемки, алгоритмы, писать руками куски кода. Проверять эти куски на компиляторе, мозговать над ними побольше, никаких "агайлов-скаммов", метаний из угла в угол и торопёшек, чтобы код был полностью формализован. И собирать своё творение. Самому тестировать, параллельно отдать знакомым на тесты, потом уже выкладывать бету. Критический код(движок) должен быть формализован на 100%, остальное - по желанию\возможностям. Обычно с таким подходом бета - это уже готовый продукт. И код должен быть превосходно оформлен, если ты сам его будешь читать легко и с удовольствием - то и результат на выходе другой. И никто не говорил что структуризация кода это простой процесс, на толстых проектах поломать бошку приходится знатно, чтобы как раз без goto. Плюсов конечно больше, такой код отлично дополняем сходным функционалом, т.е. главное создать базовый скелет с запасом на масштабируемость, остальное дело рутины. Ну и конечно важна завершённость документации, иначе проект до беты не дойдёт))). CoderHuligan, в твоём коде всё те же банальные ошибки читаемости. Внутри блока отступов часто нет, арифметика\логика вся без пробелов(мозаику, отталкиваясь от пробелов не сделать и читать тяжело) метки обычно ставят совместно с кодом, а перед ними пустая строка. Причём в некоторых местах ты ставишь пробелы, т.е. ты можешь это делать, просто тупо ленишься. Ну и макаронина всё портит. Понятно что кусок контекстный и без общей схематики его не разобрать, но и без схематики этого конкретного куска тоже - и это ужё косяк. В идеале структурный и комментированный код таких проблем не имеет. Вот кстати весёлая прожка, рисующая блок схемы. Довольно забавная. Картинку в архиве приложу. https://almiur.ru/show_prog_9.html Это для затравки интереса товарищу testuser2-у. Плюс на коде хулигана она демонстрирует невозможность что-то понять из-за пересечений стрелок(то о чём я и писал) и из-за разложения "в высоту". Вместо грамотного распределения блоков на плоскости(что и есть та задача с которой дядька не справился, я об этом не просто так упомянул, потому что красиво сделать - трудно). А тут всего 60 строчек кода. На 1000 - пиши пропало.
1
|
||
| 10.10.2024, 01:55 | ||
|
По правде говоря, я стрелки представлял, несколько по иному, чуть более толстые, где одну линию было бы видно поверх другой и если выделить какю-то линию, чтобы она выходила на верхний слой, и, может быть, еще утолщалась. Параллельные лини не должны сливаться а идти именно параллельно и не пересекать блоки... Как-то вот так. Там автор, кстати, пишет, что работает над новой версией, где будут учтены пожелания пользоватлелей. И главное, комментарии там свежие, а значит автор и проект жив телом и душой и можно ждать обновлений. Для си-кодеров наверное будет мастхев )
0
|
||
|
Кормпилятор
|
|||
| 10.10.2024, 03:27 | |||
|
не потяну(если сходу прикинуть). Но ниша почти пуста. Беглый гуглинг даёт это понять. Тут как говорится "кто успеет урвать свой кусок".
1
|
|||
|
|
|||||||
| 14.10.2024, 17:46 | |||||||
|
Вот тут сегодня ТС выложил свое видение решения задачи:Определить длину самой длинной подстроки из подряд стоящих букв 'а'
Задачка простая:
Кликните здесь для просмотра всего текста
Простите, что не на basic, но уж очень показательный пример. Если немного помедитировать над алгоритмом и сравнить эффективность, ты вы поймете о чем я вам тут тру уже столько лет.
0
|
|||||||
|
|
||
| 15.10.2024, 10:14 | ||
|
0
|
||
|
|
||
| 15.10.2024, 13:19 | ||
|
Добавлено через 32 минуты Переписал код в традиционном стиле. Конечно скорость из-за вызова функций несколько меньше, но всё же он алгоритмически оптимизирован. Определить длину самой длинной подстроки из подряд стоящих букв 'а'
0
|
||
|
Кормпилятор
|
|||
| 16.10.2024, 19:45 | |||
|
Осталось понять как измеряется эффективность.
На мой взгляд нужно генерить метров 100 данных, чтобы оно с гарантией в кеш не вошло и на них уже тестить. А то можно ложно счесть неэффективное эффективным. Потри нам о чём-нибудь потолще самописном. Алгоритмически грамотно можно писать не только с GOTO и там не будет разницы даже в 0.1%. Уже говорил, что нет смысла писать всё в супер хардкорном стиле выдаивая каждый такт, достаточно поддерживать уровень оптимизации приложения выше среднего уровня по всему коду и будет уже круто. А то, что надо работать над алгоритмами - это вроде и так понятно без лишних слов. Хулиган, побеждая неофитов на 10 строчниках ты славы не сыщешь и корм закончится)). Вот чё неэффективно.
1
|
|||
| 16.10.2024, 19:45 | |
|
Coodo Games & Datcroft Games 3d Artist (Самара) Coodo Games & Datcroft Games Lead Java Developer / Team Lead Выполнить следующие операции в двоичной системе счисления: 10101,10101+1001,0011 101110,101-101,11 1011*111 1010101 Даны действительные числа x1,…,x101, y1…,y101. Получить действительные x'1,…,x'101, y'1,…,y'101 Bsod - *50,*3B, *101, *101 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|