Skip to content

csit-sgu/mit-game-2025_1

Repository files navigation

Задание mit-game

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

Структура проекта

  • Директория Libraries: содержит библиотеки, необходимые для компилирования проекта. Заглядывать в эту папку необязательно.
  • Директория Assets: содержит ресурсы игры вроде звуков, текстур и текстовых файлов с уровнями.
  • Файл CMakeLists.txt: файл, описывающий проект для генерации решений для нативной сборки.
  • Файл maker.sh: скрипт, упрощающий сборку проекта на UNIX-системах.
  • Файл winregen.bat: скрипт, содержащий команду, которая генерирует .sln решение на Windows. Можно запускать из проводника.
  • Файл main.срp: содержит основной цикл игры, в котором вызываются реализуемые вами функции.
  • Файлы internal.hpp/internal.cpp: содержат основные функции и классы, которые необходимы для реализации проекта.
  • Файлы user.hpp/user.cpp: содержат определения функций, которые вам предстоит реализовать.

Как собрать и запустить проект

Windows

Для генерация sln-файла можно запустить winregen.bat прямо из проводника двойным кликом (или из cmd.exe). Желательно использовать именно эти способы, так как при запуске из Git Bash возможно, что CMake начнёт генерировать проект на Make с использованием Linux-библиотек. Вариант с Make мы не поддерживаем и помогать с ним не будем.

После выполнения скрипта создастся директория Build в корне проекта, в которой лежит файл решения mit-game.sln. Его можно открыть в Visual Studio и начать работать с проектом.

Linux/Mac

В первую очередь необходимо установить зависимости для компиляции проекта.

  • Ubuntu/Debian:
    sudo apt-get install cmake make g++ libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev libwayland-dev libxkbcommon-dev libgtk-3-dev
    
  • ALT Linux:
    apt-get install cmake make gcc-c++ wayland-devel libwayland-client-devel libwayland-cursor-devel libwayland-egl-devel libxkbcommon-devel libX11-devel libXrandr-devel libXinerama-devel libXcursor-devel libXi-devel libgtk+3-devel libGL-devel
    
  • На других дистрибутивах Linux необходимо установить аналогичные пакеты. Если у вас не получается собрать проект, можете обратиться к преподавателям. Обратите внимание на то, каким образом пакетируются библиотеки на вашем дистрибутиве: -dev на debian-based, -devel на rpm-based. На дистрибутивах вроде Arch не принято создавать отдельные devel пакеты, потому достаточно установить просто библиотеку.
  • На macOS используются её нативные системные библиотеки, поэтому ничего не нужно доустанавливать (но есть вероятность, что хотя бы раз нужно было запустить XCode на системе).

Можно использовать скрипт maker.sh:

./maker.sh build

После этого появится директория Build со всеми файлами проекта и собранным исполняемым файлом. Игру можно запустить командой

./Build/mit-game

Важно запускать программу именно из корня проекта, так как иначе все ресурсы (текстуры, звуки и уровень) не смогут прогрузиться.

При разработке можно пользоваться одной командой:

./maker.sh build && ./Build/mit-game

Что делать?

Зайти во вкладку Projects и на привязанной доске выбрать себе задачу. Внутри задачи необходимо себя указать в поле Assignees. Когда начнёте выполнять задачу, необходимо переместить её из колонки To Do в колонку In Progress.

После того, как закончите работу над задачей необходимо создать Pull Request из своей ветки в master. В качестве Reviewers указываете @vasthecat, @mchernigin, @nrydanov и начинаете ждать проверку кода.

Как только ваш Pull Request будет принят, задача зачтена. В качестве ответа на course.sgu.ru нужно указать ссылку на данный Pull Reqest.

Как делать?

Для необходимых функций, написанных нами, мы написали комментарии с описанием того, что функция должна делать. Если в вашем задании используется какая-то функция, которая должна быть реализована другим человеком, вы всё равно можете прочитать задание, чтобы понять как использовать эту функцию.

Если вам необходимо использовать функцию из графической библиотеки Raylib, то проще всего будет прочитать описания к ним здесь:

Некоторые вещи можно найти прямо в исходниках библиотеки:

Если всё ещё есть какие-то проблемы или вопросы, пишите нам в Telegram.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •