[π μ¬μ΄ν΄2 - λ―Έμ (λΈλμ λ² ν κΈ°λ₯)] μ μ λ―Έμ μ μΆν©λλ€.#1093
[π μ¬μ΄ν΄2 - λ―Έμ
(λΈλμ λ² ν
κΈ°λ₯)] μ μ λ―Έμ
μ μΆν©λλ€.#1093Gomding merged 72 commits intowoowacourse:alstj2384from
Conversation
Gomding
left a comment
There was a problem hiding this comment.
μλ
νμΈμ μ μ !
μ¬μ΄ν΄2 λΉ λ₯΄κ² μ§νν΄μ£Όμ
¨λ€μ π
μ½λ©νΈ λ¨κ²ΌμΌλ νμΈλΆνλλ €μ~
μ΄μ PR μ λ¨Έμ§νλ©΄μ λ¨κ²Όλ μ½λ©νΈλ μ΄λ²μ κ³ λ €νμ§ μμΌμ κ² κ°μλ°
ν¨κ» λ°μν΄μ£ΌμΈμ
μΆκ°λ‘ κΆκΈν μ μμΌλ©΄ DM μ΄λ μ½λ©νΈ λ¨κ²¨μ£ΌμΈμ!
There was a problem hiding this comment.
μλ νμΈμ 찰리!
μ€λ "μν ν¨ν΄"μ μκ² λμ΄ νμ΅ ν μ μ©νμ¬ λ¦¬ν©ν λ§ ν΄λ³΄μμ΅λλ€.(μμ§ λ§μ΄ μ΄λ ΅μ΅λλ€....)
κ·Έ μΈμλ νλ¦ μ μ΄λ₯Ό λ΄λΉνλ BlackjackGameμ μμ ν ν, Controllerμμ λλ©μΈμ νμ©νμ¬ νλ¦μ μ μ΄νλλ‘ μμ νμ΅λλ€!
Gomding
left a comment
There was a problem hiding this comment.
μλ
νμΈμ μ μ !
μν ν¨ν΄ λμ
ν΄μ£Όμ
¨λ€μ π
λͺκ°μ§ μ견 λ¨κ²ΌμΌλ νμΈν΄μ£ΌμΈμ~
κΆκΈν μ μμΌλ©΄ μΈμ λ DM μ΄λ μ½λ©νΈ λ¨κ²¨μ£ΌμΈμ!
Gomding
left a comment
There was a problem hiding this comment.
μλ
νμΈμ μ μ !
κ³ λ―Όκ³Ό ν¨κ» μ μ νκ² μμ ν΄μ£Όμ
¨λ€μ~
μΆκ°λ‘ λͺκ°μ§ μ½λ©νΈ λ¨κ²Όλλ° νμΈν΄μ£ΌμΈμ!
λ€μ μμ²μλ λ¨Έμ§ν΄λ λ κ² κ°μμ :)
κΆκΈν μ μμΌλ©΄ μΈμ λ DM μ΄λ μ½λ©νΈ λ¨κ²¨μ£ΌμΈμ π
alstj2384
left a comment
There was a problem hiding this comment.
νΌλλ°± λ°μνμ¬ μ μΆν©λλ€! π
Gomding
left a comment
There was a problem hiding this comment.
μλ
νμΈμ μ μ !
κ³ λ―Όκ³Ό ν¨κ» μ λ°μν΄μ£Όμ
¨λ€μ~
λ¨Έμ§ν μμ μ΄λΌκ³ νμ§λ§..
λͺκ°μ§λ§ ν¨κ» μ κ²ν΄λ³΄λ©΄ μ’κ² μ΄μ RC λ립λλ€ π
κΆκΈν μ μμΌλ©΄ DM μ΄λ μ½λ©νΈ λ¨κ²¨μ£ΌμΈμ! π
| this.cards = List.copyOf(hand.getCards()); | ||
| public static Hand of(List<Card> cards) { | ||
| return new Hand(cards); | ||
| } |
There was a problem hiding this comment.
ν΄λΉ μ μ ν©ν 리 λ©μλλ μ΄λ€ μλλ‘ λ§λμ 건κ°μ?
μλ μμ±μμ μ΄λ€ μ°¨μ΄κ° μμκΉμ?
private Hand(List<Card> cards) {
this.cards = cards;
}There was a problem hiding this comment.
μ΄ λΆλΆμ μ΄λ»κ² νλ κ² μ μ ν μ§ κ³ λ―Όμ λλ€.
Hand κ°μ²΄ μμ± λ°©λ²μ΄ "Handμ 볡μ¬λ³Έμ λ°ννλ μ μ ν©ν 리 λ©μλ"μ "newλ₯Ό μ΄μ©ν μμ±" λ κ°μ§κ° νΌμ¬λλ©΄ μ¬μ©μ μ μ₯μμ "λ μ¬μ©ν΄μΌ νμ§?" νκ³ ν·κ°λ¦΄ μλ μμ κ±° κ°μμ΅λλ€.
κ·Έλμ μ μ ν©ν 리 λ©μλκ° ν¬ν¨λλ ν΄λμ€μ μμ±μλ λͺ¨λ μ μ ν©ν 리 λ©μλλ₯Ό μ¬μ©νλλ‘ κ΅¬ννλλ°μ.
λ°λ‘ νΉμν λͺ©μ μ΄ μλ μμ±μλ§ μ μ ν©ν 리 λ©μλλ₯Ό μ΄μ©νκ³ ,
μμλ‘ μ£Όμ κ² μ²λΌ κΈ°λ³Έμ μΈ μμ±μ newλ₯Ό μ΄μ©ν μμ±μ νλλ‘ νλ κ² μ μ ν κΉμ?
찰리μ μκ²¬μ΄ κΆκΈν©λλ€ π€οΏ½
There was a problem hiding this comment.
κ³ λ―Όμ μ μ νκ² ν΄μ£Όμ
¨λ€μ!
νμ 컨벀μ
, μ·¨ν₯μ λ°λΌ λ¬λΌμ§ κ·μΉμΌλ‘ 보μ΄λ€μ γ
γ
μΌλ¨ μ λ κΈ°λ³Έμ μΈ νλλ₯Ό λ°μμ μμ±νλ κ²μ΄λΌλ©΄ new λ₯Ό μ΄μ©ν μμ±μλ₯Ό μ¬μ©νλκ² λͺ
ννλ€κ³ μκ°ν΄μ!
κ·Έλ°λ° new μμ±μλ₯Ό private μΌλ‘ λ«μλμ κ²μ μ΄μ λ΄€λ€μ π
λ§μ½ private μΌλ‘ λ«μλμ
¨λ€λ©΄ μ λ μ μ μ ꡬνλλ‘ μ μ ν©ν λ¦¬λ§ μ 곡νλ€! λΌλ λ°©ν₯λ λμν©λλ€
νΌλμ λλ €μ μ£μ‘ν΄μ π₯²π₯²π₯²
| public boolean decideHitStand(Score boundary) { | ||
| return getTotalSum().isLessThanOrEqualTo(boundary); | ||
| public boolean isHittable() { | ||
| return state.hand().totalSum().isLessThanOrEqualTo(Score.DEALER_HIT_STAND_BOUNDARY); |
There was a problem hiding this comment.
state μμ hand λ₯Ό κΊΌλ΄μ μ΄μ μ κ³μ°νλκ²μ΄ μ³μκΉμ!
λλ―Έν° λ²μΉ, Tell Dont Ask μμΉμΌλ‘ κ³ λ―Όν΄λ³΄μμ£ π
There was a problem hiding this comment.
λ°μν΄μ 리ν©ν λ§ νμ΅λλ€!
ν κ°μ§ κΆκΈν μ μ΄ μλλ°, 리ν©ν λ§ κ³Όμ μμ λ΄λΆ ν΄λμ€μ λ©μλ κ²°κ³Όλ₯Ό κ·Έλλ‘ λ΄λ³΄λ΄λ κ²½μ°κ° μκΈ°λλ°, μ΄λ΄ λλ§λ€ μ€κ³κ° μλͺ»λ건κ°? λΌλ μκ°μ΄ λλλ€. λ¬Όλ‘ ν΄λΉ ν΄λμ€μμ μνν μ μλ λ‘μ§μ΄ ν¬ν¨λλ€λ©΄ κ·Έ μμ²΄λ‘ μλ―Έκ° μκ² μ§λ§, κ·Έλ μ§ μμ κ²½μ°(λνλ§ νλ κ²½μ°)μ μ°μ°ν λλμ΄ λλλ°μ.
ν΄λμ€μ κ²°κ΄κ°μ λνλ§ νλ κ²½μ°λ μ΄μ© μ μμ΄ μΌμ΄λλ κ±ΈκΉμ?
νΉμ μ€κ³κ° μλͺ»λμλμ§ κ²μ¬ν΄ λ³Όλ§ν νΈλ¦¬κ±°λ‘ μ¬μ©ν΄ λ³Όλ§ ν κΉμ?
λ¬Όλ‘ μ λμ μ°¨μ΄κ° μκ² μ§λ§, μ°μ°ν λλμ΄ λλ κ²½μ° μ΄λ»κ² μκ°ν΄ 보면 μ’μμ§ κΆκΈν΄μ.
There was a problem hiding this comment.
κ³ λ―Όμ ν΄λ³Ό μ μλ λΆλΆμ΄λ€μ γ
γ
μ€κ³μ λν΄ μ κ²μ ν΄λ³Ό μ μλ λλμ΄λΌ μκ°ν΄μ!
λ€λ§ λλ―Έν° λ²μΉμ νμ λ°°κ²½μ λν΄μλ μ΄λ―Έ μκ³ κ³μ€κ±°λΌ μκ°ν΄μ :)
μΈλΆμ μΈ κ²μ λν μμ‘΄μ μμ κ³ νλ ₯νλ κ°μ²΄νκ³ λ§ λνλ₯Ό νλκ²μ΄μ£
μΈλΆμ μΈ κ²μ μκ²λλ©΄ μ΄λ€ λ¨μ μ΄ μλμ§λ μ μ λ μκ³ κ³μκ² μ£ ? π
| throw new IllegalArgumentException(Card.FIELD_CAN_NOT_BE_NULL); | ||
| } | ||
| } | ||
| protected State state; |
There was a problem hiding this comment.
λ¨μ μ§λ¬ΈμΈλ°
state λ final λ‘ μ¬ ν λΉμ΄ λΆκ°λ₯νλλ‘ νλκ²μ κ³ λ €ν΄λ³΄μ
¨μμ§ κΆκΈν΄μ!
λΆλ³λ κ³ λ €ν΄λ³΄μ
¨μκΉ κΆκΈνμ¬..
μ μ μ μ νμ΄μ κ° κΆκΈν©λλ€ π
There was a problem hiding this comment.
λΆλ³μΌλ‘ νλ λ°©λ²μ κ³ λ―Όμ ν΄λ³΄μ§ λͺ»νμ΅λλ€. π
κ°μ²΄λ₯Ό λ°ννλ μν ν¨ν΄μμ finalμ μ¬μ©νμ§ μλ κ² κ΅¬μ‘°μ μΌλ‘ κ°λ₯νκ°? λΌλ κΆκΈμ¦μ΄ λ€μ΄μ.
Participantκ° μλλλΌλ Stateλ₯Ό μ¬μ©νλ μ μ₯μμ λ³νλλ State μνλ₯Ό μ μ©νκΈ° μν΄μ finalμ΄ μμ΄μΌ ν κ±° κ°μλ°, νΉμ λ μ μ ν λ°©λ²μ΄ μμμ§ κΆκΈν©λλ€.
There was a problem hiding this comment.
ꡬ쑰μ μΌλ‘ κ°λ₯μ νμ§λ§ ꡬν 볡μ‘λκ° λμμ§λ λ¨μ μ΄ μμ κ±°μμ
μνκ° λ³κ²½λ λλ§λ€ λͺ¨λ Participant κΉμ§ μλ‘κ² λ°νν΄μΌνλκΉμ π
μ κΈ°μ€μμλ μ€λ²μμ§λμ΄λ§ νμ§μκ³ μ μ νκ² κ΅¬νν΄μ£Όμ
¨λ€κ³ μκ°νμ¬
ν΄λΉ λΆλΆλ κ³ λ―Όν΄λ³΄μ
¨λμ§ κΆκΈνμ΄μ!
| private void hitByDecision(Deck deck, Player player) { | ||
| if (inputView.readHitStand(player)) { | ||
| player.draw(deck.draw()); | ||
| return; | ||
| } | ||
| player.stay(); | ||
| } |
There was a problem hiding this comment.
ννΈλ μ€ν λλμ λ°λΌ μ΄λ€κ²μ΄ νΈμΆλ μ§λ λλ©μΈ μͺ½μ 맑겨λ΄λ λκ² λ€μ
boolean isHit = inputView.readHitStand(player);
λλ©μΈ κ°μ²΄ νΈμΆ(isHit);| List<PlayerResult> playerResults = blackjackGame.collectPlayerResults(); | ||
|
|
||
| List<Profit> profits = blackjackGame.calculatePlayerProfits(playerResults); |
There was a problem hiding this comment.
μΉν¨ κ²°κ³Όμ μ΄μ΅μ λΆλ¦¬ν΄μ κ³μ°νλ λ©μλλ₯Ό νΈμΆνλκ΅°μ
λμ ν¬κ² 보면 λΈλμμ κ²μ κ²°κ³ΌλΌκ³ μκ°ν΄μ
νμ¬ ν΄λΉ λ©μλ λμ μμλλ‘ νΈμΆνλκ²μ΄ μ μ 쑰건μΌλ‘ λ§λ€μ΄μ§ κ² κ°μμ
κ·Έλ λ€λ©΄ νΈμΆ μμ νΉμ μκ° νλ¦μ κ²°ν©μ΄ μκΈ΄κ²μΈλ°
μ΄λ° κ²°ν©μ΄ μλκ±°λΌλ©΄ blackjackGame λ΄λΆμμ νλ¦μ λ§λ€μ΄μ£Όλκ²μ΄ μ’λ€κ³ μκ°ν΄μ
μ μ λ μ΄λ»κ² μκ°νμλμ?
There was a problem hiding this comment.
λμν©λλ€. λ©μλκ° κ²°ν©λκ° μκ²Όμλ€μ.
λ΄λΆ νλ¦μΌλ‘ κ΄λ¦¬νλ©° λ§μλλ‘ "κ²°κ³Ό"λΌλ νλμ ν° νλ¦μμ νλμ λ©μλλ‘ μ²λ¦¬ν΄λ μ΄μνμ§ μκ² λ€λ μκ°λ λ€μμ΅λλ€.
νμ¬ μ΄λ₯Ό λ°μνμ¬ λ¦¬ν©ν λ§ μννμ΅λλ€!
There was a problem hiding this comment.
μΈλΆμ μμκ° νΈμΆ μμκ° μκΈ°λ μ΄μ© μ μλ κ²½μ°κ° μκΈ΄νλ°
κ·Έλ° μΌμ΄μ€κ° μλ€λ©΄ μμ¬ν΄λ³΄λκ² μ’μ΅λλ€! γ
γ
λ΄λΆμμ νλμ νλ¦μΌλ‘ κ°μ Έκ°μΌν κ²μ΄ μΈλΆμ λ
ΈμΆλ κ²μ μλκ°? νλ μμ¬μ΄μ
| resultView.printCardsWithResult(ParticipantResultDto.toDto(players, dealer)); | ||
| resultView.printProfits(ProfitsDto.toDto(profits, dealerProfit)); |
There was a problem hiding this comment.
μ μ½λ©νΈμ λμΌν μλλ‘
κ²°κ΅ μΉν¨κ²°κ³Όμ μ΄μ΅μ κ²μ κ²°κ³Ό λΌλ ν° κ°λ
μΌλ‘ ν¨κ» μλ΅ν΄λ λλ κ²μ΄λΌ μκ°ν΄μ π€
alstj2384
left a comment
There was a problem hiding this comment.
μλ
νμΈμ 찰리!
νΌλλ°± λ°μνμ¬ μ μΆν©λλ€ π
| this.cards = List.copyOf(hand.getCards()); | ||
| public static Hand of(List<Card> cards) { | ||
| return new Hand(cards); | ||
| } |
There was a problem hiding this comment.
μ΄ λΆλΆμ μ΄λ»κ² νλ κ² μ μ ν μ§ κ³ λ―Όμ λλ€.
Hand κ°μ²΄ μμ± λ°©λ²μ΄ "Handμ 볡μ¬λ³Έμ λ°ννλ μ μ ν©ν 리 λ©μλ"μ "newλ₯Ό μ΄μ©ν μμ±" λ κ°μ§κ° νΌμ¬λλ©΄ μ¬μ©μ μ μ₯μμ "λ μ¬μ©ν΄μΌ νμ§?" νκ³ ν·κ°λ¦΄ μλ μμ κ±° κ°μμ΅λλ€.
κ·Έλμ μ μ ν©ν 리 λ©μλκ° ν¬ν¨λλ ν΄λμ€μ μμ±μλ λͺ¨λ μ μ ν©ν 리 λ©μλλ₯Ό μ¬μ©νλλ‘ κ΅¬ννλλ°μ.
λ°λ‘ νΉμν λͺ©μ μ΄ μλ μμ±μλ§ μ μ ν©ν 리 λ©μλλ₯Ό μ΄μ©νκ³ ,
μμλ‘ μ£Όμ κ² μ²λΌ κΈ°λ³Έμ μΈ μμ±μ newλ₯Ό μ΄μ©ν μμ±μ νλλ‘ νλ κ² μ μ ν κΉμ?
찰리μ μκ²¬μ΄ κΆκΈν©λλ€ π€οΏ½
| throw new IllegalArgumentException(Card.FIELD_CAN_NOT_BE_NULL); | ||
| } | ||
| } | ||
| protected State state; |
There was a problem hiding this comment.
λΆλ³μΌλ‘ νλ λ°©λ²μ κ³ λ―Όμ ν΄λ³΄μ§ λͺ»νμ΅λλ€. π
κ°μ²΄λ₯Ό λ°ννλ μν ν¨ν΄μμ finalμ μ¬μ©νμ§ μλ κ² κ΅¬μ‘°μ μΌλ‘ κ°λ₯νκ°? λΌλ κΆκΈμ¦μ΄ λ€μ΄μ.
Participantκ° μλλλΌλ Stateλ₯Ό μ¬μ©νλ μ μ₯μμ λ³νλλ State μνλ₯Ό μ μ©νκΈ° μν΄μ finalμ΄ μμ΄μΌ ν κ±° κ°μλ°, νΉμ λ μ μ ν λ°©λ²μ΄ μμμ§ κΆκΈν©λλ€.
| public boolean decideHitStand(Score boundary) { | ||
| return getTotalSum().isLessThanOrEqualTo(boundary); | ||
| public boolean isHittable() { | ||
| return state.hand().totalSum().isLessThanOrEqualTo(Score.DEALER_HIT_STAND_BOUNDARY); |
There was a problem hiding this comment.
λ°μν΄μ 리ν©ν λ§ νμ΅λλ€!
ν κ°μ§ κΆκΈν μ μ΄ μλλ°, 리ν©ν λ§ κ³Όμ μμ λ΄λΆ ν΄λμ€μ λ©μλ κ²°κ³Όλ₯Ό κ·Έλλ‘ λ΄λ³΄λ΄λ κ²½μ°κ° μκΈ°λλ°, μ΄λ΄ λλ§λ€ μ€κ³κ° μλͺ»λ건κ°? λΌλ μκ°μ΄ λλλ€. λ¬Όλ‘ ν΄λΉ ν΄λμ€μμ μνν μ μλ λ‘μ§μ΄ ν¬ν¨λλ€λ©΄ κ·Έ μμ²΄λ‘ μλ―Έκ° μκ² μ§λ§, κ·Έλ μ§ μμ κ²½μ°(λνλ§ νλ κ²½μ°)μ μ°μ°ν λλμ΄ λλλ°μ.
ν΄λμ€μ κ²°κ΄κ°μ λνλ§ νλ κ²½μ°λ μ΄μ© μ μμ΄ μΌμ΄λλ κ±ΈκΉμ?
νΉμ μ€κ³κ° μλͺ»λμλμ§ κ²μ¬ν΄ λ³Όλ§ν νΈλ¦¬κ±°λ‘ μ¬μ©ν΄ λ³Όλ§ ν κΉμ?
λ¬Όλ‘ μ λμ μ°¨μ΄κ° μκ² μ§λ§, μ°μ°ν λλμ΄ λλ κ²½μ° μ΄λ»κ² μκ°ν΄ 보면 μ’μμ§ κΆκΈν΄μ.
| List<PlayerResult> playerResults = blackjackGame.collectPlayerResults(); | ||
|
|
||
| List<Profit> profits = blackjackGame.calculatePlayerProfits(playerResults); |
There was a problem hiding this comment.
λμν©λλ€. λ©μλκ° κ²°ν©λκ° μκ²Όμλ€μ.
λ΄λΆ νλ¦μΌλ‘ κ΄λ¦¬νλ©° λ§μλλ‘ "κ²°κ³Ό"λΌλ νλμ ν° νλ¦μμ νλμ λ©μλλ‘ μ²λ¦¬ν΄λ μ΄μνμ§ μκ² λ€λ μκ°λ λ€μμ΅λλ€.
νμ¬ μ΄λ₯Ό λ°μνμ¬ λ¦¬ν©ν λ§ μννμ΅λλ€!
Gomding
left a comment
There was a problem hiding this comment.
μλ
νμΈμ μ μ !
μΉμ΄ν κ³ λ―Όκ³Ό ν¨κ» λ―Έμ
μ§ννλλΌ κ³ μνμ
¨μ΄μ π
λ―Έμ
μ μ΄λ§ λ¨Έμ§νκ² μ΅λλ€!
μμΌλ‘ μ°ν μ½ μνλ λ€μ λ―Έμ λ νμ΄ν μ λλ€ πͺ
| this.cards = List.copyOf(hand.getCards()); | ||
| public static Hand of(List<Card> cards) { | ||
| return new Hand(cards); | ||
| } |
There was a problem hiding this comment.
κ³ λ―Όμ μ μ νκ² ν΄μ£Όμ
¨λ€μ!
νμ 컨벀μ
, μ·¨ν₯μ λ°λΌ λ¬λΌμ§ κ·μΉμΌλ‘ 보μ΄λ€μ γ
γ
μΌλ¨ μ λ κΈ°λ³Έμ μΈ νλλ₯Ό λ°μμ μμ±νλ κ²μ΄λΌλ©΄ new λ₯Ό μ΄μ©ν μμ±μλ₯Ό μ¬μ©νλκ² λͺ
ννλ€κ³ μκ°ν΄μ!
κ·Έλ°λ° new μμ±μλ₯Ό private μΌλ‘ λ«μλμ κ²μ μ΄μ λ΄€λ€μ π
λ§μ½ private μΌλ‘ λ«μλμ
¨λ€λ©΄ μ λ μ μ μ ꡬνλλ‘ μ μ ν©ν λ¦¬λ§ μ 곡νλ€! λΌλ λ°©ν₯λ λμν©λλ€
νΌλμ λλ €μ μ£μ‘ν΄μ π₯²π₯²π₯²
| public boolean decideHitStand(Score boundary) { | ||
| return getTotalSum().isLessThanOrEqualTo(boundary); | ||
| public boolean isHittable() { | ||
| return state.hand().totalSum().isLessThanOrEqualTo(Score.DEALER_HIT_STAND_BOUNDARY); |
There was a problem hiding this comment.
κ³ λ―Όμ ν΄λ³Ό μ μλ λΆλΆμ΄λ€μ γ
γ
μ€κ³μ λν΄ μ κ²μ ν΄λ³Ό μ μλ λλμ΄λΌ μκ°ν΄μ!
λ€λ§ λλ―Έν° λ²μΉμ νμ λ°°κ²½μ λν΄μλ μ΄λ―Έ μκ³ κ³μ€κ±°λΌ μκ°ν΄μ :)
μΈλΆμ μΈ κ²μ λν μμ‘΄μ μμ κ³ νλ ₯νλ κ°μ²΄νκ³ λ§ λνλ₯Ό νλκ²μ΄μ£
μΈλΆμ μΈ κ²μ μκ²λλ©΄ μ΄λ€ λ¨μ μ΄ μλμ§λ μ μ λ μκ³ κ³μκ² μ£ ? π
| throw new IllegalArgumentException(Card.FIELD_CAN_NOT_BE_NULL); | ||
| } | ||
| } | ||
| protected State state; |
There was a problem hiding this comment.
ꡬ쑰μ μΌλ‘ κ°λ₯μ νμ§λ§ ꡬν 볡μ‘λκ° λμμ§λ λ¨μ μ΄ μμ κ±°μμ
μνκ° λ³κ²½λ λλ§λ€ λͺ¨λ Participant κΉμ§ μλ‘κ² λ°νν΄μΌνλκΉμ π
μ κΈ°μ€μμλ μ€λ²μμ§λμ΄λ§ νμ§μκ³ μ μ νκ² κ΅¬νν΄μ£Όμ
¨λ€κ³ μκ°νμ¬
ν΄λΉ λΆλΆλ κ³ λ―Όν΄λ³΄μ
¨λμ§ κΆκΈνμ΄μ!
| List<PlayerResult> playerResults = blackjackGame.collectPlayerResults(); | ||
|
|
||
| List<Profit> profits = blackjackGame.calculatePlayerProfits(playerResults); |
There was a problem hiding this comment.
μΈλΆμ μμκ° νΈμΆ μμκ° μκΈ°λ μ΄μ© μ μλ κ²½μ°κ° μκΈ΄νλ°
κ·Έλ° μΌμ΄μ€κ° μλ€λ©΄ μμ¬ν΄λ³΄λκ² μ’μ΅λλ€! γ
γ
λ΄λΆμμ νλμ νλ¦μΌλ‘ κ°μ Έκ°μΌν κ²μ΄ μΈλΆμ λ
ΈμΆλ κ²μ μλκ°? νλ μμ¬μ΄μ
μ¬μ΄ν΄ 2 λΈλμ λ―Έμ μ μΆν©λλ€! ππ»ββοΈ
μ λ² λ―Έμ μμλ μ μΆμ΄ λ¦μμ§λ§, μ΄λ²μλ κ°μ΄λμ λ°λΌ κΈ°λ₯ ꡬν μλ£ μμ μ λ§μΆ° λ°λ‘ μ μΆν©λλ€!
μ¬μ΄ν΄ 1μμ μ£Όμ νΌλλ°±μ λͺ¨λ λ°μνκ³ μΆμμΌλ, μ°μ μμλ₯Ό μ κ· κΈ°λ₯ ꡬν(μ μΆ κΈ°κ° κ³ λ €)μ λμ΄ μμ§ λ°μνμ§ λͺ»ν λΆλΆμ΄ λ§μ΅λλ€. π’
리뷰μ΄λμ΄ λ§μ 리뷰μ΄λ₯Ό κ΄λ¦¬νμλλΌ μ΄μ νΌλλ°±μ κΈ°μ΅νμκΈ° μ΄λ €μΈ μ μμΌλ, μ§λ νΌλλ°± μ€λΆ μ¬λΆμ μκ΄μμ΄ νΈνκ² νΌλλ°± λ¨κ²¨μ£ΌμΈμ! π
μ§λ νΌλλ°±κ³Ό μ’ ν©νμ¬ λ°μνκ² μ΅λλ€!
μ²΄ν¬ λ¦¬μ€νΈ
testλ₯Ό μ€ννμ λ, λͺ¨λ ν μ€νΈκ° μ μμ μΌλ‘ ν΅κ³Όνλμ?μ΄λ€ λΆλΆμ μ§μ€νμ¬ λ¦¬λ·°ν΄μΌ ν κΉμ?
κΈμ‘ μ²λ¦¬μ λνμ¬
[νμ¬ μν©]
μ¬μ©μμ μμ°κ³Ό κ΄λ ¨λ κΈμ‘ λ°μ΄ν°λ μ격ν΄μΌ νλ€κ³ λ€μ΄μ, μ΄λ² λ―Έμ μμλ μ΄ λΆλΆμ μ κ²½μ¨λ³΄κ³ μΆμμ΅λλ€. νμ¬λ λ¨νμ΄μ§λ§, μ¬λ¬ λΌμ΄λκ° μ§νλλ μν©κ³Ό κΈμ‘ μ ν μλ λ°°ν μ΄ κ°λ₯νλλ‘ νΌμλ§μ κ·μΉμ μΈμ κ³ λ―Όνμ΅λλ€.
[κ³ λ―Ό μ§μ ]
λΈλμ μΉλ¦¬ μ λ°°λΉλ₯ (1.5λ°°)λ‘ μΈν΄ μμμ μ΄ λ°μν μ μλ μν©μμ, λ κ°μ§ λ°©ν₯μ κ²ν νμ΅λλ€.
[μ΅μ’ κ²°μ : BigDecimal]
λ λ°©μ λͺ¨λ ꡬνν΄ λ³Έ κ²°κ³Ό, BigDecimalμ΄ λ λͺ ννκ² κ΄λ¦¬ν μ μλ€κ³ νλ¨νμ¬ μ ννμ΅λλ€.
Playerμ BetMoney μ€κ³
[νμ¬ μν©]
νμ¬ BlackjackGameμ΄
List<String>μΌλ‘ μ΄λ¦μ ν λ²μ λ°μ νλ μ΄μ΄λ₯Ό μμ±νλ κ΅¬μ‘°λ€ λ³΄λ, μ΄λ¦ μ λ ₯ ν λ°°ν κΈμ‘μ μΆκ°λ‘ λ°λ κ³Όμ μμ μ€κ³λ₯Ό μΈ κ°μ§ λ°©ν₯μΌλ‘ κ³ λ―Όνμ΅λλ€.1λ²: Playerμμ BetMoney νλλ₯Ό finalλ‘ κ΄λ¦¬ & BetMoney κ°λ³
μ₯μ : κΈ°μ‘΄ μμ± λ°©μ μ μ§ κ°λ₯
λ¨μ : BetMoneyκ° κ°λ³μΌλ‘, λ°©μ΄μ λ³΅μ¬ νμ λ° μ μ¬μ λ²κ·Έ μν μ‘΄μ¬, κ²°κ΅ setterκ° νμν¨.
2λ²: Playerμμ BetMoney finalμμ΄ κ΄λ¦¬ & BetMoney λΆλ³
μ₯μ : κΈ°μ‘΄ μμ± λ°©μ μ μ§ κ°λ₯, BetMoney λΆλ³μΌλ‘ κ΄λ¦¬ κ°λ₯
λ¨μ : Setter μ¬μ© νμ, κ°μ²΄ μμ± ν μνκ° λ³νλ―λ‘ μ μ¬μ λ²κ·Έ μν μ‘΄μ¬
3λ²: Playerμμ BetMoney νλλ₯Ό finalλ‘ κ΄λ¦¬ & BetMoney λΆλ³
μ₯μ : λͺ¨λ λΆλ³μΌλ‘, μ μ¬μ λ²κ·Έ μνμμ μλμ μΌλ‘ μμ ν¨.
λ¨μ : νμ¬ μμ± λ‘μ§ μ λ©΄ μμ νμ λ° Viewμμ μ΄λ¦/κΈμ‘μ λͺ¨λ ν λ²μ λκ²¨μΌ ν¨
μ λ μ°μ λΉ λ₯Έ ꡬνμ μν΄ 2λ²μ μ ννμ΅λλ€.
κΈμ‘ λ°μ΄ν°(BetMoney) μ체λ λΆλ³νκ² λ³΄νΈν μ μμμΌλ, μ¬μ ν Playerμ Setterλ₯Ό ν΅ν΄ μνκ° λ³κ²½λ μ μλ€λ μ μ΄ λ§μμ κ±Έλ Έμ΅λλ€.
κ·Έλμ ꡬ쑰μ μμ μ±μ μν΄ 3λ²μΌλ‘ 리ν©ν λ§μ μνν κΉ ν©λλ€. (μμ§ λͺ» νμ΅λλ€!)
λ€λ§ 3λ² λμ μ λ°μνλ μ€λ³΅ κ²μ¦μ λν΄ κ³ λ―Όν΄ λ³΄μκ³ , λ€μκ³Ό κ°μ κ²°λ‘ μ λ΄λ Έμ΅λλ€.
κ²°κ΅ λ€μκ³Ό κ°μ ꡬ쑰λ₯Ό κ°κ²λ©λλ€:
[μ§λ¬Έ]
μμ κ°μ μν©(μ λ ₯ μκΈ°κ° λ€λ₯Έ λ°μ΄ν°λ₯Ό μ²λ¦¬ν λ)μ λ μ μ ν λ°©λ²μ΄ μμκΉμ?
3λ²μΌλ‘ 리ν©ν λ§μ μννκΈ°λ‘ κ²°μ ν μ΄μ μ μ¬κ³ κ³Όμ μ νλΉνλ€κ³ μκ°νμλμ?
λλ©μΈκ³Ό μ μΆλ ₯μ λΆλ¦¬μ λν΄μ (03.13 20:15 μΆκ°)
[μ§λ¬Έ]
"μ λ ₯ λ°©μμ μΆκ°λ‘ λλ©μΈμ΄ μμ λλ μν©"μ λν΄ ν¬λ£¨μ ν λ‘ μ ν΅ν΄ "μ λ ₯ λ°©μμ΄ λλ©μΈμ μν₯μ μ£Όλ ꡬ쑰λ μ μ νμ§ μλ€" λΌλ κ²°λ‘ μ λλ¬νμ΅λλ€.
λλ©μΈμ μΈλΆμ μ λ ₯ λ°©μκ³Ό 무κ΄νκ² λ³Έμ§μ μΈ ννλ₯Ό μ μ§νκ³ , Controllerλ View κ°μ μΈλΆ κ³μΈ΅μμ λλ©μΈμ΄ μνλ ννλ‘ λ°μ΄ν°λ₯Ό κ°κ³΅ν΄μ λ겨μ€μΌ νλ€λ μ견μΈλ°μ!
μ΄λ° λ°©ν₯μ±μ μ μ ν κΉμ? νμ μμλ μ΄λ° κ΅¬μ‘°λ‘ κ°λ°μ΄ μ§νλλμ§ κΆκΈν©λλ€!