게임 수학 - 나머지
나머지는 Remainders로 게임에서 자주 사용하는 수학이다.
수학에서 나눗셈에서 나눈 후 나머지 숫자를 나머지라 표현한다.
다섯 개의 카드가 주어진다고 가정한다.
+---+ +---+ +---+ +---+ +---+
| 1 | | 2 | | 3 | | 4 | | 5 |
+---+ +---+ +---+ +---+ +---+
- 5개 카드가 주어졌다.
다음으로 두 개씩 짝을 지어 숫자끼리 그룹을 맺는다.
+---------------+ +---------------+
| +---+ +---+ | | +---+ +---+ | +---+
| | 1 | | 2 | | | | 3 | | 4 | | | 5 |
| +---+ +---+ | | +---+ +---+ | +---+
+---------------+ +---------------+
- 1번,2번 카드와 3번,4번 카드를 그룹을 맺었다.
이 때 5번 카드는 그룹을 맺지 않으므로 나머지(Reminder)가 1개 남게 된다.
수학의 숫자로 표현하면 5 / 2 = 2 나머지 r이 1 개가 된다.
Even, Odd
나머지는 Even, Odd의 홀 짝에서도 자주 연관 되어 구현되기도 하다.
랜덤의 숫자를 가리키는 x에서 2로 나눈다고 가정하면 "x / 2 = ?" 이때 ?의 결과에 따라 홀수인지 짝수인지 결정된다.
- x / 2 = ? 결과 값이 0이면 짝수
- x / 2 = ? 결과 값이 1이면 홀수
이 예에서는 두 플레이어가 격돌하였을 때 누가 먼저 선방을 얻는 지에서 자주 응용된다.
플레이어의 남은 시간은 몇 초인가
- 게임의 턴은 타이머가 30초마다 진행한다.
- 처음 시작은 첫 번째 플레이어가 시작하였다.
- 두 플레이어가 게임 진행 시간이 84초이다.
먼저 첫 번째 플레이어가 시작하였다는 것을 알고 있다.
사칙연산으로 응용하면 "84/30" 계산은 "2.8" 이 된다.
2.0 은 등식에서 제외하고 0.8 에서 곱하기 30 으로 계산한다. (0.8 * 30)
결과는 24가 출력할 것이고 여기서 30를 빼고 6초가 남았다는 것을 알게된다.
사칙연산으로 계산하면 등식에서 제외하는 식이 필요하고 (재귀, 반복문 필요) 수식도 복잡하다.
나머지 % 연산자
플레이어의 남은 시간 몇 초의 문제를 이어서, 나머지(%) 연산자로 활용을 해보도록 한다.
84 % 30 수식을 계산하면 나머지 24가 출력할 것이고 출력한 값의 30를 빼면 6초가 남는다.
나머지 % 연산자를 활용하면 수식도 간편하고 계산이 수월해 자주 응용된다.