본문 바로가기

초보 개발자2

객체지향 좀 더 이해하기 - 블랙잭 게임 구현 (5) 2-5. Rule 구현하기 Rule은 승자를 판단하는 역할을 갖고 있습니다. 그래서 게임에 참여한 Player들의 카드를 비교해 승자를 구하는 코드를 구현해보겠습니다. public Player getWinner(List players){ Player highestPlayer = null; int highestPoint = 0; for(Player player : players) { int playerPointSum = getPointSum(player.openCards()); if(playerPointSum > highestPoint){ highestPlayer = player; highestPoint = playerPointSum; } } return highestPlayer; } private int.. 2016. 11. 28.
객체지향 좀 더 이해하기 - 블랙잭 게임 구현 (3) 2-3. Dealer 구현 다음 단계로 Dealer를 구현해보겠습니다. Dealer의 역할은 아래와 같습니다. 추가로 카드를 받는다. 단, 2카드의 합계 점수가 16점 이하이면 반드시 1장을 추가로 뽑고, 17점 이상이면 받을 수 없다. 뽑은 카드를 소유한다. 카드를 오픈한다. 이렇게 될 수 있었던 이유는 게임의 승패를 판단하는 것은 Rule 객체가, 카드를 뽑는 것은 카드덱 객체가 맡았기 때문입니다. 그럼 위 역할들만 구현해보겠습니다. Dealer에는 Gamer와 달리 16점 이하일 경우에만 추가로 카드를 받을 수 있다는 제한이 있습니다. 이를 구현하기 위해 각 카드별로 포인트를 가질 수 있도록 하는 것이 좋습니다. 해당 기능은 카드를 뽑을때마다 계산할 수도 있지만, 처음 CardDeck에서 카드를 생.. 2016. 11. 27.