[๐ ์ฌ์ดํด1 - ๋ฏธ์ (๋ณด๋ ์ด๊ธฐํ + ๊ธฐ๋ฌผ ์ด๋)] ํผ๋ ธ ๋ฏธ์ ์ ์ถํฉ๋๋ค.#266
[๐ ์ฌ์ดํด1 - ๋ฏธ์
(๋ณด๋ ์ด๊ธฐํ + ๊ธฐ๋ฌผ ์ด๋)] ํผ๋
ธ ๋ฏธ์
์ ์ถํฉ๋๋ค.#266haechanmoon wants to merge 30 commits intowoowacourse:haechanmoonfrom
Conversation
(์์ฐจ๋ฆผ ์ถํ ์ถ๊ฐ ์์ )
syoun602
left a comment
There was a problem hiding this comment.
์๋
ํ์ธ์ ํผ๋
ธ ๐
์ด๋ฒ์ ์ฅ๊ธฐ ๋ฏธ์
๋ฆฌ๋ทฐ์ด๋ฅผ ๋งก๊ฒ๋ ์ฌ์
๋๋ค. ๋ง๋์ ๋ฐ๊ฐ์์.
๋ฆฌ๋ทฐ๋ฅผ ์งํํ๋ฉฐ ์ค๊ณ์ ์ธ ๋ถ๋ถ๋ ๋ณด๊ณ ์์์ผ๋ ๊ทธ ์ ์ ์ฐ์ ์ ์ผ๋ก ๊ฐ์ ํด์ผ ํ ์๊ตฌ์ฌํญ ๊ด๋ จ ๋ด์ฉ์ด ๋ง์ด ๋ณด์ฌ ์ด๋ฒ์๋ ์ค๊ณ ์ค์ฌ๋ณด๋ค๋ ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ์ฌํญ๊ณผ ๊ธฐ๋ณธ ๋์์ ๋จผ์ ๋ง์ถ๋ ๋ฐฉํฅ์ผ๋ก ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ฒผ์ต๋๋ค.
ํนํ getter ์ง์, ์์๊ฐ ํฌ์ฅ, ์ผ๊ธ ์ปฌ๋ ์ ์ฌ์ฉ, else ์ฌ์ฉ ๊ธ์ง, ๋ฉ์๋ ๊ธธ์ด ์ ํ ๊ฐ์ ์๊ตฌ์ฌํญ์ด ์ ๋๋ก ์ง์ผ์ง์ง ์๊ณ ์์ด์. ์ค๊ณ๋ฅผ ๋ ๋ค๋ฌ๊ธฐ ์ ์ ์ด ๊ธฐ์ค๋ค์ ์ต๋ํ ์งํค๋ ๋ฐฉํฅ์ผ๋ก ๋จผ์ ์ ๋ฆฌํด๋ณด๊ธธ ๊ถ์ฅ๋๋ฆด๊ฒ์. ํด๋น ๋ถ๋ถ๋ค์ด ์ ๋ฆฌ๋์ด์ผ ์ดํ์ ๊ฐ์ฒด์ ์ฑ ์์ ๋๋๊ฑฐ๋ ํ๋ ฅ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๋ ์์ ๋ ํจ์ฌ ์์ํด์ง ๊ฒ ๊ฐ์์.
๋ํ ํ์ฌ PR ๋ธ๋์น ๊ธฐ์ค์ผ๋ก๋ ๋ชจ๋ ํ ์คํธ๊ฐ ํต๊ณผํ์ง ์๊ณ ์์ด์. ๋น ๋ฅด๊ฒ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์๋ณด๋ ๊ฒ๋ ์ค์ํ์ง๋ง ๊ทธ๋ณด๋ค ๋จผ์ ํ ์คํธ๊ฐ ์์ ์ ์ผ๋ก ํต๊ณผํ๋ ์ํ์ธ์ง, ์ฃผ์ด์ง ์๊ตฌ์ฌํญ์ ์ต๋ํ ์งํค๋ ค๊ณ ๋ ธ๋ ฅํ๋์ง๊ฐ ๋ ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
| import java.util.List; | ||
| import java.util.function.Supplier; | ||
|
|
||
| public class JanggiController { |
There was a problem hiding this comment.
Controller๋ ๋ฌด์์ธ์ง ์ด๋ค ์ญํ ์ธ์ง ์๋ ค์ฃผ์ธ์.
๋จ์ํ Spring์์ ํํ ์ฌ์ฉ๋๋ ํจํด์ด๋ผ์ ์ผ๋ค๋ฉด ์ฝ์ ์ดํ๋ฆฌ์ผ์ด์
์ ๊ผญ ์ปจํธ๋กค๋ฌ๋ผ๋ ๋ค์ด๋ฐ์ด ํ์ํ์ง ๊ณ ๋ฏผํด๋ด
์๋ค.
There was a problem hiding this comment.
์ ๊ฐ ์๊ฐํ๋ Controller์ ์ญํ ์ ๋๋ฉ์ธ๊ณผ View๋ฅผ ์ฐ๊ฒฐํ๊ณ ์ ์ฒด์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆ์ ์ ์ดํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ด์์ต๋๋ค. ์ ๋ ์์ง Spring์ ๊ฑฐ์ ๋ค๋ค๋ณธ ์ ์ด ์์ด์ ์ด๋ ํ ํจํด์ ์์ํ๊ณ ์ผ๋ค๊ธฐ๋ณด๋ค๋, MVC ํจํด ๊ด์ ์์ ํ๋ฆ์ ๋ด๋นํ๋ ๊ฐ์ฒด๋ผ๊ณ ์๊ฐํ์ฌ JanggiController๋ผ๋ ๋ค์ด๋ฐ์ ์ฌ์ฉํ์ต๋๋ค.
ํ์ง๋ง ์ฝ๋ฉํธ๋ฅผ ๋จ๊ฒจ์ฃผ์ ํ ์ฝ์ ํ๊ฒฝ๊ณผ ํ์ฌ ๊ฐ์ฒด์ ์ญํ ์ ๋ค์ ๊ณ ๋ฏผํด ๋ณด์์ต๋๋ค. ๋จ์ํ ์
์ถ๋ ฅ์ ์ ์ดํ๋ ๊ฒ์ ๋์ด ์ฅ๊ธฐ ๊ฒ์์ ์ ์ฒด์ ์ธ ์งํ์ ์ฑ
์์ง๋ ์ ์์, Controller๋ผ๋ ์ด๋ฆ๋ณด๋ค๋ JanggiGame์ด๋ผ๋ ๋ค์ด๋ฐ์ด ์ด Class์ ์ฑ
์๊ณผ ์ฑ๊ฒฉ์ ๋ ์ง๊ด์ ์ผ๋ก ๋ณด์ฌ์ค๋ค๊ณ ์๊ฐํฉ๋๋ค!
๋ค์ด๋ฐ๊ณผ ๊ฐ์ฒด์ ์ญํ ์ ๋ํด ๊น๊ฒ ๊ณ ๋ฏผํด ๋ณผ ์ ์์์ต๋๋ค. JanggiGame์ผ๋ก ์์ ํ์ฌ ๋ฐ์ํ๊ฒ ์ต๋๋ค!
There was a problem hiding this comment.
์ด์ ์ ๋จ๊ฒผ๋ ์ฝ๋ฉํธ๊ฐ ์๋๋ฐ ์ฐธ๊ณ ์ฐจ ํ๋ฒ ์ฝ์ด๋ณด์๋ผ๊ณ ๋งํฌ ๋จ๊ฒจ๋๊ฒ์~
woowacourse/java-blackjack#975 (comment)
| return board; | ||
| } | ||
|
|
||
| public List<Position> findAvailablePositions(Position position) { |
There was a problem hiding this comment.
์ ์ฒด์ ์ผ๋ก ๋ผ์ธ ์๊ฐ ๋๋ฌด ๊ธธ์ด์.
๋ฏธ์
์๊ตฌ์ฌํญ์ ์ง์ผ๋ด
์๋ค
ํจ์(๋๋ ๋ฉ์๋)์ ๊ธธ์ด๊ฐ 10๋ผ์ธ์ ๋์ด๊ฐ์ง ์๋๋ก ๊ตฌํํ๋ค.
ํจ์(๋๋ ๋ฉ์๋)๊ฐ ํ ๊ฐ์ง ์ผ๋ง ํ๋๋ก ์ต๋ํ ์๊ฒ ๋ง๋ค์ด๋ผ.
There was a problem hiding this comment.
์ต๋ํ ์๊ฒ ์ชผ๊ฐ๋๋ก ๋
ธ๋ ฅํด ๋ณด์์ต๋๋ค!
๋ฉ์๋๋ค์ ์๊ฒ ์ชผ๊ฐ๋ค๊ฐ ๋ณด๋ ์ ๊ฐ ๋๋ฌด ๋ณต์กํ ์ค๊ณ๊ฐ ๋ ๊ฒ์ด ์๋๊ฐ ์ถ์ต๋๋ค. ๋จ์ํ
์คํธ๋ถํฐ ๋ค์ ํด์ผํ๋ ๊ณ ๋ฏผ์ค์
๋๋ค.. ๋ฉ์๋ ๋ผ์ธ ์ ์ค์ด๋ ์์
์ด ์ ์ผ ์ค๋ ๊ฑธ๋ ธ๋ ๊ฒ ๊ฐ์ต๋๋ค.
| Piece piece = board.get(position); | ||
| PieceType pieceType = piece.getPieceType(); | ||
|
|
||
| MoveRule moveRule = pieceType.getMoveRule(); | ||
|
|
||
| List<Route> routes = moveRule.findRoutes(piece.getTeam()); |
There was a problem hiding this comment.
์ ๋ถ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด์์ ์กฐ๋ฆฝํ๊ณ ์๋๋ฐ tell don't ask์ ๋ํด ๊ณต๋ถํด๋ด ์๋ค
There was a problem hiding this comment.
์ด ๋ถ๋ถ์ ๋ํด์ ๋ง์ ๊ณ ๋ฏผ์ ํ๊ฒ ๋์ต๋๋ค. ์ด๋๊น์ง get์ ์ธ ์ ์์๊น์ ๋ํ ๊ณ ๋ฏผ, ์ด๋ป๊ฒ ํ๋ฉด ๋ ์ธ ์ ์์๊น. . ์์ง ์๊ฐ์ด ์์ ํ ์ ๋ฆฌ๋์ง ์์ ์กฐ๊ธ ๋ ์๊ฐ์ ํด๋ด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค..
haechanmoon
left a comment
There was a problem hiding this comment.
์๋
ํ์ธ์ ์ฌ ๋ฆฌ๋ทฐ์ด๋
๋ฆฌํฉํ ๋ง ์๋ฃํ ํ ํ [์ฌ์ดํด1 2์ฐจ PR] ์ ์ถํ๊ฒ ์ต๋๋ค!
์ ๊ฐ ์ฒ์์ ์ด๋ฌํ ์ฝ๋๋ฅผ ์งค ์ ๋ฐ์ ์๋ ์ด์ ๋ฅผ ์ ์ง ์์์ด์ ์กฐ๊ธ ํผ๋์ค๋ฌ์ฐ์
จ์ ์๋ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค. ์ ๋ ์์ง ๊ธฐ๋ณธ๊ธฐ๊ฐ ๋ง์ด ๋ถ์กฑํ๊ณ ๊ตฌํ์ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค. ๋๋ฌด ๋ง์ ๊ณ ๋ฏผ์ ์๊ฐ์ ์ง์ฒดํ๊ฒ ํ์ต๋๋ค. ๋ฐ๋ผ์ ์ผ๋จ ๋์๊ฐ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ ๋ชฉํ์์ต๋๋ค. ๋ํ ๊ธํ ๋ด๋๋ผ ์ฌ๋ฌ ์ค์๊ฐ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ฆฌ๋ทฐ ํด์ฃผ์๋ ๋ถ๋ถ ์์ผ๋ก ์ด์ฌํ ๋ฆฌํํ ๋ง ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค!
| import java.util.List; | ||
| import java.util.function.Supplier; | ||
|
|
||
| public class JanggiController { |
There was a problem hiding this comment.
์ ๊ฐ ์๊ฐํ๋ Controller์ ์ญํ ์ ๋๋ฉ์ธ๊ณผ View๋ฅผ ์ฐ๊ฒฐํ๊ณ ์ ์ฒด์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆ์ ์ ์ดํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ด์์ต๋๋ค. ์ ๋ ์์ง Spring์ ๊ฑฐ์ ๋ค๋ค๋ณธ ์ ์ด ์์ด์ ์ด๋ ํ ํจํด์ ์์ํ๊ณ ์ผ๋ค๊ธฐ๋ณด๋ค๋, MVC ํจํด ๊ด์ ์์ ํ๋ฆ์ ๋ด๋นํ๋ ๊ฐ์ฒด๋ผ๊ณ ์๊ฐํ์ฌ JanggiController๋ผ๋ ๋ค์ด๋ฐ์ ์ฌ์ฉํ์ต๋๋ค.
ํ์ง๋ง ์ฝ๋ฉํธ๋ฅผ ๋จ๊ฒจ์ฃผ์ ํ ์ฝ์ ํ๊ฒฝ๊ณผ ํ์ฌ ๊ฐ์ฒด์ ์ญํ ์ ๋ค์ ๊ณ ๋ฏผํด ๋ณด์์ต๋๋ค. ๋จ์ํ ์
์ถ๋ ฅ์ ์ ์ดํ๋ ๊ฒ์ ๋์ด ์ฅ๊ธฐ ๊ฒ์์ ์ ์ฒด์ ์ธ ์งํ์ ์ฑ
์์ง๋ ์ ์์, Controller๋ผ๋ ์ด๋ฆ๋ณด๋ค๋ JanggiGame์ด๋ผ๋ ๋ค์ด๋ฐ์ด ์ด Class์ ์ฑ
์๊ณผ ์ฑ๊ฒฉ์ ๋ ์ง๊ด์ ์ผ๋ก ๋ณด์ฌ์ค๋ค๊ณ ์๊ฐํฉ๋๋ค!
๋ค์ด๋ฐ๊ณผ ๊ฐ์ฒด์ ์ญํ ์ ๋ํด ๊น๊ฒ ๊ณ ๋ฏผํด ๋ณผ ์ ์์์ต๋๋ค. JanggiGame์ผ๋ก ์์ ํ์ฌ ๋ฐ์ํ๊ฒ ์ต๋๋ค!
| return board; | ||
| } | ||
|
|
||
| public List<Position> findAvailablePositions(Position position) { |
There was a problem hiding this comment.
์ต๋ํ ์๊ฒ ์ชผ๊ฐ๋๋ก ๋
ธ๋ ฅํด ๋ณด์์ต๋๋ค!
๋ฉ์๋๋ค์ ์๊ฒ ์ชผ๊ฐ๋ค๊ฐ ๋ณด๋ ์ ๊ฐ ๋๋ฌด ๋ณต์กํ ์ค๊ณ๊ฐ ๋ ๊ฒ์ด ์๋๊ฐ ์ถ์ต๋๋ค. ๋จ์ํ
์คํธ๋ถํฐ ๋ค์ ํด์ผํ๋ ๊ณ ๋ฏผ์ค์
๋๋ค.. ๋ฉ์๋ ๋ผ์ธ ์ ์ค์ด๋ ์์
์ด ์ ์ผ ์ค๋ ๊ฑธ๋ ธ๋ ๊ฒ ๊ฐ์ต๋๋ค.
syoun602
left a comment
There was a problem hiding this comment.
์๋
ํ์ธ์ ํผ๋
ธ~
์๊ตฌ์ฌํญ์ ์ ์ ํ ์ ์ง์ผ์ฃผ์
จ๋ค์ ๐
์ฅ๊ธฐ ๋ฏธ์
์ด ์๋ ์ด๋ ค์ด ๋ฏธ์
์ด๊ธฐ ๋๋ฌธ์,์ง๊ธ์ฒ๋ผ ํ๋์ฉ ์ ๋ฆฌํด๋๊ฐ๋ ๊ณผ์ ์์ฒด๊ฐ ์ค์ํ๋ค๊ณ ์๊ฐํด์. ์ด๋ฒ์๋ ์ด์ ๋ณด๋ค ํจ์ฌ ์์ ์ ์ผ๋ก ์ฝํ๊ณ ์๊ตฌ์ฌํญ์ ๋ง์ถ๋ ค๋ ๋
ธ๋ ฅ๋ ๋ณด์์ต๋๋ค ๐
๋ช ๊ฐ์ง ๊ฐ์ ํฌ์ธํธ๋ฅผ ๋จ๊ฒจ๋์๋๋ฐ ํ์ธํด์ฃผ์๊ณ ์ฌ์์ฒญ ์ฃผ์ธ์.
| } | ||
| } | ||
|
|
||
| private boolean playTurn(Board board) { |
There was a problem hiding this comment.
ํด์ ๋ํ ๋ฉ์์ง ์ถ๋ ฅ์ ์๋๋ฐ, ์ค์ ํด ๊ฐ๋ ์ด ๋๋ฉ์ธ์ ์๋ ๊ฒ ๊ฐ์์. ํ๋๋ผ ์ฐจ๋ก์๋ ์ด๋๋ผ ๋ง์ ์์ง์ผ ์ ์๋ค์
| import java.util.Map; | ||
| import java.util.function.Supplier; | ||
|
|
||
| public class JanggiGame { |
There was a problem hiding this comment.
์ด ๋ถ๋ถ์ ํ์์๋ก ๋๊ณ ์์ ํด์ฃผ์ ๋ ๋ฉ๋๋ค)
๊ฒ์ ์์ฒด๋ ํ๋์ ๋๋ฉ์ธ ๊ฐ์ฒด๋ก ๋ฐ๋ผ๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ์์.
์ง๊ธ ๊ตฌ์กฐ๋ ๊ฒ์ ์งํ๊ณผ ์
์ถ๋ ฅ ๊ฐ๊ฒฐํฉ ๋์ด ์๋๋ฐ Application์ด ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ด๋นํ๊ณ Game์ ๊ฒ์ ์งํ์ ํ์ํ ์ํ์ ๊ท์น๋ง ๊ด๋ฆฌํ๋๋ก ๋๋๋ฉด ์ฑ
์์ด ๋ ์ ๋ช
ํด์ง ๊ฒ ๊ฐ์์. ์ด๋ฐ ์์ผ๋ก ๋ถ๋ฆฌํ๋ฉด ์ดํ์ ํด ๊ด๋ฆฌ๋ ์ข
๋ฃ ์กฐ๊ฑด ๊ฐ์ ๊ท์น๋ UI์ ๋
๋ฆฝ์ ์ผ๋ก ๋ค๋ฃจ๊ธฐ ์ฌ์์ง ๊ฒ ๊ฐ์์.
| private boolean isChoTurn = true; | ||
|
|
||
| public void run() { | ||
| Board board = initializeBoard(); |
There was a problem hiding this comment.
JanggiGame์ด ๊ฒ์ ์งํ์ ๋ด๋นํ๋ค๋ฉด,๊ทธ ์์์ ๊ณ์ ์ฌ์ฉํ๋ Board๋ ์ธ์คํด์ค ํ๋๋ก ๊ฐ์ง๊ณ ์์ผ๋ฉด ์ด๋จ๊น์? ํ์ฌ๋ ์ฌ๋ฌ ๋ฉ์๋์์ ๊ณ์ Board๋ฅผ ์ธ์๋ก ์ ๋ฌํ๊ณ ์๋๋ฐ, ๊ฒ์์ด ์ง์ ๊ด๋ฆฌํ๋ ์ํ๋ผ๋ฉด ํ๋๋ก ๋๋ ์ชฝ์ด ๊ฐ์ฒด์ ์ญํ ์ ๋ ์์ฐ์ค๋ฌ์ ๋ณด์ฌ์.
|
|
||
| import java.util.List; | ||
|
|
||
| public interface MoveRule { |
There was a problem hiding this comment.
์ง๊ธ์ MoveRule์ ๊ฐ ๊ธฐ๋ฌผ์ ์ด๋ ๊ท์น์ ์ง์ ํ๋จํ๊ธฐ๋ณด๋ค๋ ์ด๋ ๋ฐฉํฅ ๋ชฉ๋ก๋ง ๋ฐํํ๊ณ ์ค์ ๊ฒฝ๋ก ๊ณ์ฐ๊ณผ ์ฅ์ ๋ฌผ ๊ฒ์ฌ ์ด๋ ๊ฐ๋ฅ ์ฌ๋ถ ํ๋จ์ ๋๋ถ๋ถ Board๊ฐ ๋ด๋นํ๊ณ ์์ด์. ๊ทธ๋์ Board์์ isPo() ๊ฐ์ ํ์ ๋ถ๊ธฐ๊ฐ ๋์ค๊ณ ์ด๋ ๊ท์น์ด MoveRule์ด๋ Piece์ ์ถฉ๋ถํ ๋จธ๋ฌผ์ง ๋ชปํ๊ณ Board ์ชฝ์ ๋ง์ด ๋ชจ์ฌ ์๋ ๋ฏํฉ๋๋ค.
์ด๋ฐ ๊ตฌ์กฐ๋ผ๋ฉด MoveRule์ด ์ง๊ธ ์ ๋ง ์๋ฏธ ์๋ ์ญํ ์ ํ๊ณ ์๋์ง ํ ๋ฒ ๊ณ ๋ฏผํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ์์. ๋ง์ฝ ์ด๋ ๊ท์น์ ํํํ๊ธฐ ์ํ ๊ฐ์ฒด๋ผ๋ฉด, ๋จ์ํ ๋ฐฉํฅ๋ง ๋๊ฒจ์ฃผ๊ธฐ๋ณด๋ค ํ์ฌ ๋ณด๋ ์ํ์์ ์ด๋๊น์ง ์ด๋ ๊ฐ๋ฅํ์ง๊น์ง ์ค์ค๋ก ํ๋จํ๋ ์ชฝ์ด ๋ ์์ฐ์ค๋ฌ์ ๋ณด์ ๋๋ค. Piece๊ฐ ์์ ์ ์ด๋ ๊ฐ๋ฅ ์์น๋ฅผ ์ง์ ํ๋จํ๋๋ก ๋ง๋ค์ด๋ณด๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ผ ๊ฒ ๊ฐ์๋ฐ์. ์กฐํฉ์ ์ฌ์ฉํ๋ค๋ฉด Piece๊ฐ MoveRule์ ๊ฐ์ง๊ณ ์๋ค๊ฐ ์ด๋ ๊ฐ๋ฅ ์์น ๊ณ์ฐ์ ์์ํ ์ ์๊ณ , ๊ทธ๋ ๊ฒ ํ๋ฉด Board๋ ํ์ ์ํ๋ฅผ ์ ๊ณตํ๋ ์ญํ ์ ๋ ์ง์คํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
| private final int x; | ||
| private final int y; |
There was a problem hiding this comment.
x,y ๊ฐ ์ขํ๋ฅผ ์๋ฏธํ๋๊ฑด ์์ง๋ง ๋ ์๋ฏธ ์๋ ์ด๋ฆ์ ์์๊น์?
๋จ์ ์ํ ์ขํ๋ณด๋ค row col๊ณผ ๊ฐ์ ์ด๋ฆ๋ ์๊ฒ ๋ค์
| @@ -0,0 +1,7 @@ | |||
| package janggi.domain; | |||
|
|
|||
| public enum Team { | |||
There was a problem hiding this comment.
ํ ๊ด๋ จํด์ ๋ฉ์๋๋ค์ ์์งํด๋ด ์๋ค. ๊ฐ์ ํ ํ๋จ ๋ฑ
| System.out.println(); | ||
| } | ||
|
|
||
| private void printCell(Map<Position, Piece> board, List<Position> availablePositions, Position position) { |
There was a problem hiding this comment.
์ฐ์ ์๊ตฌ์ฌํญ์ด๋๋งํผ view์ฌ๋ else if/switch๋ ์ต๋ํ ์ง์ํด์ฃผ์ธ์
| @@ -0,0 +1,29 @@ | |||
| package janggi.domain; | |||
|
|
|||
| public enum Direction { | |||
There was a problem hiding this comment.
up, down ๋ฑ ๋ณด๋ค ๋ ์ข์ ์์๊ฐ ์์ด์. ๋์นจ๋ฐ์ ํ์ฉํด๋ด ์๋ค~
| this.board = initBoard; | ||
| } | ||
|
|
||
| public Map<Position, Piece> getBoard() { |
There was a problem hiding this comment.
๋ฉ์๋ ์์๋ฅผ ์ ๊ฒฝ์จ๋ณด์์. ๋จ์ getter์ ์์น๋ฅผ ๊ฐ์ฅ ์๋ณด์ด๋ ์ต์๋จ์ ๋์์ผ ํ ๊น์?
๋ํ ๋ฐฉ์ด์ ๋ณต์ฌ์ ๋ํด ๊ณต๋ถํด๋ด
์๋ค~
| import java.util.List; | ||
| import java.util.function.Supplier; | ||
|
|
||
| public class JanggiController { |
There was a problem hiding this comment.
์ด์ ์ ๋จ๊ฒผ๋ ์ฝ๋ฉํธ๊ฐ ์๋๋ฐ ์ฐธ๊ณ ์ฐจ ํ๋ฒ ์ฝ์ด๋ณด์๋ผ๊ณ ๋งํฌ ๋จ๊ฒจ๋๊ฒ์~
woowacourse/java-blackjack#975 (comment)
์ฒดํฌ ๋ฆฌ์คํธ
test๋ฅผ ์คํํ์ ๋, ๋ชจ๋ ํ ์คํธ๊ฐ ์ ์์ ์ผ๋ก ํต๊ณผํ๋์?์๋ ํ์ธ์ ํผ๋ ธ์ ๋๋ค!
ํ์ด์ ๋จธ๋ฆฌ๋ฅผ ๋ง๋๋ฉฐ ์ด์ฌํ ๊ตฌํํด ๋ณด์์ง๋ง ์ค๋ ์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค.
Depth1 ์ด์๊ณผ, get์ฌ์ฉ, else์ฌ์ฉ, ๋ฑ ๋ชป์งํจ ์๊ตฌ์ฌํญ๋ค์ด ๋ง์ต๋๋ค..
๊ทธ๋๋ ๋ฆฌ๋ทฐ ์ ๋ถํ๋๋ฆฌ๊ฒ ์ต๋๋ค!
์ด๋ค ๋ถ๋ถ์ ์ง์คํ์ฌ ๋ฆฌ๋ทฐํด์ผ ํ ๊น์?
์ด๋ฐ ์ค๊ณ์ ๋๋ฌด ์ด๋ ค์
์ ๊ฐ ๊ฐ์ฒด์งํฅ์ ์์ง ์ต์ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ฐ ์ค๊ณํ ๋ ์จ์ด ํ ๋งํ๋๋ค.
์ ๋ฒ์ฃผ์ <๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด>๋ฅผ ์ฝ๊ธด ํ์ง๋ง ์ด๊ฒ์ ์ง์ ์ฝ๋๋ก ์ฎ๊ธฐ๋ ค ํ๋ ์์ง ๋๋ฌด ์ด๋ ค์ด ๊ณผ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ด์ ๊ฐ์ด ์๊ฐํ์ง ์์๋๋ผ๋ฉด ํผ์์๋ ๋์๊ฐ๋ ๊ธฐ๋ฅ์ ์์ฑํ์ง ๋ชปํ์ ๊ฒ ์ ๋๋ค.
TDD๋ฅผ ํ๋๋ผ๋ ํฐ ๋ผ๋๋ ๋ง๋ค๊ณ ์์์ ํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๋ฐ์ ๋ง์ ์ด๋ ค์์ ๋๋ผ๋๋ฐ ์ด๊ฒ์ ์ด๋ป๊ฒ ๊ทน๋ณตํ์ จ๋์ง ๊ถ๊ธํฉ๋๋ค.!
๋คํ์ฑ
๊ฐ์ฌํฉ๋๋ค!!