Skip to content

Commit 715036c

Browse files
committed
Рефакторинг, новые инструменты автоматизации
1 parent 25b29fd commit 715036c

14 files changed

+770
-173
lines changed

CHANGELOG.md

+14-2
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,25 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.2.1]
9+
10+
## Изменено
11+
12+
- Перенесены некоторые данные в файлы data/
13+
- Обработка параметров запуска перенесена в `__main__.py`
14+
15+
## Добавлено
16+
17+
- Добавлены инструменты сборки, позволяющие автоматизировать процесс установки версии
18+
- Теперь black являются частью зависимостей
19+
820
## [1.2.0]
921

10-
## Исправлено
22+
### Исправлено
1123

1224
- Исправлена ошибка, не дающая сохраняться
1325

14-
## Добавления
26+
### Добавления
1527

1628
- Добавлена возможность изменить цветовую тему
1729

Makefile

+22-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
1+
VERSION ?= 1.0.0
2+
REPO_URL = https://github.com/kotazzz/krpg
3+
14
build:
2-
python build_hashes.py
5+
python tools.py version $(VERSION)
6+
black .
7+
python tools.py hashes
8+
python tools.py version --show
9+
10+
release:
11+
git commit -am "Release version $(VERSION)"
12+
git tag -a v$(VERSION) -m "$(VERSION)"
13+
14+
changelog:
15+
head -n 7 CHANGELOG.md > TEMP_CHANGELOG.md
16+
echo "## [$(VERSION)] - $(shell date +%Y-%m-%d)" >> TEMP_CHANGELOG.md
17+
echo "" >> TEMP_CHANGELOG.md
18+
echo "[$(VERSION)]: $(REPO_URL)/compare/$(shell git describe --abbrev=0 --tags `git rev-list --tags --skip=0 --max-count=1`)...$(VERSION)" >> TEMP_CHANGELOG.md
19+
echo "" >> TEMP_CHANGELOG.md
20+
tail -n +10 CHANGELOG.md >> TEMP_CHANGELOG.md
21+
mv TEMP_CHANGELOG.md CHANGELOG.md
322

423
push:
5-
git push
24+
git push origin master --tags
25+

bin/README.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Установщик Python для игры
2+
3+
Эта папка содержит установщик Python, необходимый для запуска игры. Установщик представляет собой SFX архив 7z, который содержит портативную версию Python и предустановленные библиотеки.
4+
5+
## Инструкции по установке
6+
7+
1. Загрузите архив `install.exe` из папки ссылка на папку.
8+
1. Запустите `update.bat`, чтобы установить или обновить файлы.
9+
1. После установки запустите игру, используя `run.bat`.
10+
1. В случае повреждения файлов или необходимости обновления, также можно использовать `update.bat`.
11+
12+
## Системные требования
13+
14+
- Операционная система Windows 10 или новее
15+
- Доступ к интернету для загрузки дополнительных файлов (при первом обновлении)
16+
17+
## Содержимое
18+
19+
- Python
20+
- Предустановленные библиотеки: `requests`, `urllib3`, `msgpack`, `prompt_toolkit`, `rich`
21+
- Скрипты для установки и обновления

build_hashes.py

-16
This file was deleted.

hashes.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
2-
"krpg/data/themes.py": 293141722,
2+
"krpg/data/info.py": 1063757521,
3+
"krpg/data/splashes.py": 3002711283,
4+
"krpg/data/themes.py": 356794350,
35
"krpg/actions.py": 3733885510,
46
"krpg/attributes.py": 2073086704,
57
"krpg/battle.py": 3668888552,
@@ -12,18 +14,18 @@
1214
"krpg/entity.py": 3897723985,
1315
"krpg/events.py": 4171029130,
1416
"krpg/executer.py": 503883975,
15-
"krpg/game.py": 3836738540,
17+
"krpg/game.py": 3569937235,
1618
"krpg/inventory.py": 595626846,
1719
"krpg/npc.py": 3593265216,
1820
"krpg/player.py": 2976961875,
1921
"krpg/presenter.py": 2207580499,
2022
"krpg/quests.py": 2420092156,
2123
"krpg/random.py": 3197041407,
2224
"krpg/scenario.py": 1170049007,
23-
"krpg/settings.py": 507230405,
25+
"krpg/settings.py": 696084081,
2426
"krpg/stats.py": 20367474,
2527
"krpg/world.py": 2615255789,
26-
"krpg/__main__.py": 4049967376,
28+
"krpg/__main__.py": 4101783493,
2729
"scenario.krpg": 2386517687,
2830
"updater.py": 1004320952
2931
}

krpg/__main__.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
1+
import argparse
12
from krpg.game import Game
23

34
if __name__ == "__main__":
4-
game = Game()
5+
parser = argparse.ArgumentParser(
6+
prog="KRPG", description="Консольная рпг игра", epilog="Ы :)"
7+
)
8+
parser.add_argument(
9+
"-d", "--debug", action="store_true"
10+
) # option that takes a value
11+
parser.add_argument("-v", "--version", action="version", version=__version__)
12+
13+
args = parser.parse_args()
14+
game = Game(args.debug)

krpg/data/info.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
__version__ = "1.2.0"
2+
TIMESHIFT = 1667250000
3+
BRAND_COLORS = [
4+
"[bold magenta]",
5+
"[bold red]",
6+
"[bold blue]",
7+
"[bold yellow]",
8+
"[bold green]",
9+
]

krpg/data/splashes.py

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
SPLASHES = [
2+
"Кто придумал эту игру?",
3+
"Да, это игра.",
4+
"Мне нравится эта игра.",
5+
"Ну, это, конечно, игра.",
6+
"Это игра.",
7+
"Я думаю, это игра.",
8+
"О, это игра!",
9+
"Это игра? Да, это игра!",
10+
"Привет, мир!",
11+
"rm -rf / --no-preserve-root",
12+
"Как тебя зовут?",
13+
"Как дела?",
14+
"Как тебе игра?",
15+
"Ой, это игра!",
16+
"UNO reverse card",
17+
"UNO draw 4 card",
18+
"UNO wild card",
19+
"UNEXPECTED TOKEN",
20+
"ERROR 404",
21+
"ERROR 500",
22+
"Удаление системных файлов...",
23+
"Встречай орду гоблинов!",
24+
"Ты настолько сильный, что медведи даже не смеют драться с тобой!",
25+
"Новый день, новые приключения!",
26+
"Кажется, я видел дракона в той пещере...",
27+
"Простите, я только наблюдаю за битвой.",
28+
"Думаешь, ты можешь победить меня словами? Попробуй!",
29+
"Что-то мне говорит, что ты сейчас идешь на смерть...",
30+
"Не считай, что я просто стена.",
31+
"Кто-то раньше сделал твою задачу. Но это был не ты.",
32+
"Ой! Кажется, я кое-кого разозлил...",
33+
"Осторожно, здесь много ловушек!",
34+
"Внимание, враги на горизонте!",
35+
"Ух, какой приятный запах эльфийской магии!",
36+
"Кто-то меня вызвал? О, нет. Это просто порыв ветра.",
37+
"Твоя мама говорит, что ты воин, но ты скорее похож на мага.",
38+
"Когда-то я был королем гномов. Но это было давно.",
39+
"Вы любите приключения? Я тоже люблю приключения!",
40+
"Не знаю, что ты ищешь, но кажется, оно не там, где вы думаете.",
41+
"Если бы у меня были руки, я бы помог вам открыть эту дверь.",
42+
"Ты не прошел испытание огнем, пока не пережил испытание замерзания.",
43+
"В мире есть много сокровищ. И много смертельных ловушек, охраняющих их.",
44+
"Как говорится, лучше один раз увидеть, чем сто раз услышать.",
45+
"Осторожно, на этой земле затаилась магия темной стороны.",
46+
"Не забудь захватить мантию Невидимости. Может пригодится.",
47+
"Я не говорю, что ты должен помочь мне, но если ты не поможешь, мы оба можем умереть.",
48+
"Вы нашли сундук, но там только промокшая носовая платок",
49+
"Скелет уронил свою ногу и попросил вас ее поднять",
50+
"Чудовище оказалось вегетарианцем и ушло, разочарованное",
51+
"Вы встретили гоблина-бухгалтера. Он просит вас заполнить налоговую декларацию",
52+
"Вас оглушил удар по голове. Вы просыпаетесь в тюрьме за нарушение закона о запрете ношения фиолетовых штанов",
53+
"Вы нашли бутылку, внутри которой оказался исчезнувший градусник",
54+
"Гном-механик починил вам меч, но теперь он меняет цвет каждые 5 минут",
55+
"Вы попали в ловушку. Но вам повезло: это ловушка для ловушек",
56+
"Крыса украла у вас все деньги и принесла обратно целую кучу грязного белья",
57+
"Вы встретили дракона, который оказался гипнотизером. Теперь вы уверены, что вы – курочка ряба",
58+
"Вы нашли лук, но он оказался из пластика",
59+
"Вы нашли карту сокровищ, но все места на ней отмечены как 'здесь ничего нет'",
60+
"Вы нашли колоду карт, но все они дамы",
61+
"Вы нашли кота, который оказался инопланетной формой жизни",
62+
"Вы нашли статую, которая оказалась просто манекеном",
63+
"Вы нашли книгу, но в ней все страницы пустые",
64+
"Вы нашли магический кристалл, но он оказался всего лишь обычной галькой",
65+
"Вы нашли меч, но он оказался слишком тяжелым для вас",
66+
"Вы нашли зелье лечения, но оно оказалось ядом",
67+
"Вы попали в ловушку, но вас спасла маленькая мышь, которая прогрызла дыру в стене",
68+
"Вы нашли длинную трещину в земле. Оказалось, что это просто международная граница",
69+
"Вы нашли голову медузы, но все ее щупальца оказались сломаны",
70+
"Вы нашли птицу, которая оказалась обычным дроном",
71+
"Вы нашли вещь, которая оказалась слишком большой, чтобы ее можно было поднять",
72+
"Вы нашли печенье, которое говорит вам, что вы проиграли",
73+
"Вы нашли волшебную палочку, которая оказалась просто палкой",
74+
"Вы нашли ворона, который оказался просто перышком",
75+
"Вы нашли красивый камень, но он оказался слишком тяжелым, чтобы его можно было поднять",
76+
"Вы нашли лук, но он оказался из белого шоколада",
77+
"Вы нашли книгу заклинаний, но все они оказались на языке, который вы не знаете",
78+
"Вы нашли гробницу, но там оказалась только просто гробница",
79+
"Вы нашли золотую монету, но она оказалась фальшивой",
80+
"Вы нашли карту мира, но на ней было только одно место: в котором вы находитесь",
81+
"Вы нашли магический камень, но он оказался просто куском стекла",
82+
"Вы нашли рыцарскую броню, но она оказалась слишком мала для вас",
83+
"Вы нашли волшебный меч, но он оказался слишком коротким, чтобы наносить урон",
84+
"Вы нашли свиток с магическим заклинанием, но он оказался написан на языке программирования",
85+
"Вы нашли книгу о приключениях, но она оказалась просто каталогом IKEA",
86+
"Вы нашли зелье восстановления маны, но оно оказалось просто газировкой",
87+
"Вы нашли волшебную шляпу, но она оказалась слишком мала для вашей головы",
88+
"Вы нашли магический кристалл, но он оказался просто куском льда",
89+
"Вы нашли дверь, но за ней ничего не было",
90+
"Вы нашли книгу с картинками, но все страницы были пустые",
91+
"Вы нашли магический посох, но он оказался просто палкой для селедки",
92+
"Вы нашли кинжал, но он оказался слишком тупым, чтобы наносить урон",
93+
"Вы нашли зелье лечения, но оно оказалось горькой медицинской настойкой",
94+
"Вы нашли книгу, в которой все страницы были написаны наоборот",
95+
"Вы нашли книгу о драконах, но она оказалась просто каталогом драконьей посуды",
96+
"Вы нашли мешок с золотом, но оказалось, что он был просто мешком с песком",
97+
"Вы нашли магический амулет, но он оказался просто обычной каменной круглой бусиной",
98+
]

krpg/data/themes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
themes = [
1+
THEMES = [
22
"090300 db2d20 01a252 fded02 01a0e4 a16a94 b5e4f4 a5a2a2 5c5855 e8bbd0 3a3432 4a4543 807d7c d6d5d4 cdab53 f7f7f7 3024_day",
33
"000000 cd0000 00cd00 cdcd00 1093f5 cd00cd 00cdcd faebd7 404040 ff0000 00ff00 ffff00 11b5f6 ff00ff 00ffff ffffff abernathy",
44
"363636 ff0883 83ff08 ff8308 0883ff 8308ff 08ff83 b6b6b6 424242 ff1e8e 8eff1e ff8e1e 1e8eff 8e1eff 1eff8e c2c2c2 aci",

0 commit comments

Comments
 (0)