더북(TheBook)

이러한 코드를 사용하면 카드를 비교하기가 쉬워진다. 높은 문양이 높은 숫자에 매핑되어 있으므로 문양의 코드만 비교하면 문양을 비교할 수 있다.

순위 매핑은 매우 이해하기 쉽다. 숫자로 된 순위는 바로 해당 정수로 매핑하고, 그림 카드(face card)는 다음과 같이 매핑하면 된다.

잭 → 11

퀸 → 12

킹 → 13

여기서 설명한 매핑이 파이썬 프로그램이 아니라는 것을 구분하기 위해 → 기호를 사용했다. 이러한 매핑은 프로그램 디자인에 속하며 코드에서 명확하게 드러나는 부분은 아니다.

Card의 클래스 정의는 다음과 같다.

class Card:

"""표준 카드 플레이어를 표현."""

 

def _ _init_ _(self, suit=0, rank=2):

self.suit = suit

self.rank = rank

일반적으로 _ _init_ _ 메서드는 각 속성에 대해 선택 인자를 받는다. 기본 카드는 클럽 2가 된다.

카드를 생성할 때는 원하는 카드의 문양과 순위와 함께 Card를 호출하면 된다.

queen_of_diamonds = Card(1, 12)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.