package ws // Settler تسویه‌ی اقتصادی میز را انجام می‌دهد (پیاده‌سازی در لایه economy). // لایه ws از جزئیات سکه/جایزه بی‌خبر است و فقط tier را پاس می‌دهد. type Settler interface { ChargeEntry(userID int64, tier string) error // کسر ورودی هنگام ورود به صف Refund(userID int64, tier string) // بازگرداندن ورودی در صورت لغو AwardWinner(userID int64, tier string) // جایزه/XP/جام به برنده RecordGame(room, playersJSON string, winnerTeam int, kot bool) // TargetHands تعداد هَندِ لازم برای برد بازی در این tier (مثلاً مبتدی=۳). TargetHands(tier string) int } // noopSettler پیش‌فرض (برای تست‌ها و حالت بدون اقتصاد). type noopSettler struct{} func (noopSettler) ChargeEntry(int64, string) error { return nil } func (noopSettler) Refund(int64, string) {} func (noopSettler) AwardWinner(int64, string) {} func (noopSettler) RecordGame(string, string, int, bool) {} func (noopSettler) TargetHands(string) int { return 7 }