Skip to content

mtvs-server-second-study/random-burger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

"랜덤 버거 만들기" 게임

프로젝트 소개

"랜덤 버거 만들기"는 웹 기반의 텍스트 게임으로,
게임 이용자가 직접 선택을 통해 그들만의 독특한 버거를 만들어 나가는 재미있는 경험을 제공합니다.
이 게임은 Spring 프레임워크와 CQRS(Command Query Responsibility Segregation) 아키텍처를 사용하여 제작되었습니다.

기능

이 게임은 이용자가 햄버거 재료를 단계별로 랜덤하게 선택하여 햄버거를 만드는 게임입니다.

  1. 시작 : 게임은 '빵', '야채', '패티', '소스' 총 4단계로 구성되어 있습니다.
  2. 선택 : 먼저 1단계에서는 '빵'의 종류를 선택합니다.
    이용자의 화면에서는 '빵'의 종류가 아닌 'A' 와 'B'로 선택지가 보이게 됩니다.
    'A' 와 'B' 중 한 가지 재료는 흔히 먹는 햄버거 재료가, 한 가지는 상상도 못할 햄버거 재료가 들어가 있습니다.
    이용자는 어떤 빵이 들어갈지 모른 채 선택지를 고르고 다음 단계로 넘어갑니다.
    이렇게 2단계에서는 '야채', 3단계 '패티', 4단계 '소스' 순으로 한 가지씩 종류을 선택하게 됩니다.
단계 종류 선택지
1단계 A or B 선택(이용자는 A와 B가 무엇인지 알수 없음)
2단계 야채 A or B 선택(이용자는 A와 B가 무엇인지 알수 없음)
3단계 패티 A or B 선택(이용자는 A와 B가 무엇인지 알수 없음)
4단계 소스 A or B 선택(이용자는 A와 B가 무엇인지 알수 없음)
  1. 조리 : 주방장은 게임 이용자가 선택해준 재료로 세상에 하나뿐인 햄버거를 조리합니다.
  2. 서빙 : 조리가 끝나게 되면, 이용자에게 완성된 버거가 서빙됩니다.
    이용자는 완성된 햄버거와 함께 각 단계 별 원래의 이름이 공개된 선택지들을 제공해줍니다.
    항상 새로운 조합의 가능성이 열려 있습니다.

게임 플레이

  1. 게임 시작 후 첫 번째 카테고리 '빵'에서 두 가지 선택지가 제공됩니다.
  2. 선택을 마치면 '야채', '패티', '소스' 카테고리 순으로 같은 방식으로 진행됩니다.
  3. 각 카테고리에서 선택을 마치면, 이를 기반으로 완성된 고유한 버거가 생성됩니다.
  4. 마지막으로 완성된 버거를 확인할 수 있습니다.

요구사항

  • CQRS 패턴으로 기능을 구현 할 것
  • DTO와 entity 스왑 기능을 구현 할 것
  • application, domain 패키지로 구현 할 것
  • View에서 Scanner 객체를 통해 입력 기능을 구현 할 것
  • domain.Service, application.Controller, application.Service 클래스를 테스트 코드로 작성 할 것
  • 맵 형태로 형성된 DB에서 index를 랜덤 함수를 통해 이지선다 질문 view출력 할 것
    • 게임 이용자에게는 답변이 A, B로만 두 가지 선택지가 주어지게 구현 할 것
    • 네 가지 카테고리를 조합하여 랜덤 버거가 완성되게 구현 할 것
    • 총 16가지 버거의 이름을 DB에 하나의 스키마로 저장 할 것
  • 예외메시지
    • 이지선다 이외의 문항을 답변할 시 아래 메시지로 처리 할 것
      • 게임 이용자가 대/소문자 A, B 답변 이외의 답을 입력 시 "A, a, B, b 만 입력 할 수 있습니다. 다시 입력해주세요!" 메시지 출력 할 것

제약사항

  • 가독성 있는 코드로 작성할 수 있도록 할 것
  • 메소드 이름은 반드시 명령문 형태로 작성
  • 메인 메소드에는 한 줄 이상 작성하지 않을 것
  • 테스트 메소드는 충분히 기능을 검증하도록 작성
  • 개인 구현은 반드시 브랜치를 생성 후 구현할 것 (브랜치 이름은 신규인 경우 feature/기능명 형태로 작성할 것)
  • 모든 개인 작업이 끝난 후 PR 생성
  • PR에 모든 팀원이 코드 리뷰할 것
  • 마지막 리뷰어는 Merge 수행

패키지 구조

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages