Как стать автором
Обновить

Комментарии 32

в программах с применением ncurses можно переставлять в окне командной строки курсор, а также ставить на экране отдельные символы там, где угодно.

Можно подумать, без сторонней библиотеки нельзя в произвольном месте произвольный символ вывести.

Скорее всего, выросло поколение никогда не видевшее TurboVision.

ооо, вспомнил, gotoxy()

Можно же просто

printf("\033[%i;%iH%c", y, x, symbol);

Подозреваю, что под ДОСом (во времена TurboVision), для того, чтобы это заработало, необходим был драйвер ansi.sys, о назначении и даже существовании которого многие даже не догадывались.

Под DOS-ом я делал что-то типа:

xor bh,bh
mov ah,02h
mov dl,X
mov dh,y
int 10h

Для INT 10h никаких драйверов не требуется.

Под ДОС я просто писал в видеопамять начиная с сегмента $B800. Работало быстрее чем int10.

На Win11 что-то не работает.

Ошибся, это не работает до Win10.

TurboVision было отдельной библиотекой, к и ncurses. Выше же говорится, что символы можно лепить где попало и без сторонних библиотек.

Turbo Vision это окошки, кнопки и прочий UI в текстовом режиме. Для отображения символов в Turbo Pascal был встроенный модуль Crt. Или можно было самому писать в память по адресу B800:0000.

В современном Free Pascal для Linux, Windows и macOS также доступен Crt.

Всё так; но уточню (по памяти), что к Turbo Pascal выпускалась замечательная библиотека Turbo Professional (TP), и вот TurboVision TUI во многом от неё отталкивался (эх, сколько прогамм с ”uses TpCrt;” написал… давно это было, давно)

тетрис, реализованный на разных языках: https://github.com/kt97679/tetris с минимумом внешних зависимостей

Я согласен с автором, тетрис - вещь величайшая. Однако, на сегодня появились довольно интересные и совсем нетребовательные игры, которые вполне могли бы появиться не то что во времена тетриса, а ещё в 80-х. Например 2048. На экран каноничного BRICK GAME его не всунешь, но представив вместо цифр некие фигуры вполне можно было бы подобное создать. Также, огромное количество TOWER DEFENSE всех мастей и расцветок. Их можно было бы даже собрать на довольно простой логике ещё в советском союзе, просто этой игры ещё не существовало. Я б поиграл!

... не то что во времена тетриса, а ещё в 80-х

Как понять эту фразу, ведь тетрис как раз и появился в середине 80-х?

Речь наверное про тетрисы-устройства (Brick Game), а не оригинальную игру.

Блин, аж захотелось какие-нибудь гоночки прям в консоли в ASCII графике. Кто-то знает?

Гоночки я в своё время на МК-61 делал. Мигающими при работе программы символами. Для управления использовался переключатель градусы/грады/радианы, через cos(100)

Все сделал по инструкции:

$ ./main
unable to initialize SDL_mixer

попробуйет `make SDL=no`
тогда можно и без установки SDL

Предлагаю идею: тетрис на плагинах. Этакий WTF-Tris. По сути, от тетриса -- только стакан с регулируемыми габаритами и отображение статистики. Ну, можно ещё какие-нибудь режимы типа "stack-up". Остальное (включая фигурки) определяется конкретным плагином. Примеры плагинов:

-- Tetris: обычный тетрис/пентис
-- Wordtris: в кубиках отображаются буквы; удаляются не полные линии, а любые цепочки -- вертикальные, горизонтальные, диагональные, -- образующие слова
-- Huetris: кубики градиентные; удаляются цепочки, составляющие градиент (по типу игр "I love hue" на андроид) или имеющие одинаковые цвета
-- Numtris: в кубиках отображаются циры; удаляются цепочки последовательных цифр или одинаковых цифр (или по другим правилам)
-- Hardcoretris: для "больных ублюдков" :); комбинация совместимых плагинов, т.е. градиентные слова или цифры и т.п.

Смотря как реализовать, а то и О-hue-трис.

Потом надо ещё добавить:

  1. Плагин на лутбоксы для этого тетриса.

  2. Плагин на баттлепасс.

  3. Плагин на премиум аккаунты.

  4. Плагин на платные скины для фигур.

  5. Плагин для получения уровня, прокачки аккаунта и дерева талантов (например, талант, позволяющий выбрать следующую фигуру раз в 10 ходов и т. д.)

  6. Плагин для коллекций (всякие собираемые фигурки плюшевых мишек и прочее)

  7. Плагин для главной сюжетной линии, подаваемой через записки, голосовые записи и собираемые воспоминания, доступные для просмотра и прослушивания в дневнике.

  8. Плагин для видеоматериалов о создании игры.

  9. Плагин для просмотра концепт-артов.

  10. Плагин для "Новая игра+".

  11. Плагин для "Новая игра++".

  12. Плагин, добавляющий квесты сюжетной линии.

  13. Плагин, добавляющий в тетрис второстепенные квесты.

  14. Плагин, добавляющий ежедневные квесты.

  15. Плагин, добавляющий колесо фортуны, которое можно бесплатно крутить раз в день.

  16. Плагин на энергию, которая тратится на выкладывание каждой фигуры.

Там ещё плагин, добавляющий ачивки надо не забыть. Какая же современная игра без системы достижений

Вас ждёт позиция ведущего геймдизайнера EA

эх, как же так

картинка в статье и в репозитории отличается((

А с каких пор на ncurses можно GUI слепить? Или я что-то пропустил?

Нет, нельзя — правильнее было бы в статье писать TUI вместо GUI.

На Free Pascal было бы попроще.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий