Add spin session functionality and update game mechanics
- Introduced a new `spin_sessions` table to track user spin activities. - Updated the API to include a new endpoint for spinning games, allowing users to place bets and specify spin counts. - Enhanced game information structure and added validation for bets and spin counts. - Implemented the `Forest Fortune` slot game mechanics, including payline evaluation and scatter functionality. - Updated dependencies in `pyproject.toml` for development and added `httpx` for HTTP requests. - Added unit tests for the new slot mechanics and API endpoints to ensure functionality and reliability.
This commit is contained in:
29
app/slots/registry.py
Normal file
29
app/slots/registry.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from app.slots.base import BaseSlot
|
||||
from app.slots.coming_soon import ComingSoonSlot
|
||||
from app.slots.forest_fortune import ForestFortuneSlot
|
||||
|
||||
_SLOTS: list[BaseSlot] = [
|
||||
ComingSoonSlot(
|
||||
slug="raven-reels",
|
||||
title="Вороньи Барабаны",
|
||||
description="Слоты у врат Вырия. Скоро откроются.",
|
||||
),
|
||||
ComingSoonSlot(
|
||||
slug="golden-gate",
|
||||
title="Золотые Врата",
|
||||
description="Портал удачи. Пока запечатан.",
|
||||
),
|
||||
ForestFortuneSlot(),
|
||||
]
|
||||
|
||||
_BY_SLUG: dict[str, BaseSlot] = {slot.slug: slot for slot in _SLOTS}
|
||||
|
||||
|
||||
def list_slots() -> list[BaseSlot]:
|
||||
return list(_SLOTS)
|
||||
|
||||
|
||||
def get_slot(slug: str) -> BaseSlot | None:
|
||||
return _BY_SLUG.get(slug)
|
||||
Reference in New Issue
Block a user