Сценарий: во время программирования у вас внезапно возникает ностальгическое желание 80-х и сырных игр.
Требования: создайте программу с графическим интерфейсом (текст, вероятно, не будет работать) для игры Simon. Ввод может быть нажатием или нажатием клавиши. Вы должны разделить экран на 4 региона: желтый, синий, красный, зеленый. Когда игра начинается, загорается случайный цвет, и вы активируете его. Затем загораются два индикатора один за другим, и вам нужно активировать их по порядку и т. Д. Игра заканчивается, когда вы нажимаете не тот цвет.
Бонусы:
-100, если вы включаете звук (разные ноты играют при нажатии каждой области и когда игра показывает вам цвета)
-25 если вы включите счетчик очков.
Ответы:
Баш
318297281273268244240-125 = 115Это в первую очередь ответ на «Текст, вероятно, не будет работать»; следующий текст на основе Баш скрипт работает нормально в
Konsole
, иgnome-terminal
т.д. на моем Ubuntu 14.04 машине. Для создания областей цвета он устанавливает цвет фона текста. Фактически, добавление текста делает игру более доступной для дальтоников. Чтобы сделать игру еще более доступной, она читает символы, на которые игрок должен нажать (предполагается, чтоespeak
он установлен). Это также предполагает, что единственное соответствие файла/d*/ur*/
-/dev/urandom
. Чтобы цветовые области имели нетривиальный размер, вы, вероятно, захотите установить размер текста достаточно большим. Также, если вы хотите, чтобы области цвета были квадрантами, вы должны запустить его в терминале шириной в два символа.Для воспроизведения нажмите y, r, g или b в зависимости от ситуации.
Это решение содержит два непечатаемых символа ESC. Хотя эти символы ESC появляются в предварительном просмотре, они, похоже, удаляются после отправки, поэтому приведенный выше код является оберткой, которая генерирует и запускает игру в гольф
simon_golf.sh
.См. Также оригинальную версию без гольфа и чуть более воспроизводимую 256-байтовую версию .
Приведенные ниже снимки экрана показывают, когда горит желтый индикатор, а счет игрока равен 7. На приведенном ниже снимке экрана справа показано ненасыщенное изображение для имитации дальтонизма.
источник
Царапина, 1604 - 125 = 1479
Я здесь для удовольствия, а не для гольфа.
Редактировать: обновленный метод оценки, основанный на согласии сообщества .
Основная программа:
Индивидуальные спрайты:
Это спрайт с номером
0
. Другие спрайты имеют тот же сценарий, кроме номера.Играть с этим онлайн .
Код, используемый для подсчета байтов: (Использование фрагмента для скрытия кода)
Показать фрагмент кода
Примечание. Код, автоматически сгенерированный с помощью генератора блокнотных блоков , измененный как-то так, что генератор неправильно обрабатывает десятичные числа (трактует 0.3 как 0).
Скриншот:
Примечание: пожалуйста, не нажимайте две кнопки в течение 0,3 секунд.
источник
Mathematica, 409 - 125 = 284
источник
Windows PowerShell (CLI), 272 - 100 - 25 = 147
Я добавил новые строки здесь, чтобы избежать боковой прокрутки, но это работает как одна строка, поэтому количество символов без новых строк.
Скриншот:
Играть:
Комментарии:
источник
ZXBasic: 422 - 100 - 25 = 297
Это определенно считается ностальгическим побуждением для 80-х ...
ZXBasic использует комбинацию команд типа FreeBASIC и ZX Spectrum BASIC, чтобы разрешить циклы и повторы, которые затем преобразуются в формат TZX для загрузки в эмулятор Spectrum.
Эта версия меняет границу (хотя легенда на экране говорит, какую клавишу нажимать). Он играет те же ноты, что и оригинальная игра Саймона ( http://en.wikipedia.org/wiki/Simon_%28game%29 ).
источник
HTML5 и Javascript, 1118-100-25 = 993 байта
Слишком раздутая версия HTML + Js.
Воспроизводит звуки через API Web Audio .
Частоты нот должны быть такими же, как у Симона, цвета и расположение цветов.
Здесь есть онлайн-демонстрация: http://www.dantonag.it/miniSimon.html . Работает в браузерах, совместимых с Web Audio (по крайней мере, Chrome и Firefox, IE не поддерживает его, AFAIK).
Мой рекорд 15 (я довольно плох в этой игре). Что твое?
источник