Skip to content

[๐Ÿš€ ์‚ฌ์ดํด2 - ๋ฏธ์…˜ (๋ธ”๋ž™์žญ ๋ฒ ํŒ…)] ์ œ์ด์ฝฅ ๋ฏธ์…˜ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.#1119

Open
khcho96 wants to merge 98 commits intowoowacourse:khcho96from
khcho96:step2

Conversation

@khcho96
Copy link

@khcho96 khcho96 commented Mar 14, 2026

์ฒดํฌ ๋ฆฌ์ŠคํŠธ

  • ๋ฏธ์…˜์˜ ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๊ตฌํ˜„ํ–ˆ๋‚˜์š”?
  • Gradle test๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ํ†ต๊ณผํ–ˆ๋‚˜์š”?
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๋‚˜์š”?

์–ด๋–ค ๋ถ€๋ถ„์— ์ง‘์ค‘ํ•˜์—ฌ ๋ฆฌ๋ทฐํ•ด์•ผ ํ• ๊นŒ์š”?

์‚ฌ์ดํด1 ๋งˆ์ง€๋ง‰ ์ฝ”๋ฉ˜ํŠธ์—์„œ ๋ฐ˜์˜ํ•œ ๋‚ด์šฉ

  1. ๋ง์”€์ฃผ์‹ ๋Œ€๋กœ Participants๊ฐ€ ๋‹จ์ˆœํžˆ Dealer์™€ Players๋ฅผ ๊บผ๋‚ด๊ธฐ๋งŒ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ Dealer์™€ Players์—๊ฒŒ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฃจ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ฑ…์ž„์„ ๋ถ€์—ฌํ•ด๋ดค์Šต๋‹ˆ๋‹ค.
  2. Result์™€ HitOrStand ํด๋ž˜์Šค๋ฅผ domain์œผ๋กœ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค.
  3. Hand์— 10์ด๋ผ๋Š” ๋งค์ง๋„˜๋ฒ„๋ฅผ ์ƒ์ˆ˜ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  4. Hand์— ์ ์ˆ˜๊ณ„์‚ฐ ๋กœ์ง์„ ๋ฉ”์„œ๋“œ๋กœ ์ถ”์ถœํ–ˆ์Šต๋‹ˆ๋‹ค.

์งˆ๋ฌธ

  1. ์˜๋„๋œ ์ค‘๋ณต์— ๋Œ€ํ•œ ์งˆ๋ฌธ

์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋ผ ํ•˜์ง€๋งŒ ๋–„๋กœ๋Š” ์˜๋„๋œ ์ค‘๋ณต์„ ๋งŒ๋“ค๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜„

์˜๋„๋œ ์ค‘๋ณต์„ ๋งŒ๋“ค๊ธฐ๋„ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์€ ์ถฉ๊ฒฉ์ ์ด๋„ค์š” ๐Ÿ˜ฎ
"์ค‘๋ณต"์— ๋Œ€ํ•ด 100% ๋ถ€์ •์ ์œผ๋กœ ๋ฐ”๋ผ๋ดค์—ˆ๋Š”๋ฐ, ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ธ์ง€ํ•˜๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค!
ํ•œ ๊ฐ€์ง€ ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ๋Š”๋ฐ, ์ฐฐ๋ฆฌ๋Š” constant ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋Š” ํŽธ์ธ๊ฐ€์š”?
๋งŒ์•ฝ ์‚ฌ์šฉํ•˜์‹ ๋‹ค๋ฉด ์–ด๋–ค ๊ฒฝ์šฐ์—, ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ๊ณตํ†ต์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” constant ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌํ•˜์‹œ๋‚˜์š”?

  1. ์ฑ…์ž„ ๋ถ„๋ฆฌ์— ๋Œ€ํ•œ ์งˆ๋ฌธ

BlackjackGameManager ๊ฐ€ ์ŠนํŒจ์— ๋Œ€ํ•œ ํŒ๋‹จ์„ ํ•˜๋Š”๊ฒƒ์€ ์ฑ…์ž„์ด ๊ณผํ• ๊ฒƒ ๊ฐ™๋„ค์š” ๐Ÿค” ์ŠนํŒจ ํŒ๋‹จ์„ ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๋ถ„๋ฆฌํ•ด๋ณด๋Š”๊ฒƒ๋„ ์ข‹๊ฒ ์–ด์š”~

์ œ๊ฐ€ ์ƒ๊ฐํ–ˆ์„ ๋•Œ ํ˜„์žฌ ์Šน๋ฌดํŒจ ํŒ๋‹จ์„ ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋Š” BlackjackGameManager ํด๋ž˜์Šค์˜ getBlackjackStatistics ๋ฉ”์„œ๋“œ ๋กœ์ง์ธ๋ฐ, ํŠนํžˆ ํ•ด๋‹น ๋ฉ”์„œ๋“œ ๋‚ด ์•„๋ž˜ 3์ค„์˜ ๋กœ์ง์ธ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.

Result result = judgePlayerResult(participants.dealer(), player);
int playerProfit = calculatePlayerProfit(player, result);
dealerProfit += playerProfit * -1;

์ด ๋กœ์ง์„ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด(A๋ผ๊ณ  ์ง€์นญํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค)๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ ๋‹ค๋ฉด A๋Š” judgePlayerResult ๋ฉ”์„œ๋“œ์™€ calculatePlayerProfit ๋ฉ”์„œ๋“œ๋ฅผ ํด๋ž˜์Šค ๋‚ด์—์„œ ๊ฐ€์งˆํ…๋ฐ, ์ด๋•Œ ๋ณด์‹œ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ฉ”์„œ๋“œ์˜ ์ธ์ˆ˜๋กœ Dealer์™€ Player๊ฐ€ ๋“ค์–ด๊ฐ€๊ธฐ๋•Œ๋ฌธ์— A๊ฐ€ Dealer์™€ Player์—๊ฒŒ ์˜์กดํ•˜๊ฒŒ ๋˜๊ณ , ๊ฒฐํ•ฉ๋„๊ฐ€ ์ปค์ง€๊ฒŒ ๋˜์ง€ ์•Š์„๊นŒ๋ผ๋Š” ๋ถ€๋ถ„์ด ์—ผ๋ ค๋ฉ๋‹ˆ๋‹ค. ๊ฒฐํ•ฉ๋„๊ฐ€ ์ปค์ง€๋ฉด ์ˆ˜์ •๋ฒ”์œ„๊ฐ€ ์ปค์ง€๊ฒŒ ๋˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ฐฐ๋ฆฌ์˜ ์˜๊ฒฌ์ด ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค!

  1. ์›์‹œ๊ฐ’ ํฌ์žฅ์— ๋Œ€ํ•œ ์งˆ๋ฌธ

Rank ํด๋ž˜์Šค์—์„œ score์˜ ์›์‹œ๊ฐ’ ํฌ์žฅ์— ๋Œ€ํ•ด ๋ง์”€ํ•ด์ฃผ์…จ๋Š”๋ฐ, ๋‹จ์ˆœํžˆ ์ƒ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๊ณ  ๋ธ”๋ž™์žญ ์ ์ˆ˜ ๊ทœ์น™์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ๋‹ค๋ฅธ ๊ฐ์ฒด์—์„œ ๋ฉ”์„œ๋“œ๋กœ ๊ตฌํ˜„ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— score์—์„œ ์–ด๋–ค ์ถ”๊ฐ€์ ์ธ ๊ทœ์น™์„ ๊ฒ€์ฆํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฃฐ์ง€ ์•„์ด๋””์–ด๊ฐ€ ๋– ์˜ค๋ฅด์ง€ ์•Š๋„ค์š”๐Ÿ˜‚
ํ˜น์‹œ ์ฐฐ๋ฆฌ ์ž…์žฅ์—์„œ score๋ฅผ ์›์‹œ๊ฐ’ ํฌ์žฅํ•œ๋‹ค๋ฉด ์–ด๋–ค์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜์‹ค์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค!

1์ฐจ ํ”ผ๋“œ๋ฐฑ ์ˆ˜์ • ์š”์†Œ

  1. ๋”œ๋Ÿฌ๊ฐ€ ๋ธ”๋ž™์žญ์ธ ๊ฒฝ์šฐ ๊ณ ๋ คํ•ด์„œ ์ŠนํŒจ ๋กœ์ง ์ˆ˜์ • ๊ตฌํ˜„
  2. Participant์— getName ๋ฉ”์„œ๋“œ ์ถ”์ƒํ™”
  3. ๋ฒ ํŒ…๊ธˆ์•ก์„ ๋‹ค ์ž…๋ ฅ๋ฐ›์€ ํ›„ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ์ˆ˜์ • -> Player์˜ BetAmount์ด ์ฐธ์กฐ๊ฐ’์„ null๋กœ ๊ฐ€์ง€์ง€ ์•Š๋„๋ก ์•ˆ์ •์„ฑ์„ ๋†’์—ฌ์คŒ
  4. PlayerName๋„ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ƒ์„ฑ(๊ฒ€์ฆ ํฌํ•จ)ํ•ด์„œ ๋„˜๊ธฐ๋„๋ก ์ˆ˜์ •
  5. BetAmount์˜ isPositive ๋ฉ”์„œ๋“œ isNotPositive๋กœ ๋ฉ”์„œ๋“œ๋ช… ์ˆ˜์ •
  6. ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์นด๋“œ๋ฅผ ๋ฝ‘์•„ ๋ฒ„์ŠคํŠธ๊ฐ€ ๋˜๋ฉด ๋‹ค์Œ ์ฐจ๋ก€๋กœ ๋„˜์–ด๊ฐ€๋„๋ก ์ˆ˜์ •
  7. Hand์˜ calculateAceCount ์ˆ˜์ •
  8. OutputView ์•ˆ์“ฐ๋Š” ๋ฉ”์„œ๋“œ ์‚ญ์ œ
  9. ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ๋ฐฐ๋‹น์„ BlackjackGameManager์˜ calculatePlayerProfit ๋ฉ”์„œ๋“œ ์‚ญ์ œ ๋ฐ ํ•ด๋‹น ๋กœ์ง์— ๋Œ€ํ•œ ์ฑ…์ž„์„ Result๊ฐ€ ๊ฐ€์ง€๋„๋ก ์ˆ˜์ •
  10. ์ŠนํŒจ ๋ฐ ์ˆ˜์ต ๊ณ„์‚ฐ ๋กœ์ง ๊ฐ์ฒด ๋ถ„๋ฆฌ ๋ฐ ์ŠนํŒจํŒ๋‹จ ๋กœ์ง ์ˆ˜์ • -> BlackjackJudge
 1. ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ฒ„์ŠคํŠธ -> ํ”Œ๋ ˆ์ด์–ด LOSE
 2. ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ธ”๋ž™์žญ(์ „์ œ: ํ”Œ๋ ˆ์ด์–ด๋Š” ๋ฒ„์ŠคํŠธ ์•„๋‹˜) && ๋”œ๋Ÿฌ๊ฐ€ ๋ธ”๋ž™์žญ์ด๋ฉด -> DRAW
 3. ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ธ”๋ž™์žญ(์ „์ œ: ํ”Œ๋ ˆ์ด์–ด๋Š” ๋ฒ„์ŠคํŠธ ์•„๋‹˜) && ๋”œ๋Ÿฌ๊ฐ€ ๋ธ”๋ž™์žญ์•„๋‹ˆ๋ฉด -> ํ”Œ๋ ˆ์ด์–ด BLACKJACK_WIN
 4. ๋”œ๋Ÿฌ๊ฐ€ ๋ฒ„์ŠคํŠธ(์ „์ œ: ํ”Œ๋ ˆ์ด์–ด๋Š” ๋ฒ„์ŠคํŠธ ๋˜๋Š” ๋ธ”๋ž™์žญ ์•„๋‹˜) -> ํ”Œ๋ ˆ์ด์–ด WIN
 5. ํ”Œ๋ ˆ์ด์–ด ์ ์ˆ˜ > ๋”œ๋Ÿฌ ์ ์ˆ˜(์ „์ œ: ํ”Œ๋ ˆ์ด์–ด์™€ ๋”œ๋Ÿฌ๋Š” ๋ฒ„์ŠคํŠธ ๋˜๋Š” ๋ธ”๋ž™์žญ ์•„๋‹˜) -> ํ”Œ๋ ˆ์ด์–ด WIN
 6. ํ”Œ๋ ˆ์ด์–ด ์ ์ˆ˜ == ๋”œ๋Ÿฌ ์ ์ˆ˜(์ „์ œ: ํ”Œ๋ ˆ์ด์–ด์™€ ๋”œ๋Ÿฌ๋Š” ๋ฒ„์ŠคํŠธ ๋˜๋Š” ๋ธ”๋ž™์žญ ์•„๋‹˜) -> DRAW
 7. 1~6 ์•„๋‹˜ -> ํ”Œ๋ ˆ์ด์–ด LOSE
  1. record ํด๋ž˜์Šค๋Š” equals, hashCode ๋ฉ”์„œ๋“œ ์ž๋™ ๊ตฌํ˜„์ด๋ฏ€๋กœ Card์˜ equals ์‚ญ์ œ

khcho96 added 30 commits March 13, 2026 08:45
โ€ฆialScore() ๋ฉ”์„œ๋“œ ๊ตฌํ˜„
โ€ฆmeManager ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ
khcho96 added 29 commits March 14, 2026 22:58
โ€ฆ์„œ๋“œ ๋ฐ calculatePlayerProfit()๋ฅผ BlackjackJudge๋กœ ์ด๋™
โ€ฆult(), calculatePlayerProfit()๋ฅผ BlackjackJudge๋กœ ์ด๋™
Copy link

@Gomding Gomding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์•ˆ๋…•ํ•˜์„ธ์š” ์ œ์ด์ฝฅ!
์ „์ฒด์ ์œผ๋กœ ์ž˜ ์ˆ˜์ •ํ•ด์ฃผ์…จ๋„ค์š” :)
์ถ”๊ฐ€๋กœ ์ฝ”๋ฉ˜ํŠธ ๋‚จ๊ฒผ์œผ๋‹ˆ ํ™•์ธ๋ถ€ํƒ๋“œ๋ ค์š”!

๊ถ๊ธˆํ•œ ์  ์žˆ์œผ๋ฉด ์–ธ์ œ๋“  DM ์ด๋‚˜ ์ฝ”๋ฉ˜ํŠธ ๋‚จ๊ฒจ์ฃผ์„ธ์š”~

}

public boolean isBlackjack() {
return calculateInitialScore() == BLACKJACK_SCORE;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์‚ฌ์‹ค Blackjack ์ด๋ผ๋Š” ์ ์ˆ˜๋Š” ์กฐ๊ธˆ ํŠน์ดํ•œ ๊ทœ์น™์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค
๋‹จ์ˆœ 21์ ๊ณผ Blackjack ์ด๋ผ๋Š” ์ ์ˆ˜ ์ƒํƒœ๋Š” ์†ํŒจ์˜ ์ƒํƒœ๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค

๋ธ”๋ž™์žญ์€ ํŒจ๊ฐ€ 2์žฅ + 21์ ์ผ ๋•Œ ๋ฅผ ๋ธ”๋ž™์žญ์ด๋ž€ ์ƒํƒœ๋กœ ๋ณด๊ณ ์žˆ์–ด์š”~

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ˜„์žฌ calculateInitialScore()๊ฐ€ ์ฒ˜์Œ ๋ฐ›์€ 2์žฅ์ด 21์ผ ๋•Œ๋ฅผ Blackjack์œผ๋กœ ๋ณด๊ณ  ์žˆ๋Š”๋ฐ, ๊ทธ๋ƒฅ calculateTotalScore() == BLACKJACK_SCORE์ด๋ฉด์„œ cards.size() == 2์ธ ๊ฒƒ์„ ๋ณด๋Š”๊ฒŒ ์ •ํ™•ํ•˜๊ฒ ๊ตฐ์š”!

ํ•ด๋‹น๋ถ€๋ถ„ ์œ„์™€ ๊ฐ™์ด ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค!

import java.util.List;
import org.junit.jupiter.api.Test;

class BlackjackResultDtoTest {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dto ๋Š” ํ…Œ์ŠคํŠธ ๋Œ€์ƒ์ด ๋งž์„์ง€ ๊ณ ๋ฏผํ•ด๋ณด๋ฉด ์ข‹๊ฒ ์–ด์š”!
ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ด์œ ์™€ ๋น„์Šทํ•  ๊ฒƒ ๊ฐ™๋„ค์š” :)

์ €๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹๊ธดํ•˜์ง€๋งŒ DTO ๋Š” ๋‹จ์ˆœ ๊ฐ’์„ ๋‹ด๋Š” ๊ฐ์ฒด์ด๋‹ˆ ๊ผญ ํ•„์š”ํ•œ๊ฐ€? ๋ผ๋Š” ์ž…์žฅ์ด๊ธด ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜„
๊ทธ ์‹œ๊ฐ„์— ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ํด๋ž˜์Šค์˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ์— ์‹œ๊ฐ„์„ ๋” ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ์š”!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ† ๋ก  ์‹œ๊ฐ„์— ์ •ํ•œ ๊ทœ์น™์ด "getter, setter, ๊ทธ๋ฆฌ๊ณ  ๋‹จ์ˆœ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๋งŒ ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ œ์™ธํ•œ public ๋ฉ”์„œ๋“œ๋Š” ๋ชจ๋‘ ํ…Œ์ŠคํŠธํ•œ๋‹ค"์—ฌ์„œ Dto ๋˜ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทผ๋ฐ ์ž‘์„ฑํ•˜๋ฉด์„œ๋„ "์ด๊ฑธ ํ•ด์•ผํ•˜๋‚˜.." ์‹ถ์—ˆ๋Š”๋ฐ, ๋ช…ํ™•ํžˆ ์งš์–ด์ฃผ์…”์„œ ๋”์šฑ ํ…Œ์ŠคํŠธ๋ฅผ ์•ˆํ•ด๋„ ๋˜๊ฒ ๋‹ค๋Š” ํ™•์‹ ์ด ์ƒ๊ธฐ๋„ค์š”๐Ÿ˜‚

Dto ํ…Œ์ŠคํŠธ๋Š” ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค!

Comment on lines +12 to +17
if (player.isBlackjack() && dealer.isBlackjack()) {
return Result.DRAW;
}
if (player.isBlackjack()) {
return Result.BLACKJACK_WIN;
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๋ ‡๊ฒŒ ํ•˜๋Š”๊ฒƒ๋„ ๊ฐ€๋Šฅํ•  ๊ฒƒ ๊ฐ™๋„ค์š” ๐Ÿค”

Suggested change
if (player.isBlackjack() && dealer.isBlackjack()) {
return Result.DRAW;
}
if (player.isBlackjack()) {
return Result.BLACKJACK_WIN;
}
if (player.isBlackjack()) {
if (dealer.isBlackjack()) {
return Result.DRAW;
}
return Result.BLACKJACK_WIN;
}

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋งž์Šต๋‹ˆ๋‹ค! ๊ทผ๋ฐ ์ด๋ฒˆ ๋ฏธ์…˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ์‚ฌํ•ญ์—์„œ indent๋ฅผ 1๊นŒ์ง€๋งŒ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ๊ทœ์น™์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์‹ค indent๊ฐ€ 2์ •๋„์—ฌ๋„ ์ถฉ๋ถ„ํžˆ ๊ฐ€๋…์„ฑ์žˆ๊ณ  ๊น”๋”ํ•œ ์ฝ”๋“œ๋ผ๊ณ  ์ €๋Š” ์ƒ๊ฐํ•˜๋Š”๋ฐ.. ํ”„๋ฆฌ์ฝ”์Šค ๋ฏธ์…˜์—์„œ๋„ indent๋Š” 2๊นŒ์ง€ ํ—ˆ์šฉ์ด์—ˆ๊ตฌ์š”!
indent 1์„ ์œ ์ง€ํ•˜๋ ค๋‹ค๋ณด๋‹ˆ ์˜คํžˆ๋ ค ๋” ๊ฐ€๋…์„ฑ์ด ์—†์–ด์ง€๋Š” ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜ค๋Š” ๋А๋‚Œ์ž…๋‹ˆ๋‹ค..๐Ÿ˜‚

์ฐฐ๋ฆฌ๋Š” ์ด ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค!

Comment on lines 22 to 25
public BlackjackGameManager() {
this.cardMachine = new CardMachine();
this.blackjackJudge = new BlackjackJudge();
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ•„์š”ํ•œ ์˜์กด์„ ์ƒ์„ฑ์ž ์ธ์ž๋กœ ๋ฐ›๋Š”๊ฒƒ์ด ๋” ์œ ์—ฐํ•œ ๊ตฌ์กฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ
์ด๋ฏธ ๊ตฌํ˜„ํ•˜์‹  BlackjackControllerFactory ๋ผ๋Š”๊ฒƒ๋„ ์žˆ์œผ๋‹ˆ BlackjackGameManager ๋„ ๊ณ ๋ฏผํ•ด๋ณผ ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”

Comment on lines +27 to +28
public void createParticipants(List<PlayerName> playerNames, List<BetAmount> betAmounts) {
participants = Participants.of(playerNames, betAmounts);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ƒ์„ฑ์ž์—์„œ ํ”Œ๋ ˆ์ด์–ด๋“ค์„ ๋ฐ›์ง€์•Š๊ณ  ๋ณ„๋„๋กœ ์ƒ์„ฑํ•˜๋Š”๊ฒƒ๋„ ๊ณ ๋ฏผํ•ด๋ณด๋ฉด ์ข‹๊ฒ ์–ด์š”~


private final InputView inputView;
private final OutputView outputView;
private final BlackjackGameManager blackjackGameManager;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๋ถ€๋ถ„๋„ ์‚ฌ์ดํด1์—์„œ ํ”ผ๋“œ๋ฐฑ์„ ๋ชป๋“œ๋ ธ๋Š”๋ฐ
Controller ๊ฐ€ BlackjackGameManager ๋ผ๋Š”๊ฒƒ์„ ์ƒํƒœ๋กœ ๊ฐ€์ ธ๋„ ๊ดœ์ฐฎ์„๊นŒ์š”?
Controller ๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ๊ฒŒ ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ด์š”
์ œ์ด์ฝฅ์€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?

Comment on lines +19 to +32
public void drawInitialCards(Supplier<Card> cardSupplier) {
dealer.addCard(cardSupplier.get());
dealer.addCard(cardSupplier.get());
players.drawInitialCards(cardSupplier);
}

public void drawCardsByDealer(Supplier<Card> cardSupplier) {
dealer.addCard(cardSupplier.get());
}

public Player drawCardsByPlayer(String name, Supplier<Card> cardSupplier) {
players.addCard(name, cardSupplier.get());
return players.getPlayer(name);
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด์ฃผ์‹ ์  ์ข‹๋„ค์š”! ๐Ÿ‘ ๐Ÿ‘ ๐Ÿ‘

+) ํ…Œ์ŠคํŠธ์˜ ์–ด๋ ค์›€์ด๋ผ๋ฉด ์•„๋ž˜ ๊ธ€๋„ ํ•™์Šตํ•ด๋ณด์‹œ๋ฉด ์ข‹๊ฒ ์–ด์š”~

Comment on lines +36 to +46
private Integer calculateBaseScore() {
return cards.stream()
.map(Card::getScore)
.reduce(0, Integer::sum);
}

private Integer calculateInitialBaseScore() {
return cards.subList(0, INITIAL_CARD_COUNT).stream()
.map(Card::getScore)
.reduce(0, Integer::sum);
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ฝ”๋“œ์— ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์–ด์„œ ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„๋งŒ private ๋ฉ”์„œ๋“œ๋กœ ์ถ”์ถœํ•ด๋ณผ ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์œ„์˜ ํ”ผ๋“œ๋ฐฑ ์ ์šฉ ๊ณผ์ •์—์„œ calculateInitialBaseScore ๋ฉ”์„œ๋“œ๊ฐ€ ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๊ธฐ์ค€์ด ๋ช…ํ™•ํ•˜๋„ค์š” ๐Ÿ‘ ๐Ÿ‘ ๐Ÿ‘
์ „์ฒด์ ์œผ๋กœ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants