소개
이것은 컴퓨터 게임을 할 때 최근에 직면 한 실제 문제를 기반으로하며 코드 골프를 멋지게 만들 것이라고 생각했습니다 .
다양한 양의 열을 방출하는 7 가지 주요 스펙트럼 등급 이 있습니다. 별 주위의 행성의 지질학은 별에서받는 열의 양에 크게 영향을받습니다. 이것은 별의 스펙트럼 등급과 거리의 요인입니다. 따라서 수은은 실제로 녹고 해왕성은 얼었다.
내 게임의 은하는 절차 적으로 생성되며 주어진 별에 대해 무작위로 행성 유형을 선택하면 실제 'if statement hell'로 밝혀졌습니다!
도전
방법은 최소 열 임계 값, 최대 열 임계 값 및 난수를 기준으로 별 등급에 적합한 행성 유형 목록에서 하나의 행성을 선택해야합니다. 간단하게하기 위해이 과제는 태양처럼 G 등급의 별만 사용합니다.
입력
heat
별에서 별이받는 열량을 나타내는 4에서 11 사이 의 정수 .
변수
이 표는를 기반으로 한 가능한 행성을 보여줍니다 heat
. 방법은 먼저 열 최소 및 열 최대를 기준으로 사용 가능한 선택 범위를 좁히고 heat
둘 사이 또는 그 사이에 있어야합니다. 예를 들어 사막, 철 및 용암이 유일한 선택에 10의 열을 전달했습니다.
Planet type Heat min Heat max Random Chance
Gas Giant 4 9 15
Ice 4 6 10
Ice Giant 4 6 10
Gaia class 5 7 10
Dense Atmosphere 7 9 10
Desert 7 10 25
Iron 7 10 14
Lava 10 11 6
다음으로 (나머지 선택에서) 행성이 선택 될 확률은 임의의 확률을 모든 선택의 랜덤 확률의 합으로 나눈 것입니다.
위의 예에서 철이 선택 될 확률은입니다 14/(25+14+6)
.
산출
행성 유형을 문자열로 반환하십시오.
논리 화살촉을 피하기 위해 최선을 다하십시오. 가장 짧은 코드가 승리하고 창의력을 발휘합니다. 행복한 골프!