|
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
|
|
101 Basic Computer Games25.05.2024, 16:17. Показов 18709. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|