코드: 패 규칙 적용 play()
핵심은 단 두 줄 추가야. prev_board 인자를 받아서, 새 상태가 그것과 같으면 'ko' 반환하고 되돌림.
🔑 패 체크 로직
if prev_board is not None and board == prev_board:
# 직전 상태로 돌아감 → 패 위반
# 보드 되돌리고 'ko' 반환
return 'ko'
파이썬 리스트 비교 ==는 모든 원소가 같은지 자동 확인. 2D 리스트도 그대로 동작.
코드를 실행하면 백이 (2,3)에 두려는 순간 'ko' 반환되면서 보드가 바뀌지 않는 게 보일 거야. 정확히 패 규칙이 작동한 거.
실제 진짜 알파고 구현에서는 positional superko라는 더 엄격한 규칙도 있어 (어느 시점 어느 상태와도 반복 금지). 우리는 일단 단순 패로 충분.
PYTHON