내가 포켓몬을 항상 좋아했던 이유 중 하나는 단순한 게임처럼 복잡하기 때문에 많은 층이 있기 때문입니다. 숨은 힘의 움직임을 고려해 봅시다. 게임에서 숨겨진 힘의 유형과 힘 (적어도 VI 세대 이전)은 그것을 사용하는 모든 포켓몬마다 다릅니다! 꽤 멋지죠? 숨겨진 힘의 유형과 힘이 무작위로 생성되지 않는다고 말하면 놀랄까요?
모든 포켓몬 게임에서 모든 포켓몬 (파티에있는 것만이 아닌 모든 포켓몬)에는 내부에 저장된 6 개의 정수 (HP 통계, 공격 통계, 방어 통계, 특수 공격 통계, 하나는 특수 방어 통계와 속도 통계를위한 것입니다.)를 개별 값 또는 IV 라고합니다 . 이 값의 범위는 0에서 31 사이이며 본질적으로 포켓몬의 전체 통계에 영향을 미치는 몇 가지 요소 중 하나입니다. 그러나 그들은 또한 숨겨진 힘의 유형과 힘을 결정합니다!
Generation III to V (알고리즘을 구현할 세대)에서 Hidden Power의 유형은 다음 공식에 따라 결정됩니다 (즉, 대괄호에 유의하십시오. 결과를 반올림해야 함).
여기서 a, b, c, d, e 및 f는 HP, Attack, Defense, Speed, Sp의 최하위 비트입니다. 공격 및 Sp. 방어 IV. (최하위 비트는 IV 모드 2입니다.) 여기서 생성 된 숫자는이 차트를 사용하여 실제 유형으로 변환 될 수 있습니다.
0 Fighting
1 Flying
2 Poison
3 Ground
4 Rock
5 Bug
6 Ghost
7 Steel
8 Fire
9 Water
10 Grass
11 Electric
12 Psychic
13 Ice
14 Dragon
15 Dark
힘을 위해 비슷한 공식이 사용됩니다.
그러나 여기서 u, v, w, x, y 및 z는 HP, Attack, Defense, Speed, Sp. 공격과 Sp. 방어 IV (이 순서대로). (두 번째 최하위 비트는 더 복잡하고 최하위 비트는 더 복잡합니다. IV mod 4가 2 또는 3이면 비트는 1이고, 그렇지 않으면 0입니다. 언어에 내장 또는 최소한 더 영리한 방법이있는 경우 이렇게하려면 아마 사용해야합니다.)
따라서 이미 알아 낸 것처럼 여기서 과제는 HP, Attack, Defense, Speed, Sp. 공격과 Sp. 포켓몬의 IV를 방어하고 (순서대로) 그 포켓몬의 숨겨진 힘의 종류와 힘을 출력하십시오.
샘플 입력 :
30 31 31 31 30 31
샘플 출력 :
Grass 70
샘플 입력 :
16 18 25 13 30 22
샘플 출력 :
Poison 61
이것은 코드 골프이므로 가장 짧은 코드가 승리합니다. 행운을 빕니다!
(그리고 사람들이 묻기 전에, 6 세대가 전력 랜덤 화를 제거하고 항상 60 개로 만들기 때문에 여기에서 V 세대 알고리즘을 사용했습니다. 이것이 엄청나게 절름 발상이라고 생각할뿐만 아니라, 그것이 많은 관심을 끌게합니다. 그래서 도전의 목적으로 Gen V 게임을 진행하고 있습니다.)