Giter Club home page Giter Club logo

java-blackjack-precourse's Introduction

우아한 테크코스 프리코스 3주차 블랙잭 게임

준비

  • JDK(>=8)
  • gradle or IntelliJ
  • AssertJ 3.14.0
  • JUnit 5

TODO

issue

  • 블랙잭은 트럼프덱 몇개를 사용하는가?
  • 이 미션에선 몇개의 덱으로 미션을 진행해야하는가?

프로그래밍시 지켜야할 것

  • 자바 코드 컨벤션을 지키면서 프로그래밍한다.
  • indent depth (< 2)
  • 3항연산자 금지
  • else 예악어 금지
  • 하나의 메소드는 하나의 일만하도록
  • 하나의 메소드의 라인수 (< 10)
  • 객체에 메세지를 보내라

Class , methods

domain

Card
  • 이 카드의 점수를 가져오는 기능
  • ACE 카드인지 여부 확인하는 기능
Player
  • Dealer 와 상속관계.
  • Dealer 객체의 필드(이름)은 "딜러"
  • 자신이 가진 카드들 String 으로 이쁘게 반환해주는 기능
  • 자신이 가진 카드들 점수 가져오는 기능
  • 자신이 Burst(점수 > 21) 인지 확인하는 기능
  • 자신이 블랙잭인지 확인하는 기능
  • 카드를 분배받을시 카드를 잘 받아 저장하는 기능
  • 자기가 딜러인지여부 확인해주는 기능
  • 딜러의 (점수 <= 16) 인지 확인하는 기능
  • ACE 카드 존재 정보 가져오는 기능
  • ACE 카드는 1 또는 11로 점수가져오도록
  • Player(Dealer) 끼리 점수 비교 기능
  • Player(Dealer) 초기 카드 받는 기능
  • 카드더받기 여부 확인받아 카드 더받음
  • Burst 이면 카드 더 받을수 없음
  • 딜러는 카드 더받을때 안받음 (나중에받음)
  • 딜러의 카드 더받는 기능
  • 플레이어들 카드 다받을시 딜러 히든카드 보이는(받는) 기능
  • 자신의 점수 가져오는 기능
  • 딜러의 BlackJack 체크 기능
  • Black jack 이면 추가카드 못받도록 하기
Deck (게임내 소유되지않은 카드들 관리)
  • 카드한장 뽑아주는 기능
Gamers (게임하는 사람들 관리 객체)
  • Player(Dealer) 초기 카드 받는 기능
  • 플레이어 전체 이름 반환하는 기능
  • 플레이어 전체 이름, 카드 toString 기능
  • 딜러 호출하는 기능
  • 플레이어들 Burst, Blackjack 인 플레이어 가져오는 기능
  • 플레이어 죽이는(die) 기능 추가.
  • 플레이어들과 플레이어 점수 비교하는 기능 추가
Game
  • 게임을 돌리는 기능
  • 각 플레이어별 카드 더 받도록 도와주는 기능
StakeManager 판돈정산 기능
  • 플레이어 burst 는 -판돈 반환
  • 플레이어 블랙잭은 판돈의 1.5배 추가 반환
  • 플레이어 && 딜러 블랙잭은 판돈돌려받기
  • 플레이어 딜러 비교 하여 +판돈 또는 -판돈 반환
  • 플레이어 잃거나 딴 만큼 딜러머니 적용

view

input
  • 참가할 사람 입력받기.
  • 불필요 입력 예외처리
  • 사람입력 "," 로 구분하여 보내기.
  • 배팅금액 입력 받기
  • 배팅금액 예외처리 해서 보내기.
  • 카드 더받을지 여부 입력받기
  • 카드 더받을지 여부 예외처리하기
  • 최대 인원 제한걸기 (<= 10)
output
  • 게임참여출력
  • 배팅금액 물어보기 출력
  • 초반 카드 나누기 출력
  • 각 플레이어(+딜러)의 소유한 카드 출력
  • 각 플레이어에게 카드 더받을지여부 출력
  • 딜러 점수가 16 이하여서 한장 더받음 출력
  • 각플레이어 소유한 카드와 결과 같이 출력
  • 플레이어 lose 는 수익 -1배 출력
  • 플레이어 블랙잭은 수익 1.5배 출력
  • 플레이어 win 은 수익 1배 출력
  • 플레이어 draw 는 수익 0배 출력
  • 딜러 수익 출력

Test

domain

Card
  • POJO test
Player
  • POJO test

view

java-blackjack-precourse's People

Contributors

lttttte avatar pobiconan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.