Files
cm/game_balance/test_balance/standard_mode.py
2026-02-11 17:44:26 +03:00

61 lines
2.4 KiB
Python

"""
СТАНДАРТНЫЙ РЕЖИМ БАЛАНСА
Используется по умолчанию
"""
from game_balance.assets_config import AssetsConfig
from game_balance.players_config import PlayersConfig
from game_balance.economy_config import EconomyConfig
from game_balance.events_config import EventsConfig
from game_balance.game_config import GameConfig
class StandardBalance:
"""Стандартный сбалансированный режим"""
@classmethod
def get_assets_config(cls):
"""Возвращает конфигурацию активов"""
return AssetsConfig.ASSETS.copy()
@classmethod
def get_players_config(cls):
"""Возвращает конфигурацию игроков"""
return {
'STARTING_CAPITAL': PlayersConfig.STARTING_CAPITAL,
'TARGET_CAPITAL': PlayersConfig.TARGET_CAPITAL,
'MAX_ASSETS_PER_TYPE': PlayersConfig.MAX_ASSETS_PER_TYPE.copy(),
'PURCHASE_LIMITS_BY_MONTH': PlayersConfig.PURCHASE_LIMITS_BY_MONTH.copy(),
'ABILITIES': PlayersConfig.ABILITIES.copy()
}
@classmethod
def get_economy_config(cls):
"""Возвращает экономическую конфигурацию"""
return {
'TAX_SYSTEM': EconomyConfig.TAX_SYSTEM.copy(),
'LOAN_SYSTEM': EconomyConfig.LOAN_SYSTEM.copy(),
'MACROECONOMICS': EconomyConfig.MACROECONOMICS.copy(),
'ASSET_CORRELATIONS': EconomyConfig.ASSET_CORRELATIONS.copy()
}
@classmethod
def get_events_config(cls):
"""Возвращает конфигурацию событий"""
return {
'EVENT_TYPES': EventsConfig.EVENT_TYPES.copy(),
'EVENTS': EventsConfig.EVENTS.copy(),
'CRISES': EventsConfig.CRISES.copy()
}
@classmethod
def get_game_config(cls):
"""Возвращает игровую конфигурацию"""
return {
'PHASE_DURATIONS': GameConfig.PHASE_DURATIONS.copy(),
'SPEED_MODES': GameConfig.SPEED_MODES.copy(),
'MAX_PLAYERS_PER_ROOM': GameConfig.MAX_PLAYERS_PER_ROOM,
'MIN_PLAYERS_TO_START': GameConfig.MIN_PLAYERS_TO_START,
'MIN_PLAYERS_TO_CONTINUE': GameConfig.MIN_PLAYERS_TO_CONTINUE,
'MAX_TRANSACTIONS_PER_PHASE': GameConfig.MAX_TRANSACTIONS_PER_PHASE,
'MIN_BID_AMOUNT': GameConfig.MIN_BID_AMOUNT
}