|
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
|
|
101 Basic Computer Games25.05.2024, 16:17. Показов 18741. Ответов 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 (Самара) |
|
|
|||||
| 26.06.2024, 13:29 | |||||
|
if(a(b) - c(d)) 13, 14, 15 Добавлено через 42 минуты
1
|
|||||
|
|
||
| 26.06.2024, 14:58 | ||
![]() Приказывайте какой код он нагенерил, иначе это обсуждение не имеет смысла. Вам нужно пообщаться с Hretgir. У него тоже идеи по поводу неидеальности процев и необходимости изобрести https://www.cyberforum.ru/blog... g8346.htmlОсуществление установки флага Zero Если равенство проверяется через вычитание, то почему не аппаратно?
0
|
||
|
|
|||
| 26.06.2024, 15:08 | |||
![]()
0
|
|||
|
Кормпилятор
|
|||||
| 26.06.2024, 20:06 | |||||
|
не существовало. Никто и близко не понимал как программировать. Оно в зачатке было. Первые быстрые процессоры, которые позволили делать 3D в реальном времени сильно раскачали всю индустрию, вот тогда всё это попёрло, демщики, 3D шутеры. Если математики были условно всегда, то программисты "рожались" именно тогда. Уровень рос экспоненциально, но не у всех))). Потому что именно тогда появился нормальный интернет, все начали делиться опытом, что дало сильный пинок в развитии кодинга. И к стилю кода требования именно тогда сформировались. Как ни крути это много лет работы, причём в идеальных условиях. а это очень близко. Объясняю то что не запрещено - разрешено и будут особо одарённые кони-люди использующие одни состояния как части других(и именно через GOTO). И никакая схематика тебе понять это говно не поможет на приближении дальше 2-3 шагов, у рекурсии та же беда, написать просто - обслуживать невозможно. И линейно вычленить процесс и оттрассировать ты не сможешь т.к. он созависим. Расчёты и проверку делает автор кода и если он где-то лоханётся - то кабзда. Обе эти вещи устойчивы к крайней трудности и невозможности доработки. Это и есть истинный макаронинг во плоти. Полный запрет GOTO лишает читающих код такого дерьма. А оставили GOTO потому что при разработке он бывает нужен единично и то разумеется если код поддаётся реструктуризации - лучше это сделать. Убирая одно говно и вваливая заместо него другое - ты не делаешь лучше, решение простое и очевидное, не использовать GOTO когда оно не требуется(ВУ сугубо логика кода), и использовать только если это объективно принесёт пользу(например если требуется реструктуризовать кусок в 300-1000 строк а можно обойтись одним GOTO). Я когда открыл документацию - просто вспух. Туда с гарантией мало кто в асм полезет, это рак мозга. А так оно по сути пожизненно обречено на "плас плас", "линух" и иже с ним. Почему раньше люди делали всё обдуманно и выделяли фундаментально очевидные вещи, те же intel начали за здравие всё было круто, обратная совместимость, приросты скорости. Но самое главное - простой и понятный ассемблер, универсальный инструмент для создания средств разработки, ОС и оптимизации x86. Теперь же только приросты ядер и скорости SIMD, а не скорости базовых x86-x64. Т.е. маркетинговое вонючее враньё. Но параллелится то не всё и это прекрасно людям известно. И ВУ не везде хорош это тоже известно. В миру пока острой потребности нет, все смирились с тем что хороший уровень железа достижим только Intel-ом да AMD, а в нашей стране имхо актуально, ну потому что сколько можно "сосать" у зарубежки. Почему столько наших мозгов топовых(кто при возможностях) нихера не могут сделать, а в своё время наши и к PowerPC руку приложили. Создали бы клон интелов по инструкциям уровня 486\P1, а по мегагерцам современный и дальше с этого места уже бы гребли без излишнего маркетинга и лжи. С видеокартами та же херня. В общем не хотят наши пройти тот же путь но правильно... Идут через жопу.
0
|
|||||
|
|
|||
| 26.06.2024, 21:56 | |||
|
0
|
|||
|
Кормпилятор
|
|||
| 27.06.2024, 08:47 | |||
|
Помню был весёлый ролик про 4-й айфон. Как-то так эти люди живут: https://www.youtube.com/watch?v=EqWIOrCDqbQ А что такое ARM мы знаем по мобилам, байкал наш вон тоже пытались, но там обсёр конечно был сильно очевиден, и никакой аппаратно ускоренный и критически заточенный софт это понимание не изменит. обманывать людей как это сейчас происходит с этими дебильными бустами, которых нет. Уже вообще не понять, что будет работать быстрее, а что наоборот. А так по сути хоть 50 ядер, если алгоритм не параллелится - то не будет быстрее и всё упрётся в 1 поток, так и снижается производительность многопоточных прог где всё схлопывается в 1 поток и образуется ботлнек. Мы то понимаем что вот сейчас эти цифры которые нам дают по приросту к IPC - это ложь, т.е. каждый раз по 15-20%, оно могло быть так на первых порах, когда не было решения на дальнейшее увеличение частот, но не сейчас. Я это пишу чтобы у людей сложилась устойчивая картина, что там всё упёрлось 100 лет назад и догнать на самом деле можно пока западные маркетологи извиваются как сосиски на сковородке, можно напереть на здравый смысл повторить успех того, что было в начале и середине 90-х и спокойно пойти дальше. Для людей это сделать, для наших и возможно не только. Потому что амеры делали для людей, говно попросту иначе не стало бы так популярно в остальном мире. Когда нужна точность и логика то не канает подход "мы не такие как все", в т.ч. эта клоунада с андроидами, которые высосали из пальца свой адский шлак, а кони-люди это позорище склевали ради социалок и селфи. Такие вещи как UI не могут быть настолько субъективны, насколько нам пытаются это подать. Примерно эти тенденции высмеивали 10 лет назад с актёрами из "назад в будущее": https://youtu.be/L2xvITU7gdI?t=159 Там кстати про Трампа интересно сказано. Ну и в целом прикольно обыграли "деградацию".
0
|
|||
|
COM‐пропагандист
|
||
| 27.06.2024, 09:01 | ||
|
0
|
||
|
|
||||||||
| 27.06.2024, 13:39 | ||||||||
|
Я ж не против рекурсии. вы просто невнимательно читаете. Я против рекурсии в процедурах, но не против рекурсии в функциях. И я хочу четко разделить понятие процедура от функции.
1. полное отсутствие ключевых слов типа while, continue, break. Это упрощает сам язык. 2. каждый блок кода имеет уникальное имя. Напомню, что в структурном коде блоки безымянны. 3. А это позволяет легко документировать такой код. то есть создавать описание шагов алгоритма ссылаясь на имена блоков кода. При этом понимание алгоритма происходит уже на стадии чтения српецификации. 4. Легко верифицировать и документировать код автоматическими средствами, так как у нас есть адреса блоков кода. 5. ЛЕГКО СОЗДАВАТЬ АЛГОРИТМЫ ДАЖЕ ОЧЕНЬ СЛОЖНЫЕ БЕЗ ПОТЕРИ ЭФФЕКТИВНОСТИ. В структурной парадигме только за счет потери эффективности. Метки не обязаны быть чисто цифровыми. Мы получили еще одну абстракцию по типу функции: именованный блок кода. Недостаток номеров строк очевиден: придется как-то синхронизировать документирование и написание кода, так как номера строк могут измениться при пересчетах командой renum. Это конечно пережиток.
0
|
||||||||
|
COM‐пропагандист
|
||||
| 27.06.2024, 13:57 | ||||
|
Нельзя скомпилировать и использовать как готовую библиотеку. Даже в отдельном файле такой «блок» нельзя использовать. Как их вызывать? У нас будет программа из одного файла? Хелловорды только писать? Смех.
0
|
||||
|
|
||||||
| 27.06.2024, 14:08 | ||||||
|
1
|
||||||
|
|
||||||
| 27.06.2024, 14:16 | ||||||
|
Короче не нужно пропагандировать старые методы. От них не зря отказались. Они не очень хорошо запоминаются в отличие от слов. Нельзя провести ассоциацию с "вывод на экран" со строкой 1280, тем более что в другой программе это может быть строка с другим номером.
0
|
||||||
|
|
||
| 27.06.2024, 14:55 | ||
|
1
|
||
|
COM‐пропагандист
|
|||||||
| 27.06.2024, 15:54 | |||||||
|
В си конец блока обозначается фигуристой скобочкой. А номер строки и метки никаких фигуристых скобочек не имеют. Новая метка — это конец предыдущего блока или ещё один вложенный друг в друга? Каким образом у вас будут работать переменные объявленные выше прыжка?
0
|
|||||||
|
|
|||
| 27.06.2024, 16:13 | |||
|
0
|
|||
|
COM‐пропагандист
|
|||||||||||||||
| 27.06.2024, 20:38 | |||||||||||||||
Переменные, объявленные внутри функции, доступны только в момент вызова функции, и будут уничтожены после завершения работы функции. А ваши переменные будут создаваться заранее все? То есть какая‐то переменная, которая нужна только внутри блока и которую после блока можно уничтожить, будет существовать всё время жизни программы? Тогда получаете использование памяти вхолостую. О какой эффективности может идти речь? Ни о какой, только Bloatware вместо программ создавать.
1
|
|||||||||||||||
|
Кормпилятор
|
||||
| 27.06.2024, 22:45 | ||||
|
в свободном виде(принципы, схемы функционирования, пояснения) в отдельном документе перед вбиванием в код. Это не означает кто код невозможно понять, но если сам кодер что-то забудет - то без этого, в многих тысячах строк кода найти ответ будет проблематично. Для этого и нужен избыточный запас "понятности". Это нужно только для того, когда что-то либо забыто, либо не понятно другому человеку который код открывает. Т.е. это огромное время, потраченное для документирования. И оба типа документирования важны. Без документации разработка глохнет - это уже эмпирика. Но тебе пишут про другое, про то что влияет на скорость считывания кода глазами и мозгом, а это прямо влияет на скорость разработки, т.к. разработка это не 1 день. Добавлено через 11 минут Нужно ещё поискать такого дятла, который будет "рекурсировать" в процедуре. Обычно такие "понты" в коде потом человека очень долго имеют во все пихательные.
0
|
||||
|
787 / 307 / 17
Регистрация: 21.01.2023
Сообщений: 529
|
||
| 27.06.2024, 22:53 | ||
|
Пример, правда, на VB6. Перепиши без рекурсии в процедуре, сравни читаемость. Рекурсия - одно из лучших изобретений в программировании. Ну а разделять её в процедурах и функциях вообще нет смысла.
0
|
||
|
Кормпилятор
|
||
| 27.06.2024, 23:56 | ||
|
не поддающиеся контролируемой трассировке мозгами дальше нескольких итераций, потому что они, повторюсь, созависимы. Фракталами не занимаюсь но вот старый адаптированный на бейсик исходник из книги если уж надо. https://www.cyberforum.ru/post1480863.html без процедур. Судя по "папаротнику" идея также не твоя, так что не понимаю к чему это всё. Рекурсией ради рекурсии не занимаюсь, поиск по файловому дереву разворачивал в линейный вид, проблем не увидел, и не выпендрёжа ради. Как и любую рекурсию для себя разворачиваю ВСЕГДА в линейный итерационный вид, т.к. уровень контроля на любом шаге - выше.
0
|
||
|
|
||||||
| 28.06.2024, 07:52 | ||||||
|
если вася проснулся с головной болью, то надо опохмелиться и пойти на работу, иначе пойти на работу: более ясен для человека. Однако существуют алгоритмы, в которых такой принцип приведет к жуткому коду и где прямые переходу будут гораздо яснее и понятнее. В чем проблема? А в том, что конструкция: если условие то блок иначе блок имеет два безымянных блока. Всего два, значит два состояния, и нам не надо для понимания алгоритма запоминать их имена. Но если таких блоков будет под сотню, а существуют такие алгоритмы, без именования блоков будет каша, которую вы не разгребете, потому что терпения не хватит. А существуют алгоритмы с десятками состояний. Вот о чем я . Ну а вы пишите амебообрзный код типа: если холодно оденься, иначе разденься, я не против.. Добавлено через 2 минуты По поводу процедур и рекурсии. Некоторые языкине разделяют процедур от функций. Вот о чем я. А процедура не должна возвращать значение и соответственно не должна участвовать в выражениях. Процедура это просто блок кода, который может вызываться из разных мест, но не может иметь косвенной или прямой рекурсии, что более безопасно.
0
|
||||||
|
787 / 307 / 17
Регистрация: 21.01.2023
Сообщений: 529
|
|||||||||
| 28.06.2024, 09:09 | |||||||||
1. Получаем на входе координаты начала и вектор направления линии. Если вектор слишком короткий - ничего не рисуем (выход), а иначе... 2. Рисуем эту линию. 3. От конца нарисованной линии тем же методом рисуем следующую (продолжение ветки) немного короче и чуть-чуть повернув угол. 4. Так же от конца рисуем две линии, сильно повернув углы вправо и влево и значительно короче (начала боковых веток) А теперь глянь на код, ведь это как раз то, что я описал человеческим языком. Логика в чистом виде.
0
|
|||||||||
| 28.06.2024, 09:09 | |
|
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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 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 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|