노는 방법
시작하기를 누르고, 고양이 배를 손가락으로 꾹 누르세요. 누르는 동안 5초가 거꾸로 흐르고 고양이 표정이 점점 일그러집니다.
5초를 다 채웠는데도 계속 누르고 있으면 버티기로 넘어가서 버틴 시간이 올라갑니다. 손을 떼면 3초 심호흡입니다.
다 끝났으면 아래 «다 쌌어요»를 누르세요. 힘주기마다 버틴 시간이 막대로 정리되어 나옵니다. 막대 위 세로선이 5초 기준선입니다.
고양이 배를 꾹 누르면서 힘주고
심호흡하면서
똥 잘 싸주는 걸 도와드립니다
고양이 배를 누르는 리듬으로 힘주기와 심호흡을 번갈아 안내합니다.
시작하기를 누르고, 고양이 배를 손가락으로 꾹 누르세요. 누르는 동안 5초가 거꾸로 흐르고 고양이 표정이 점점 일그러집니다.
5초를 다 채웠는데도 계속 누르고 있으면 버티기로 넘어가서 버틴 시간이 올라갑니다. 손을 떼면 3초 심호흡입니다.
다 끝났으면 아래 «다 쌌어요»를 누르세요. 힘주기마다 버틴 시간이 막대로 정리되어 나옵니다. 막대 위 세로선이 5초 기준선입니다.
아무것도 저장하지 않습니다. 브라우저를 닫으면 기록도 같이 사라지고, 서버로 보내는 것도 없습니다.
힘주기와 심호흡 사이의 상태 전이를 React와 완전히 분리해서, 시간을 tick으로 주입받는 순수 함수로 만들었습니다. 덕분에 5초를 실제로 기다리지 않고도 모든 전이를 테스트로 고정할 수 있습니다.
화면이 잠겼다 깨어날 때 브라우저가 몇 분치 시간을 한 번에 넘겨주는데, 그때 단계를 건너뛰지 않도록 한 번의 tick이 넘길 수 있는 시간에 상한을 뒀습니다.