Классические компьютерные игры из книги Дэвида Ала перенесли с BASIC на C

Классические компьютерные игры из книги Дэвида Ала перенесли с BASIC на C

Репозиторий содержит портированные на C игры из классических сборников David Ahl's Basic Computer Games, впервые опубликованных журналом Creative Computing. Все игры изначально писали на GW-BASIC, теперь они переведены на C и компилируются на множестве платформ: Linux (GCC), Windows 11 (MSVC), FreeDOS (Open Watcom). В исходных .c файлах сохранены комментарии с оригинальным кодом на BASIC для справки.

Для каждой платформы предусмотрены отдельные скрипты сборки (build_lx.sh для Linux, build_win.bat для Windows, build_fd.bat для FreeDOS). Автор использовал инструменты автоматизации для начального преобразования, но вручную отлаживал код. Проект открыт для дальнейшего развития под лицензией MIT и приглашает других разработчиков к участию.

Ключевые факты

  • 70+ классических игр из серии 1970х годов успешно переведены на современный C
  • Кроссплатформенная сборка: Linux (GCC), Windows (MSVC) и FreeDOS (Open Watcom) с готовыми скриптами
  • Исходный BASIC-код сохранён как в отдельных файлах, так и в комментариях для изучения
  • Проект использует автоматизацию для перевода, но требует ручной отладки и доработки
  • Открыт для форков и дальнейшего развития под MIT лицензией

Почему это важно

Классические игры из Basic Computer Games имеют историческое значение в компьютерном образовании. Они используются как учебный материал для изучения алгоритмов и логики программирования. Перевод на современный C делает эти игры доступными на актуальных платформах и демонстрирует практический путь миграции кода из устаревших языков.

Кому это важно

Проект интересен образовательным учреждениям, изучающим историю вычислительной техники. Разработчикам будут полезны примеры портирования кода между языками и работы с различными компиляторами (GCC, MSVC, Open Watcom). Энтузиастам ретрокомпьютеров проект позволяет запускать классические игры на современном оборудовании и даже в FreeDOS.

Как это применить

Репозиторий предоставляет готовые скрипты сборки для каждой платформы. Разработчик может клонировать проект, выбрать нужный скрипт (build_lx.sh, build_win.bat или build_fd.bat) и скомпилировать игры на своей системе. Исходный код в комментариях помогает разобраться в логике реализации и адаптировать игры под собственные нужды.

Можно ли доверять

Проект создан разработчиком с инженерным подходом: использована автоматизация для преобразования кода, затем проведена ручная отладка. Код компилируется на трёх разных платформах с разными компиляторами, что свидетельствует о проверке совместимости. Автор честно указывает, что работа не завершена и приглашает других разработчиков продолжить проект.

Риски и подводные камни

Проект ещё не полностью готов. Разработчик явно заявляет, что доделает его в свободное время или отдаст на доработку сообществу. Некоторые игры могут требовать дополнительной отладки или адаптации. При работе на FreeDOS потребуются навыки работы с устаревшей платформой и её инструментами (Open Watcom).

«Yes, I used Google Anti-Gravity to convert the programs from GW-BASIC to 'C', but what a better learning tool than to debug a program?»

— автор проекта на GitHub