🎾 게임 매칭 알고리즘 안내
1. 적게 뛴 사람 먼저 — 대기열에서 오늘 게임 횟수가 가장 적은 사람부터 우선 배정됩니다.
2. 실력 균형 — 함께 뛸 네 명은 실력(급수) 차이가 최대한 적게 조합됩니다.
3. 혼복 자동 구성 — 남녀가 2:2로 모이면 혼합 복식으로 자동 편성되며, 이때도 두 팀의 실력 합이 비슷하도록 나눕니다 (강한 남자+약한 여자 ↔ 약한 남자+강한 여자).
4. 같은 유형 반복 방지 — 직전에 혼복/남복/여복 중 어떤 걸 했는지 기억해서, 가능하면 다른 유형으로 이어지도록 배정합니다.
5. 고수-초심 멘토 매칭 — 실력이 월등히 높은 S조 회원이 혼자 대기 중이고 1년 미만 초심자가 있다면, 이 둘을 한 팀으로 묶어 D조 이상 두 명과 겨루게 해서 배우는 기회를 만듭니다.
6. 같은 조합 반복 방지 — 오늘 이미 같은 4명이 함께 게임했다면, 그 조합은 가급적 피하고 아직 덜 겹친 조합을 우선합니다. 함께한 횟수가 많을수록 더 강하게 회피합니다 (인원이 적을 때 특히 효과적).
7. 특정 조합 회피 — 클럽 운영상 가급적 함께 게임하지 않는 것이 좋은 인원 조합이 있다면, 다른 조합이 가능한 한 그 조합은 피해서 배정합니다.
8. 빈 코트 자동 채움 — 대기 인원이 4명 이상 모이면 비어있는 코트에 즉시 자동으로 배정됩니다.
📌 "다음 게임 예정" / "그다음 예정" 차이
다음 게임 예정 — 코트가 비면 바로 배정될 조입니다. 코트 수의 절반(올림)만큼 미리 확정되어(예: 코트 3면이면 2조), 다른 코트 게임이 끝나 새 인원이 들어와도 이미 확정된 조의 구성원은 바뀌지 않고 그대로 배정됩니다.
그다음 예정 — 코트 수를 넘어서는 조는 아직 확정이 아닙니다. 화면을 그릴 때마다 그 시점의 대기 인원으로 다시 계산되기 때문에, 그사이 게임이 끝나 대기열로 돌아온 사람까지 포함해서 성비·유형 균형이 더 나은 조합으로 자연스럽게 바뀔 수 있습니다.
코트 삭제 시 — 진행 중이던 게임이 있는 코트를 삭제하면, 그 4명은 하던 팀 구성 그대로 "다음 게임 예정"에 재예약됩니다 (처음부터 새로 조를 짜지 않습니다).
🔒 관리자 수동 조정
관리자로 로그인하면 진행 중인 게임과 다음 게임 예정의 인원을 직접 바꿀 수 있습니다. 대기 인원과 교체하는 것은 물론, 같은 게임 안에서 편(팀)만 서로 바꾸는 것도 가능해서 필요하면 자동 배정 결과를 자유롭게 재구성할 수 있습니다.
또한 대기 중이거나 게임 중인 회원을 임시로 제외했다가 다시 복귀시킬 수 있습니다 (예: 잠깐 자리를 비워야 하는 경우). 제외 중에는 대기열/매칭에서 완전히 빠지고, 게임 중이었다면 그 게임은 중단되어 나머지 인원이 대기열로 돌아갑니다.
⚖️ 게임횟수 공정성 보정
"적게 뛴 사람 먼저" 규칙이 왜곡되지 않도록, 아래 두 경우에는 게임횟수를 실제 경과 시간에 맞춰 보정합니다.
임시 제외 복귀 시 — 제외되어 있던 시간 중 20분이 지날 때마다 게임 1회를 한 것으로 게임횟수에 더해서 복귀시킵니다 (20분 미만으로 남는 시간은 반영하지 않음). 그래야 오래 자리를 비웠던 사람이 복귀 직후 우선순위를 과도하게 독점하지 않습니다.
늦게 합류한 인원 — 게임판이 이미 시작된 뒤 새로 합류하면, 게임 시작 시각부터 15분이 지날 때마다 게임 1회를 이미 한 것으로 게임횟수를 미리 채워서 시작합니다. 그래야 늦게 온 사람이 처음부터 계속 최우선으로만 배정되지 않습니다.