Данный топик про игры в юниксовом терминале. Здесь я буду на регулярной основе (в идеале) описывать в отдельном комментарии какую-нибудь игру. В стартер-посте будут ссылки на эти комментарии. Обзор будет не очень подготовленным, поэтому не ждите литературных изысков. Но тем не менее те, кто любит подобное красноглазие, смогут познакомиться с играми и выбрать на свой вкус понравившуюся вещицу. Данная тема создана по аналогии с соседним топиком про стимовские игры.
Приглашаются красноглазые задротики, которые любят тупить в консольку между сессиями компиляния очередного ядра линукса. Можете подписываться на темку, ставить лайк, прожимать колокольчик или что тут у вас принято.
Теги для поисковых ботов (жрите мои любимые ботики): ascii games, terminal games, ncurses games, tty games, console games, cli games, tui games, text-based games, command line games, игры в терминале, игры в консоле, игры для командной строки.
Критерии отбора:
Язык программирования: Си(в приоритете), си++. Остальные пока не рассматриваются. Потенциальные в будущем - ада, фортран, бейсик, паскаль. Жирный пайтон идет лесом, хипстерские гоу, раст и иже с ними туда же.
Открытые исходники с лицензиями, позволяющими модификацию, не препятствующие распространению. Свободные и одобренные дядюшкой Столлманом в приоритете.
Зависимости. Без sdl и других графических либ. Опционально пускай будет, например, для музыки. Но не навязывается. NCurses и подобные библиотеки для работы с терминалом всяко одобряются и котируются. Не приветствуются в зависимостях всякие гугловские юнит тесты и другие чёрт ногу сломит либы. Для маленьких терминальных игр эта мишура не нужна.
Пришло время вспомнить, как слова в предложения складываются и чтобы еще со смыслом получалось. В общем, написание документации - процесс крайне утомительный, если в этом нет опыта. А у меня его не было и нет :)
На экране, собственно, сам процесс. Гитбуку отдельное спасибо за «community» тариф, который открывает весь функционал платного сервиса, но за бесплатно. Возможно не лучший сервис, но для моих нужд пришелся весьма ко двору.
В остальном - urxvt с tmux’ом и остальными neovim’ами vifm’ами. К слову, отдельная благодарность xaizek за vifm. Это лучший файловый менеджер по моему опыту.
В левом верхнем - cava. Просто красиво под музыку «столбики» прыгают. Должен отметить, только в urxvt нормально работает - очень быстро отрисовывает, цпу не ест. Тот же alacritty от cava с ума сходит - течет по памяти, цпу как не в себя.
До этого рабочим терминалом был gnome-terminal. Он вполне себе справляется со всеми моими задачами. На urxvt перешел недавно, как только разобрался, почему не рисовал нормально некоторые utf-символы (оказалось, нужно было просто правильно шрифт указать) и из желания некоего однообразия.
Окружение: NixOS (unstable channel), Gnome 42.3 (полный дефолт кроме обоины и шрифта - везде использую Iosevka)
Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.
Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).
Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.
Вопрос следующий: существует ли нормальная доступная бесплатная документация по которой можно изучать C, C++? Официальная документация по другим языкам была бы тоже интересна.
Update
C, C++ Online-ресурсы и учебные пособия для начинающих:
free-programming-books - ресурс содержащий множество книг и статей по программированию, в том числе по C и C++ (там же можно найти ссылку на распространяемую бесплатно автором html-версию книги Eckel B. «Thinking in C++»)
Цикл лекций "Modern Fortran Programming for Chemists and Physicists" (2014 г., отдельные презентации в виде pdf-файлов) от Pekka Manninen (Ph.D., Docent, личная страничка на сайте химического факультета Хельсинкского университета)
Introduction to Modern Fortran - курс лекций Computing Services Department, the University of Liverpool. Насколько я понял, разрешено копировать для самостоятельного обучения ("... its presence here does NOT constitute permission to copy it for any reason or use other than attending the course or using it for personal study").
Деревенец О.В. Песни о Паскале. 2016 (сайт автора) - помимо книги в pdf на сайте доступны сборник задач «А слабо?», ответы к задачам сборника «А слабо?», исходные файлы примеров, задачник «Загогулины для начинающего программиста».
Делать дома нечего, решил попробовать эти ваши тайлинги на своем ноуте.
Не очень это просто, особенно когда не умеешь кодить всякие css и изучаешь все методом тыка и «обратного инжиниринга».
В целом пока нравится, так привык за две недели, что Gnome кажется каким-то неудобным.
На скриншотах:
Установил Artix, с нувом работает, но кулер видеокарты крутит как сумасшедший, хочу чтобы не крутил, как в Gentoo с драйвером NVidia. Карта GeForce GTX 550 Ti
Сделал
[code]pacman -S nvidia-390xx-lts
nvidia-xconfig[/code]
заблэклистил нуво, перезагрузил - X не стартует. Вручную тоже не хочет (startx/exec startkdm).
xorg.log сообщает, что
[code]
[ 22.840] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[ 22.840] (EE) NVIDIA: system’s kernel log for additional error messages and
[ 22.840] (EE) NVIDIA: consult the NVIDIA README for details.
[ 22.840] (EE) No devices detected.
[ 22.840] (EE)
Fatal server error:
[ 22.840] (EE) no screens found(EE)
[ 22.841] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 22.841] (EE) Please also check the log file at «/var/log/Xorg.0.log» for additional information.
[ 22.841] (EE)
[ 22.842] (EE) Server terminated with error (1). Closing log file.
[/code]
Что не так с «NVIDIA kernel module» и где этот «system’s kernel log»?
Подскажите пожалуйста, или ткните носом в ман, который я несколько раз уже прочёл, или в гугл где предлагают какие-то слишком сложные и избыточные решения
До установки yay я это вполне просто делал, в плане собрать с помощью makepkg пакет, копировать его на другую машину и установить с помощью pacman. А в yay это нельзя сделать как-нибудь одноклеточно? Заранее прошу прощения, если проглядел очевидное на самом видном месте, но я правда читал мануал.
Чтобы его вообще взяли хоть куда, код писать на Python? Если вообще в програмировании ноль знаний и опыта, что надо знать по минимуму. Есть же такие люди, которые не имея ни какого отношения к программированию, становятся Python-программистами.
Понятно, что все базовые вещи типа ветвлений, циклов, подпрограмм. А что ещё? Как хорошо надо знать ООП? Нужно ли уметь реализовать сортировку (ведь для тех же list есть уже метод sort)? Оценка сложности алгоритма (в терминах O-нотации) уже оверкилл для начинающего, да? Что ещё?