Skip to content

OPSphystech420/Winter-Games

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Winter Games

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


Название проекта :
    Winter Games
Автор проекта :
    Project-MGS 
Год публикации :
    2022 

Перед установкой всех файлов, пользователю надо ознакомится с лицензией GNU Affero General Public License v3

Описание проекта :

Winter Games представляет из себя игровое меню с развлекательной целью.

  • Winter Games был реализован с помощь набора модулей Pygame.

  • Чтобы ознакомится с файлами и кодом проекта следует пройти в раздел src -> source, main.py -> PenguinJump, SnowRide, game.py, menu.py

  • Файл WinterGamesSetup.exe преднозначен для скачивания и поддерживает ОС Windows. (данный файл был реализован с помощью библиотеки Pyinstaller и инсталера InnoSettupCompiler)

    Функционал Меню :

    После запуска WinterGames откроется меню в котором пользователей сможет ознакомится со всеми разделами. Данное меню имеет три раздела --> PenguinJump, SnowRide, Guide

    1. В разделе PenguinJump реализована первая игра данного проекта.
    2. В разделе SnowRide реализована вторая игра данного проекта.
    3. В разделе Guide можно ознакомится с описанием игр и контролями.

    Контроли Меню :

    1. В меню следует использовать ArrowKeys (UP, DOWN) для перемещение небольшого курсора по категориям.
    2. Чтобы выбрать раздел, используйте Enter.
    3. Пользователь может нажать ESC чтобы завершить меню или пренудительно закрыть окно.
    4. В разделе Guide после ознакомления нажмите Enter, чтобы вернутся. После выбора раздела игры, пользователей сможет завершить WinterGames только вернувшись обратно в меню из игрового (ESC для PenguinJump, D для SnowRide)

    Реализация кода на Python :

    Само меню состоит из трех файлов -> main.py, source/game.py, source/menu.py

    1. В main.py запускается меню.
    2. В source/menu.py реализованы контроли и визуал (.ttf для текста взят из SnowRide) меню на классах, а также раздел Guide.
    3. В source/game.py реализован функционал контролей (запуск/завершение).

    В файлах PenguinJump и SnowRide соответственно находятся все необходимые файлы для работы игр.

src/source/PenguinJump -> game.py, main.py, Sprites.py, settings.py, highscore.txt, Sprites, font, sound :

  • игра запускается через main.py;
  • game.py - реализована сама игра со всем своим функционалом через классы ;
  • Sprites.py - содержутся классы для визуализации меню с помощью "Sprites (содержутся файлы .xml для преобразования .png), font, sound" ;
  • settings.py - хронятся постоянные занчения ;
  • highscore.txt - сохраняется рекорд.

src/source/SnowRide -> game.py, data -> img, font, sfx, scripts -> constants.py, draw.py, highscores.py, scores.dat, spawners.py, sprites.py :

  • запуск через game.py, который реализован на функциях. После def snowrider запускается def main в котором соедржится игра;
  • data/scripts/constants.py - хранятся постоянные значения ;
  • data/scripts/draw.py - визуализация меню ;
  • data/scripts/highscores.py - сохраняет данные о рекорде в scores.dat ;
  • data/scripts/spawners.py - появление .png, которые образуют ловушки в игре ;
  • data/scripts/sprites.py - визуализация игры.

Арт был создан с помощью TexturePacker. Звуки и музыка были созданы в BeepBox, Bfxr. Музыка в SnowRide - Mountain Trials by Joshua McLean.

Описание игр :

PenguinJump

Цель игры и функционал:  
  После запуска раздела откроется новое окно, появится экран загрузки, который загружает все необходимые файлы.
  Далее откроется еще одно небольшое меню, в котором можно выбрать раздел Start или Options.

  Цель игры прыгать по платформам и забираться как можно выше. Чтобы выжить, можно прыгать
  на животных и ловить случайно появляющиеся воздушный шар который поднимет выше, 
  также можно прыгать за границу экрана и перемещаться в противоположную часть.
  (с повышением HS увеличивается шанс не найти воздушный шар)
  В результаты проигрыша, появится окошко в котором можно выбрать раздел вернутся в игрвоое меню или начать заново.


Контроли :
  1. Для перемещения по разделам и выбора раздела следует использовать кнопки на клавиатуре W S и Enter.
  2. Пользователь может поменять расскладку WASD на ArrowKeys в разделе Options.
  3. Также в разделе Options можно изменить настройки звука, используйте A D чтобы выбрать '-' или '+'.
  4. Используйте Backspace чтобы вернутся обратно из Options.
  5. Используйте ESC чтобы вернутся в меню.
  6. В разделе Start используйте A D чтобы перемещаться, а также зажатие Space чтобы прыгать.
  7. Можно поставить игру на паузу с помощью Enter.
  8. Можно сделать полный экран с помощью F5.
    (ОН РЕАЛИЗОВАН ТОЛЬКО ДЛЯ ЭТОЙ ИГРЫ)

SnowRide

Цель игры и функционал:  
  После запуска раздела откроется окно, появится экран загрузки, который загружает все необходимые файлы.
  Далее откроется еще одно небольшое меню, в котором можно выбрать Start [A] или Exit [D] (обратно в меню).

  SnowRide — это сайд-скроллер, в котором вы должны уворачиваться от препятствий и
  стараться выжить как можно дольше. Месторасположение игры - горы, где
  на вас обрушиваются лавина, разбрасывая обломки и создаются тектонические разломы. 
  Уварачиваясь от препядствий, можно проезжать вблизи с ним и зарабатывать дополнительные +8 очков.
  В результаты проигрыша, появится окошко в котором можно начать заново - [D] или выйти в игровое меню - [A].

Контроли :
  1. Для того чтобы начать игру нажмите A, выйти из игры D.
  2. В самой игре можно перемещаться влево - A или вправо - D.
  3. В игре SnowRide отсутвует функция паузы.

About

Detailed implementation of 2D retro games made with Pygame

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages