Вступ
Це ґрунтується на актуальній проблемі, з якою я нещодавно зіткнувся під час створення комп’ютерної гри, і я подумав, що це дозволить зробити хороший раунд коду-гольфу .
Існує сім основних спектральних класів зірки, які виділяють різну кількість тепла. На геологію планет навколо зірки сильно впливає кількість тепла, отриманого від зірки, що є фактором спектрального класу та відстані від зірки. Отже, Ртуть практично розплавлена, Нептун застиг.
Галактика в моїй грі є процедурно генерованою і випадковим чином вибір типів планети для заданих зірок виявився справжнім "якщо пекло пекло"!
Змагання
Ваш метод повинен вибрати одну планету зі списку типів планети, відповідних класу зірки, виходячи з мінімального порогу теплоти, максимального порогу нагрівання та випадкового числа. Для простоти в цьому виклику буде використовуватись лише зірка класу 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)
.
Вихідні дані
Повернути тип планети у вигляді рядка.
Зробіть все можливе, щоб уникнути логічних наконечників стріл. Найкоротший код виграє, вказує на всю творчість. Щасливого гольфу!