Этот проект представляет собой игру, в которой герой исследует подземелье, сражается с монстрами и пытается выбраться на поверхность через люк, прежде чем его затопит аномальная река.
Подземелье состоит из множества локаций и монстров. Каждая локация требует определенного времени для перехода, а каждый монстр требует времени для уничтожения и приносит опыт. Цель игры - за отведенное время найти люк ("Hatch") и выбраться на поверхность, набрав при этом не менее 280 очков опыта.
Карта подземелья представлена в формате JSON и выглядит следующим образом:
- Локации:
"Location_<N>_tm<T>"
, гдеN
- номер локации,T
- время в секундах для перехода в эту локацию. - Монстры:
"Mob_exp<K>_tm<M>"
, гдеK
- опыт, который получает игрок за убийство монстра,M
- время в секундах для убийства монстра.
- Начальное время:
123456.0987654321
секунд. - Требуемый опыт для открытия люка:
280
очков. - Локации можно посетить только один раз, движения возможны только вперед.
- Игра начинается с двух локаций и одного монстра в начальной локации.
-
Скачайте или клонируйте репозиторий:
git clone https://github.com/andreystashev/python-projects.git cd json_game
-
Запустите игру:
python main.py
Вы находитесь в Location_0_tm0
У вас 0 опыта и осталось 123456.0987654321 секунд до наводнения
Прошло времени: 00:00
Внутри вы видите:
— Вход в локацию: Location_1_tm1040
— Вход в локацию: Location_2_tm123456
Выберите действие:
1. Атаковать монстра
2. Перейти в другую локацию
3. Сдаться и выйти из игры
Вы выбрали переход в локацию Location_2_tm1234567890
Вы находитесь в Location_2_tm1234567890
У вас 0 опыта и осталось 0.0987654321 секунд до наводнения
Прошло времени: 20:00
Внутри вы видите:
— Монстра Mob_exp10_tm10
— Вход в локацию: Location_3_tm55500
— Вход в локацию: Location_4_tm66600
Выберите действие:
1. Атаковать монстра
2. Перейти в другую локацию
3. Сдаться и выйти из игры
Вы выбрали сражаться с монстром
Вы находитесь в Location_2_tm0
У вас 10 опыта и осталось -9.9012345679 секунд до наводнения
Вы не успели открыть люк!!! НАВОДНЕНИЕ!!! Алярм!
У вас темнеет в глазах... прощай, принцесса...
Но что это?! Вы воскресли у входа в пещеру... Не зря матушка дала вам оберег :)
Ну, на этот-то раз у вас все получится! Трепещите, монстры!
Вы осторожно входите в пещеру...
Вы находитесь в Location_0_tm0
У вас 0 опыта и осталось 123456.0987654321 секунд до наводнения
Прошло уже 0:00:00
Внутри вы видите:
...
...
Каждое действие игрока записывается в файл dungeon.csv
с указанием текущей локации, опыта и времени. Формат CSV файла:
current_location | current_experience | current_date |
---|---|---|
Location_0_tm0 | 0 | 2023-06-21 |