놀이터 › 홀짝 › 홀짝은 왜 15초 늦게 시작하나, 서버 없이 도는 시계 구조
홀짝은 왜 15초 늦게 시작하나, 서버 없이 도는 시계 구조
이 게임에는 회차를 관리하는 서버가 없습니다. 그런데도 어느 기기에서 열어도 같은 회차가 같은 시각에 끝납니다. 시계만 보고 계산하기 때문입니다. 그리고 홀짝은 가위바위보보다 정확히 15초 늦게 시작합니다. 그 15초가 어디서 나왔는지가 이 글의 내용입니다.
한 판의 구조
| 구간 | 길이 | 무슨 일이 |
|---|---|---|
| 고르는 시간 | 180초 | 홀이나 짝을 고르고 바꿀 수 있습니다 |
| 그중 잠금 | 마지막 10초 | 더 못 바꿉니다 |
| 결과 시간 | 15초 | 숫자가 공개되고 기록에 쌓입니다 |
| 한 판 | 195초 |
하루는 86,400초입니다. 195로 나누면 443판이 나오고 15초가 남습니다. 이 남는 15초가 홀짝의 시작을 미루는 데 쓰입니다.
남는 15초를 쓴 방법
가위바위보는 자정 정각에 1회차를 시작하고 443판을 돈 뒤 15초를 남긴 채 하루를 끝냅니다. 그 15초 동안은 아무 일도 안 일어납니다.
홀짝은 반대로 했습니다. 자정에 15초를 먼저 기다렸다가 1회차를 시작합니다. 그러면 443판이 끝나는 순간이 정확히 자정입니다.
| 게임 | 1회차 시작 | 443회차 끝 | 빈 15초 |
|---|---|---|---|
| 가위바위보 | 자정 정각 | 자정 15초 전 | 하루 끝에 |
| 홀짝 | 자정 + 15초 | 다음 자정 정각 | 하루 처음에 |
결과적으로 두 게임의 모든 회차가 15초씩 어긋납니다. 하나가 끝나고 15초 뒤에 다른 하나가 끝납니다.
왜 어긋나게 했나
두 게임을 다 하는 사람 입장에서 생각하면 분명합니다. 동시에 끝나면 같은 순간에 두 결과를 봐야 하고, 둘 다 마감 10초도 같은 순간에 걸립니다. 한 손으로 둘을 다 누르기 어렵습니다.
15초 어긋나 있으면 하나가 끝나고 결과를 본 뒤 다른 하나가 끝납니다. 자연스럽게 두 게임을 번갈아 보게 됩니다.
15초라는 숫자 자체를 고른 것이 아닙니다. 하루를 195초로 나누고 남은 나머지가 15초였고, 그걸 버리지 않고 쓴 것입니다. 남는 시간이 쓸모를 얻었습니다.
서버 없이 회차를 세는 법
회차는 계산으로 구합니다. 시계만 있으면 됩니다.
| 구하는 것 | 계산 |
|---|---|
| 지금 몇 회차인가 | (자정부터 지난 초 - 15) ÷ 195, 소수점 버림 |
| 고르는 중인가 | 그 나머지가 180 미만이면 고르는 중 |
| 남은 시간 | 180에서 그 나머지를 뺀 값 |
| 잠겼는가 | 남은 시간이 10초 이하 |
같은 시각을 넣으면 누가 계산해도 같은 답이 나옵니다. 그래서 서로 맞춰 볼 필요가 없습니다. 접속자가 한 명이든 만 명이든 계산량이 같습니다.
기준은 한국 시간 자정입니다. 시차가 다른 곳에서 열어도 회차 번호는 같습니다. 브라우저 시계가 맞으면 됩니다.
서버가 없으니 비용이 거의 들지 않고, 서버가 멈춰서 게임이 멈추는 일도 없습니다. 대신 여러 사람의 선택을 모아서 하는 것은 못 합니다.
마감 10초 전 잠금
고르는 180초 중 마지막 10초는 잠깁니다. 눌러도 안 바뀌고 안내 창이 한 번 흔들립니다.
잠금이 없으면 3분이 통째로 의미를 잃습니다. 마감 직전에 누르는 것이 아무 손해가 없는 선택이 되기 때문입니다. 모두가 마지막 1초에 누르면 앞의 179초는 비어 있는 시간이 됩니다.
10초로 정한 것은 사람이 "지금 눌러야지" 하고 손을 움직이는 시간보다는 길고, 기다리기 답답할 만큼은 아니기 때문입니다.
새로고침하면 어떻게 되나
| 항목 | 새로고침하면 |
|---|---|
| 지금 회차와 남은 시간 | 다시 계산되므로 그대로입니다 |
| 최근 10판 결과 | 남습니다 |
| 이번 판에 고른 것 | 사라집니다 |
| 어제 기록 | 사라집니다 |
회차와 시간은 계산해서 나오는 값이라 새로고침과 상관없습니다. 결과는 날짜와 함께 이 브라우저에 저장하기 때문에 남고, 날짜가 바뀌면 통째로 비웁니다.
지금 판에 고른 것은 일부러 안 남깁니다. 저장하면 창을 여러 개 열어 두고 양쪽을 다 고르는 길이 생깁니다.
서버로 보내는 것이 없으니 다른 기기에서는 내 기록이 보이지 않습니다. 휴대폰에서 고른 것과 PC에서 고른 것은 서로 모릅니다.