본문 바로가기
C.W.K.
Stream
Lesson 02 of 05 · published

봉인 해제, 이견, 재대결

~11 min · 봉인-해제, 이견, 재대결, 사람의-권한

Level 0찬 쇠
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

봉인 해제, 이견, 재대결

Anvil에는 따로 떨어진 ‘닫기’와 ‘봉인 해제’ 조작이 없어. 봉인된 레일에서 아빠는 가면이 그대로인 채로 결정된 결과를 검토하고, 판결이 회차를 확정하면서 가면-브레인 대응을 함께 풀어. 살아 있는 회차를 중단해도 기록 줄기를 봉인하면서 출연진을 공개해. 다른 어떤 상태도 봉인을 풀지 않아.

이견은 심사위원의 결정 옆에 붙는 메모지 대체 선택이 아니야. 아빠는 결과를 채택하거나 왜 동의하지 않는지 기록할 수 있지만, 참가진에 다시 점수를 매기거나 다른 출품작에 왕관을 주지는 않아. 결정된 결과물은 심사단이 만든 그대로 남아.

재대결은 압력 밸브야. 새 회차를 만들어 자기 뽑기와 참가진과 기록 줄기와 결과를 갖게 하고, 앞선 겨루기로 이어 붙여. 과제서를 그대로 둘 수도 있고, 달라진 증거나 모드를 새 전제로 적을 수도 있어. 원래 회차를 다시 열거나 고치지는 않아.

Open Run도 아빠가 참가진의 정체를 실시간으로 이미 알고 있어도 같은 종결 규칙을 써. 확정은 심사위원에게 숨겼던 정체를 공개해. 동점인 Open Run의 판은 그대로 설 수 있고, 아빠는 봉인 레일의 결승 규칙 대신 이견을 기록하거나 새 재대결을 요청할 수 있어.

판결이 확정하고 공개하며, 이견은 주석을 달고, 재대결은 새로 시작해. 어느 것도 심사위원의 결정을 고쳐 쓰지 않아.

Code

결정 뒤 — 셋 다 앞의 기록을 남긴다·python
def aftermath(run, action, note=""):
    """세 갈래 모두 앞선 기록을 보존한다. 고쳐 쓰는 갈래가 아예 없다."""
    if action == "accept":
        return {**run, "state": "finalized", "reveal": True}
    if action == "dissent":
        return {**run, "state": "finalized", "reveal": True,
                "dissent": note, "winner": run["winner"]}   # 승자 그대로
    if action == "rematch":
        # 같은 전제로 다시 겨루는 것이라 rematch_of 로 잇는다.
        # resumed_from 은 모드를 건너뛰는 이어가기 전용이다 (08.03).
        return {"state": "composing", "rematch_of": run["id"],
                "winner": None}
    raise ValueError(f"{action}: 봉인을 따로 푸는 조작은 없다")


decided = {"id": "run-1", "state": "decided", "winner": "mask-B"}

assert aftermath(decided, "dissent", "A가 더 낫다")["winner"] == "mask-B"
again = aftermath(decided, "rematch")
assert again["rematch_of"] == "run-1" and "resumed_from" not in again

try:
    aftermath(decided, "unseal")
except ValueError as exc:
    print(exc)

External links

Exercise

아빠가 결과를 채택할 때, 이견을 남길 때, 살아 있는 회차를 중단할 때, 재대결을 요청할 때의 적법한 결말을 써 봐.
Hint
모든 종결 경로가 공개하고, 새 회차만 다시 견줘.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인 — 댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.