fix: rule game for kot and hakem kot

This commit is contained in:
2026-06-15 20:09:39 +03:30
parent 390ef96e7e
commit 7dadb23fbe
7 changed files with 79 additions and 8 deletions
+7 -2
View File
@@ -101,7 +101,12 @@ func (r *Room) run() {
// start بازی را ساخته، matched را برای انسان‌ها فرستاده و وضعیت اولیه را پخش می‌کند.
func (r *Room) start() {
r.game = game.NewGame(targetScore, game.FirstHakem())
// تعداد هَندِ لازم برای برد بازی از روی نوعِ میز (tier) تعیین می‌شود.
target := r.settler.TargetHands(r.tier)
if target <= 0 {
target = targetScore
}
r.game = game.NewGame(target, game.FirstHakem())
for seat, s := range r.seats {
if s.client != nil {
s.client.trySend(mustJSON(r.matchedFor(seat)))
@@ -127,7 +132,7 @@ func (r *Room) react() {
res := r.game.LastResult
r.broadcast(mustJSON(handOverMsg{
Type: "hand_over", WinnerTeam: res.WinnerTeam, Kot: res.Kot,
Points: res.Points, Scores: r.game.Scores,
HakemKot: res.HakemKot, Points: res.Points, Scores: r.game.Scores,
}))
if err := r.game.NextHand(); err != nil {
slog.Error("next hand", "room", r.ID, "err", err)