Skip to content
Nam Se Hyun edited this page Jan 22, 2017 · 6 revisions

게임 설명

점점 증가하는 2진수 숫자를 2명의 플레이어가 한 자리씩 번갈아가면서 부르는 게임입니다. 잘못 말하거나 시간초과되면 그 플레이어는 집니다.

숫자는 0, 1, 2, 3, 4, 5... 로 증가합니다. 이진수니까 0, 1, 10, 11, 100, 으로 바꾸어야 하고 각 플레이어는 지금 숫자의 앞자리서부터 얘기를 해야합니다. 0, 1, 1, 0, 1, 1, 1, 0, 0, 를 번갈아가면서 얘기해야 합니다.

숫자가 올라가면 굉장히 헷갈립니다. 자신의 턴에 일부러 느리게 말하거나 빠르게 말함으로서 상대방을 당황시켜보세요.

게임 진행

  • 초기화면
    • 튜토리얼
    • 대전 준비
  • 튜토리얼
    • 설명
    • AI와 1:1
  • 대전 준비
    • 서버에 '준비' 패킷을 보냄
    • 서버에서 '게임 시작' 패킷이 오면 게임 화면으로 이동
  • 게임 화면
    • '게임 시작' 패킷에는 내가 선공 플레이어인지 아닌지도 보내줌.
    • 화면상으로 3초 카운트다운 후 게임 시작
    • 게임 시작 이후로는 3초 이내에 0, 아니면 1 패킷을 보내야 함.
    • 못보내거나 잘못된 패킷을 보내면 서버에서 '게임 종료'패킷이 날라옴.
      • 게임종료 패킷에는 승리했는지 안했는지 보내줌
      • 다시 초기화면으로 넘어감
    • 제대로 보냈을 경우, 상대방에게 '턴 종료' 패킷이 날라감.
      • '턴 종료' 패킷에는 0혹은1 정보와, 지금 내 턴인지 아닌지가 날라감.

패킷 상세

패킷 네임은 /PacketName.js에 있음.

  • READY
    • Client --> Server
    • 대기열에 들어가기 위해서 보냄
    • Body: empty
  • START
    • Client <-- Server
    • 게임이 시작하면 보냄
    • 패킷 받은 시간으로부터 3초 카운트다운, 그리고 그 이후로 게임 진행됨.
      • 패킷 레이턴시가 있을 수 있으니, 나중에 '서버가 패킷 보낼 때의 시간'을 같이 보낼 예정
    • Body: { isMyTurn: true/false }
  • END_TURN
    • Client <--> Server
      • Client --> Server
        • 내 턴이 끝났을 때 서버로 보냄
        • Body: { oneOrZero: 0/1 }
      • Client <-- Server
        • 상대방 턴이 끝났을 때 나에게 옴.
        • Body: { isMyTurn: true/false, oneOrZero: 0/1 }
          • isMyTurn: true/false
            • 다음 턴이 내 턴인지
          • oneOrZero: 0/1
            • 상대방이 말한 0 혹은 1
  • END_GAME
    • Client <-- Server
    • 게임이 끝났을 때 옴.
    • Body: { isWinner: true/false, oneOrZero: 0/1 }
      • isWinner: true/false
        • 내가 이겼는지, 아니면 졌는지
      • oneOrZero: 0/1
        • 마지막 플레이터가 말한 0 혹은 1
  • ELIMINATE
    • 1vs1 말고 free for all(전체 개인전)같은거 할 때 쓰려고 만들어 둔 패킷.
    • 현재는 1vs1만 지원할 예정이니 아직 쓰지 않음.

Clone this wiki locally