|
Asm/C++/Delphi/Py/PHP/VBA
|
|
Разминка для спецов №1 (512b game). Предлагаю развлечься!02.12.2016, 00:01. Показов 7559. Ответов 19
Метки asm 512b game fun, c, coding, fun, g, game, оптимизация кода, развлечение, разминка, трюки (Все метки)
Друзья спецы. Кто хочет немного отвлечься от помощи студентам и проявить спортивный программистский интерес?
Предлагаю замутить... (хотел сначала написать "конкурс", но призов нет и жюри тоже)... в общем, своеобразную коллективную развлекуху ![]() Назовём это "Asm 512b game fun" ![]() Задача: написать на ассемблере игру на любую тему. Условия:
3
|
|
| 02.12.2016, 00:01 | |
|
Ответы с готовыми решениями:
19
Разминка для программиста, Разминка Для Ума Разминка для ума |
|
Asm/C++/Delphi/Py/PHP/VBA
|
||
| 02.12.2016, 09:34 [ТС] | ||
![]() Хотел сначала 256b написать, но подумал, что игры, скорее всего, будут не фонтан. Хотя, Farbrausch и не такое вытворяли, см. аттач (не игра, но всё же). В общем, на первый раз нормально
0
|
||
|
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,940
|
|
| 02.12.2016, 12:08 | |
|
0
|
|
|
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,940
|
|
| 02.12.2016, 12:34 | |
|
У меня тоже не игра, но зато 74 байта.
2
|
|
|
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
| 03.12.2016, 03:20 | |
|
Jin X, давно как, бы писал самолетики, нужно порытся в архивах.
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 05.12.2016, 17:18 | |
|
Тут два требования черезчур строгими кажутся. Писать только сейчас - ну так если есть чем заняться, то не до того уже. И 512 байт, ну так данные программы, например лабиринты, могут сожрать значительно больше. Если бы было ограничение именно на код в 512 байт, то было бы логичнее, а данных сколько угодно.
Вот нашел в старом архиве свой старый Сокобан. Написан на ассемблере как COM-файл, но потом сжат LzExe и от этого превратился в EXE. Кода в нем 0x218 байт. Почти вписывается. И можно было бы вполне вписать, заменив вставленные в него копирайты в 3 строки на краткое (C)Ethereal и еще что сократить/ужать (например убрать возможность отката ошибочного хода), да исходник-то не сохранился. Вернее он на MFM-винте, да только тот некуда подключить. А вот данных в программе в виде лабиринтов в несколько килобайт и еще рекордных результатов байт на 400. В программе фишка. Она сжата с помощью LzExe, но лучшие результаты сохраняются в сам EXE-файл в его конце. Там уже какие-то сохранены. У результатов главный приоритет - минимум сдвигов блоков и вторичный - минимум ходов человечка. После запуска программы с помощью стрелок вправо-влево выбирается лабиринт, потом пробелом переходим в выбранный лабиринт, пробелом из него-же выходим. Esc - выход из программы. В процессе игры клавишей BackSpace (забой) можно откатить последний сдвиг блока, если он был сделан по ошибке, но только один. А сама игра идет стрелками. Когда лабиринт разобран, человечек пропадает, тут нажать пробел, получить поздравления и еще раз пробел.
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 05.12.2016, 17:35 | |
|
Смысл игры - затолкать человечком рубины (блоки) на квадратные поля. Когда рубин загнан на такое поле он выглядит уже как звездочка.
0
|
|
|
6 / 6 / 0
Регистрация: 24.09.2016
Сообщений: 59
|
||
| 05.12.2016, 20:08 | ||
|
Хотя может быть что-то и попробую, когда время появиться.
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||
| 05.12.2016, 22:59 [ТС] | |||
![]() Это типа демосцены 512b intro, только в формате игры. Про "писать только сейчас" – может быть и чересчур. Просто если уже было написано, то какой тут спортивный интерес? ![]() Хотя, если уже что-то есть, выкладывай, всё равно интересно ![]() Добавлено через 1 минуту
0
|
|||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||
| 05.12.2016, 23:34 | |||
|
Добавлено через 3 минуты Добавлено через 7 минут Хотя да, питона можно запихать. Или стрелялку по пролетающей слева-направо хреновине.
0
|
|||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||
| 06.12.2016, 00:40 [ТС] | |||
![]() Добавлено через 1 минуту Но в тексте, согласен, попроще будет что-то сделать
0
|
|||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||
| 06.12.2016, 01:02 | ||
|
Добавлено через 4 минуты З.Ы. Так тут игры в 512 байт пока никто не выложил. Или меньше 512 байт, но не игра или игра, но больше.
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 07.12.2016, 01:19 [ТС] | |
|
Почти сделал за сегодняшний вечер xonix! Всё как положено: с закраской и врагами
![]() Минимальная рабочая конфигурация 398 байт (с 3 врагами, с одним - 386 байт). Максимальная (с полной инициализацией регистров, 3 врагами, со звуком, доп. клавиатурными удобствами, миганием при врезании, подсчётом очков... правда, пока без вывода на экран ) - 510 байт.В общем, осталось сделать вывод счёта на экран (и оптимизировать под 512 байт) и можно выкладывать сюда ![]() p.s. Заливку делал через рекурсию - частенько происходило переполнение стека, пришлось делать оптимизацию стека (1 байт возврата вместо 2-х). Так что, может, ещё алгоритм заливки изменю - почитать надо...
0
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 07.12.2016, 22:52 [ТС] | ||||||
|
Добил-таки я этот xonix!
![]() Получилось несколько вариантов (очень замороченно), прикрепляю всё в архиве, вот readme.txt:
1
|
||||||
|
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
|
|
| 04.01.2022, 11:16 | |
|
Прикольная штука вышла)
пока не капал, так понимаю угол отскока примитивно
0
|
|
|
183 / 121 / 26
Регистрация: 18.05.2015
Сообщений: 509
|
|
| 05.01.2022, 20:50 | |
|
Jin X
Вспомнил школу, комп БК-0010, в конце урока информатики давали поиграть, как раз была такая игруха, правда черно-белая )
1
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 31.08.2022, 13:08 [ТС] | |
|
Кстати, я забыл написать, что всё-таки сделал 256-байтовый Xonix (ещё полгода назад)
![]() Исходники: https://www.pouet.net/prod.php?which=90981
1
|
|
| 31.08.2022, 13:08 | |
|
Помогаю со студенческими работами здесь
20
Разминка для мозга
Разминка для мозгов Разминка для профессианалов разминка для мозга Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|