2인용 미니게임 토너먼트는 2명부터 30명까지 받습니다. 8명, 16명이면 쉬운데 7명, 11명, 30명처럼 딱 안 떨어지는 인원이 오히려 흔해요. 이때 누군가는 첫 판을 안 하고 올라가야(부전승) 합니다.
먼저 칸 수를 정한다
사람 수보다 크거나 같은 가장 작은 2의 거듭제곱이 대진표 칸 수예요. 7명이면 8칸, 11명이면 16칸, 30명이면 32칸입니다. 빈칸 수만큼 부전승이 생겨요. 7명이면 1명, 11명이면 5명이 부전승입니다.
부전승을 아무 데나 두면 생기는 일
빈칸을 그냥 맨 뒤에 몰아 두면 11명일 때 이렇게 됩니다. 앞쪽 8칸에서는 4경기가 열리고, 뒤쪽 8칸에 남은 3명 중 한 명은 첫 판을 안 하고, 나머지 빈칸끼리… 빈칸 대 빈칸 경기가 생겨요. 다음 라운드에도 부전승이 이어지면서, 운 좋은 한 명은 결승 근처까지 한 경기도 안 하고 올라갑니다.
스포츠 대진표 방식을 빌렸다
테니스나 배드민턴 대진표는 1번 시드와 2번 시드가 결승에서야 만나도록 자리를 배치합니다. 이 배치를 그대로 쓰면 부전승이 대진표 전체에 고르게 퍼져요. 빈칸을 "가장 뒤 번호 시드"로 두면 자연스럽게 서로 다른 블록에 흩어지거든요.
function seedOrder(P) {
var a = [1, 2];
while (a.length < P) {
var n = a.length * 2, b = [];
a.forEach(function (s) { b.push(s, n + 1 - s); });
a = b;
}
return a;
}
// seedOrder(8) → [1, 8, 4, 5, 2, 7, 3, 6]
규칙은 "짝을 이루는 두 시드의 번호 합이 항상 칸 수 + 1"이에요. 8칸이면 1과 8, 4와 5, 2와 7, 3과 6이 붙습니다. 7명이면 8번 자리가 비니까 1번이 부전승이 되고, 나머지는 모두 첫 판을 치릅니다. 11명이면 12~16번이 비고, 그 짝인 1~5번이 부전승인데 이 다섯 자리는 대진표 곳곳에 흩어져 있어서 두 번째 판부터는 모두 경기를 하게 돼요.
그럼 누가 1번이 되나
여기서 시드는 실력 순위가 아니에요. 참가자 이름을 먼저 사다리 글에서 쓴 방식으로 무작위로 섞고, 섞인 순서대로 1번, 2번… 을 붙입니다. 그러니 부전승도 결국 무작위로 정해져요.
한 번 더 생각한 것들
- 경기 방식은 단판 또는 3판 2선승 중에 고를 수 있습니다. 종목은 일곱 가지 중에서 나와요.
- 각 경기마다 "무작위로 정하기" 버튼을 둬서, 시간이 없을 땐 그 경기만 추첨으로 넘길 수 있게 했습니다.
- 라운드 이름은 남은 사람 수로 붙여요. 2명이면 결승, 4명이면 4강, 그 위로는 8강, 16강.
직접 해 보기: 2인용 미니게임 토너먼트