하이/로우 코딩하기

모동숲 업데이트를 통해 주민이 플레이어 집에 쳐들어오거나 주민의 집으로 플레이어를 초대하는 기능이 생겼다.

이 때 주민과 함께 하는 게임이 바로 하이/로우. 룰은 간단하다. 펭…수? EBS 펭수 아닙니다
1. 카드를 하나 뽑고 숫자를 공개한다.
2. 한장 더 뽑고 숫자를 공개하지 않는다.
3. 상대방은 두 번째 카드의 숫자가 처음 뽑은 카드의 숫자보다 큰지 작은지를 맞추면 된다.
참고로 모동숲에서 카드로 하는 게임은 트럼프 카드로 하는거기때문에(하이/로우나 캠핑장에서 영입할 때 하는 문양 색깔 맞추기정도…전체이용가에 포커를 넣을 순 없잖음) 숫자는 1~13까지이다. 물론 A, J, Q, K로 나온다.


아무튼, 이 하이/로우를 코딩할 때 필요한 건 크게 두 가지이다.
1. 숫자 두 개를 뽑는 것
2. 뽑은 두 개의 숫자를 비교한 결과와 플레이어가 말한 것이 일치하는가?

2번의 경우 if로 코딩하면 된다. 예를 들어서 처음에 5를 뽑았는데 두 번째 카드가 9다, 그러면 5<9니까 플레이어가 크다! 라고 말하면 참이다. 하지만 이 경우 작다! 라고 하면 거짓이 된다. 반대로 처음에 9를 뽑았는데 두 번째 카드가 2라면 9>2니까 플레이어가 크다! 라고 하면 거짓이 되고, 작다! 라고 해야 참이 된다. 여기에 대해 코딩을 해야 한다.
사실 큰 덩어리로 놓고 보면 크다! 작다! 어느쪽을 선택했건간에 참 or 거짓 두 개의 결과가 존재한다. 이걸 세부적으로 나눠보면 크다! 를 선택했을 때 참 or 거짓이 있고 작다! 를 선택했을 때 참 or 거짓이 있다. 여기에 대해서 어떻게 할 지는 생각을 좀 더 해봐야 한다. 일단 기능 자체는 크게 복잡하지 않아서 아래 문제만 해결하면 구현은 할 수 있다.

1번은 1부터 13까지 리스트업 한 상태에서 두 개를 뽑으면 되는데, 크다! 와 작다! 가 선택지에 있는 걸 보면 아시겠지만 같다가 없다. 즉, 숫자 야구처럼 중복되지 않는 숫자를 뽑아야 한다.