Skip to content

green-kong/oop-test-1-dice

Repository files navigation

주사위 굴리기

🔍 진행방식

  • 기능을 구현하기 전에 docs/README.md에 기능 목록을 만들고, 기능 단위로 커밋 하는 방식으로 진행한다.

🎯 기능 요구사항

주사위 게임

  • 사용자는 플레이어의 이름을 입력 할 수 있다.

    • 이름은 최소 2글자 최대 10글자로 제한한다.
  • 사용자는 플레이어의 소지금을 입력할 수 있다.

    • 소지금은 100원 단위로 제한한다.
    • 소지금은 항상 0보다 크거나 같아야 한다.
  • 사용자는 주사위 굴릴 횟수(최소 2, 최대 10)를 입력 할 수 있다.

  • 사용자는 주사위 값의 예상 평균치의 범위를 입력 할 수 있다.

  • 사용자는 배팅 금액을 입력 할 수 있다.

    • 배팅 금액 만큼 소지금에서 차감된다.
  • 사용자가 입력한 횟수 만큼 주사위가 굴려지고, 평균값을 계산한 출력한다.

    • 평균 값은 소수점 이하 한자리까지 표기한다.
  • 주사위의 평균값이 사용자의 예측 범위 안에 있는 경우 사용자는 상금을 받는다.

    • 상금은 소지금에 추가된다.
    • 예측 범위에 따른 배당
      • 1이상 2미만 : 3배
      • 2이상 3미만 : 2배
      • 3이상 4미만 : 1배
      • 4이상 5미만 : 2배
      • 5이상 6미만 : 3배
      • 6 : 5배
    • 시도 횟수에 따른 배당
      • (시도 횟수 - 1) * 0.1
      • 예시) 3회 시도 시, 0.2
    • 총 배당 = 예측 범위 배당 + 시도 횟수 배당
      • 예시)
      • 시도 횟수 5회(0.4), 예측 범위 4 이상 5 미만(2.0) => 총 배당 : 2.4배
  • 사용자의 최종 소지금을 출력한 뒤 종료한다.

  • 사용자가 잘못된 값을 입력하는 경우
    [ERROR] 로 시작하는 메시지를 출력한 뒤, 잘못 입력된 입력부터 다시 받는다.


💻 실행 결과

주사위 게임을 시작합니다.

플레이어 이름을 입력해주세요. 
polo

플레이어의 소지금을 입력해주세요. 
10000

주사위를 굴릴 횟수를 입력해주세요. 
7

배팅옵션을 선택해주세요.

1. 1이상 2미만
2. 2이상 3미만
3. 3이상 4미만
4. 4이상 5미만
5. 5이상 6미만
6. 6
 
3

배팅금액을 입력해주세요. 
8000

배팅 결과
배팅 금액 : 8000
배당 : 1.6
예상 상금 : 12800

1 회차 주사위 결과 : 6
2 회차 주사위 결과 : 3
3 회차 주사위 결과 : 1
4 회차 주사위 결과 : 5
5 회차 주사위 결과 : 6
6 회차 주사위 결과 : 3
7 회차 주사위 결과 : 5

최종 결과
플레이어 : polo
최종 소지금 : 2000
주사위 평균 : 4.1

주사위 게임을 시작합니다.

플레이어 이름을 입력해주세요. 
polo

플레이어의 소지금을 입력해주세요. 
a

[ERROR] 숫자만 입력가능합니다.

플레이어의 소지금을 입력해주세요. 
!

[ERROR] 숫자만 입력가능합니다.

플레이어의 소지금을 입력해주세요. 
10000

// 이하 동일


공통 요구사항

  • typescript를 사용한다.
  • 외부 라이브러리는 사용하지 않는다. (npm dependency 추가 금지)
  • indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다. 2까지만 허용한다.
  • 함수(또는 메소드)가 한 가지 일만 하도록 최대한 작게 만들어라.
  • 함수(또는 메소드)의 길이가 15라인을 넘어가지 않도록 구현한다.
    • 함수(또는 메소드)가 한 가지 일만 잘 하도록 구현한다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published