mirror of
https://github.com/EDeev/pixel_gamble.git
synced 2026-10-07 23:49:29 +03:00
- 10 волн, 5 видов врагов со своим поведением и босс в три фазы - меч, копьё и посох, 11 улучшений между волнами, опыт и уровни - меню, пауза, настройки, итоги партии и рекорд, русский и английский - мир 480×270 с масштабированием, интерфейс в 960×540, скорости от dt - асинхронный цикл: та же игра в браузере через pygbag - тесты без окна, автоигрок, CI, релизы exe/Linux, GitHub Pages - README на двух языках; исходная версия — релиз v1.0.0
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
"""Константы игры: экран, мир, баланс."""
|
||
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
WEB = sys.platform == "emscripten"
|
||
BASE = Path(__file__).resolve().parent.parent
|
||
ASSETS = BASE / "assets"
|
||
|
||
# Мир рисуется в маленьком «пиксельном» разрешении и масштабируется в 2 раза,
|
||
# интерфейс — поверх, в разрешении экрана (так текст остаётся чётким).
|
||
WIDTH, HEIGHT = 480, 270
|
||
SCALE = 2
|
||
SCREEN_W, SCREEN_H = WIDTH * SCALE, HEIGHT * SCALE
|
||
FPS = 60
|
||
TILE = 16
|
||
TITLE = "Pixel Gamble"
|
||
VERSION = "2.0.0"
|
||
|
||
# Цвета интерфейса
|
||
WHITE = (255, 255, 255)
|
||
BLACK = (20, 16, 24)
|
||
GOLD = (255, 214, 92)
|
||
RED = (230, 72, 72)
|
||
GREEN = (120, 220, 110)
|
||
BLUE = (110, 180, 255)
|
||
GREY = (150, 150, 160)
|
||
PANEL = (44, 32, 40)
|
||
PANEL_LIGHT = (92, 64, 70)
|
||
PANEL_EDGE = (16, 10, 16)
|
||
|
||
# Игрок. Здоровье считается в четвертях сердечка, как в классических Zelda.
|
||
PLAYER_HEARTS = 3
|
||
PLAYER_MAX_HEARTS = 8
|
||
PLAYER_SPEED = 92
|
||
PLAYER_INVULNERABLE = 0.9
|
||
|
||
# Опыт до следующего уровня: XP_BASE + XP_STEP * (уровень - 1)
|
||
XP_BASE = 12
|
||
XP_STEP = 8
|
||
|
||
WAVES_TOTAL = 10
|
||
WAVE_BREAK = 2.5 # пауза перед выбором улучшения
|
||
SPAWN_SAFE_RADIUS = 110 # враги не появляются вплотную к игроку
|
||
MAX_ALIVE = 10 # одновременно живых врагов (кроме босса)
|
||
HEART_DROP_CHANCE = 0.07
|