요트다이스를 리눅스 터미널 상에서 구현하는 프로젝트입니다.
요트다이스란, 주사위 게임의 한 종류로 한국에서는 닌텐도 스위치에 출시된 51 Worldwide Games라는 게임에 수록된 게임으로 많이 알려져 있습니다. 이 프로젝트에서는 위 게임의 룰을 따릅니다.
- C++11
- 멀티 플렉싱 서버
- C style tcp 소켓 통신
Linux, Windows, Mac
- 방 별로 개별 게임 실행 가능
- 최대 인원 5명까지 접속해 플레이 가능
- 엔터를 눌러 채팅을 시작하고 전송할 수 있습니다.
- 좌우 방향키로 잠글 주사위를 선택할 수 있습니다.
- z를 눌러 주사위를 잠글 수 있습니다.
- 위아래 방향키로 입력할 점수를 선택할 수 있습니다.
- x를 눌러 입력할 점수를 확정할 수 있습니다.
야추 다이스는 주사위를 사용해 포커처럼 족보를 만드는 게임입니다. 주사위를 최대 세번 던져서 맞는 족보를 만든 후 점수를 얻어내는 게 목표입니다.
- 주사위 5개를 던집니다.
- 이 중 원하는 주사위들은 남겨두고, 나머지 주사위들을 다시 던집니다. 다시 던지기는 한 라운드에 2번까지(즉, 한 라운드에 최대 3번까지 던질 수 있습니다.) 가능하며, 앞에서 던지지 않았던 주사위도 원한다면 다시 던질 수 있습니다.
- 이렇게 해서 나온 족보값을 반드시 점수판에 기록해야 합니다. 기록할 칸이 없거나 나온 숫자가 마음에 들지 않는 경우 나온 숫자와 족보가 관계 없는 칸에 0점으로 기록합니다.
- 점수판이 총 12칸이니 총 12턴을 진행하면 게임이 끝납니다. 마지막에 점수판의 점수 총합이 높은 사람이 승리합니다.
족보는 링크를 참조해 주세요.
이 프로젝트는 GTest를 사용합니다.
프로젝트 디렉토리에서
$ git clone https://github.com/google/googletest/ extern/googletest
실행
build 폴더 생성 후
$ cmake ..
$ make
프로그램 파일은 Yacht_Dice_Server, Yacht_Dice_Client입니다.