1.17.(수) 모각코

2024. 1. 22. 18:34·모각코/어쩌다보니 박준태가 조장이조
728x90

카드 게임 블랙잭을 구현해보았다.

이전에 학습 했던 MVC패턴을 응용하고, 테스트 코드 또한 작성해보는 실습을 했다.

학습 과정에서 어려웠던 점은 객체를 분류하고, 그에 따른 객체의 역할과 동작을 설계하여, MVC 패턴을 지키면서 작성하는 것이었다.

이 과정에서 getter, setter를 사용하지 않고, DTO를 사용하면서 객체의 존재를 유지하면서 구현을 해보았다.

먼저, 객체로 정의할 것에 대해서 생각 해보았다.

블랙잭은 21의 숫자에 가깝게 카드를 가지면 이기고, 21은 넘어가면 지는 게임이다. 그래서 이에 따라 역할을 생각 해보았을 때

크게 card, player, dealer로 3가지가 떠올랐다.

그래서 이에 대한 구현을 시작으로 해보았다. 첫 번째로 카드에 대한 특징과 가지고 있는 것에 대해서 알아보았다.

카드는 스페이드, 다이아몬드, 클로버, 하트의 4가지 모양이 있을 수 있고, 1~10까지의 숫자를 가진다. J,Q,K가 있지만 모두 10으로 계산한다는 요구사항이 있어서 따로 이들을 분류하지는 않았다.

그래서 카드의 문양을 나타내는 cardsymbol과, 카드의 숫자를 나타내는 cardValue를 클래스로 정의하고, 이를 통해 카드를 만들었다.

그 다음은 dealer와 player다.

둘의 역할은 비슷하지만, dealer의 역할이 추가적으로 있다고 생각을해서 dealer가 player를 상속하도록 만들었다.

이렇게 한 후

Controller에서 게임을 다룰 수 있도록, playGameService를 구현하였다.

그리고 이런 과정을 통해서 나오는 입출력의 결과를 InputView와 OutputView로 관리하였다.

 

구현 코드는 아래 깃허브에서 확인할 수 있다.

https://github.com/juntae6942/java-blackjack

 

GitHub - juntae6942/java-blackjack

Contribute to juntae6942/java-blackjack development by creating an account on GitHub.

github.com

 

이 실습 과정을 진행하면서 아직 Java 코드 컨벤션에 대한 습관이 덜 되었다는 것과 코드 작성에 있어서 중복 사용되는 로직이나, 변수명, 메서드명 관리가 부족하다는 것을 깨달았고, 좀 더 학습이 필요함을 깨달았다.

728x90

'모각코 > 어쩌다보니 박준태가 조장이조' 카테고리의 다른 글

5회차 어쩌다보니 박준태가 조장이조 - 1.30.(화)  (0) 2024.02.03
1.22.(월) 모각코  (0) 2024.01.30
4회차 어쩌다보니 박준태가 조장이조 - 1.22.(월)  (0) 2024.01.22
3회차 어쩌다보니 박준태가 조장이조 - 1.17.(수)  (2) 2024.01.17
1.10.(수) 모각코  (0) 2024.01.15
'모각코/어쩌다보니 박준태가 조장이조' 카테고리의 다른 글
  • 5회차 어쩌다보니 박준태가 조장이조 - 1.30.(화)
  • 1.22.(월) 모각코
  • 4회차 어쩌다보니 박준태가 조장이조 - 1.22.(월)
  • 3회차 어쩌다보니 박준태가 조장이조 - 1.17.(수)
Bello's
Bello's
개발하는 벨로
  • Bello's
    벨로의 개발일지
    Bello's
  • 전체
    오늘
    어제
    • 분류 전체보기 (199) N
      • 노예 일지 (7)
        • 스타트업 노예일지 (3)
      • CS 이론 (81)
        • 학과 수업 (4)
        • 알고리즘 (64)
        • 시스템 프로그래밍 (3)
        • 데이터 통신 (1)
        • 운영체제 (2)
        • 데이터베이스 (1)
      • project (3)
      • 나는 감자다. (4)
      • Spring (27)
      • 모각코 (45)
        • 절개와지조(모각코) (7)
        • 어쩌다보니 박준태가 조장이조 (11)
        • 어쩌다보니 박준태가 또 조장이조 (12)
      • LikeLion🦁 (20)
      • 캘리포니아 감자 (4)
      • OpenSource Contribute (1)
      • 우아한테크벨로 (1) N
        • 프리코스 회고록 (6) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    감자
    프리코스
    BFS
    DFS
    Spring
    오블완
    백준
    JPA
    티스토리챌린지
    나는 감자
    누적합
    자바
    회고록
    그래프 순회
    어렵다
    8기
    모각코
    타임리프
    뛰슈
    절개와지조
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Bello's
1.17.(수) 모각코
상단으로

티스토리툴바