Wprowadzenie
Jest to oparte na faktycznym problemie, z którym ostatnio miałem do czynienia podczas tworzenia gry komputerowej i pomyślałem, że będzie to dobra runda golfa .
Istnieje siedem głównych klas widmowych gwiazdy, które emitują różne ilości ciepła. Na geologię planet wokół gwiazdy duży wpływ ma ilość ciepła odbieranego z gwiazdy, która jest czynnikiem klasy widmowej i odległości od gwiazdy. Stąd rtęć jest praktycznie stopiona, a Neptun zamrożony.
Galaktyka w mojej grze jest generowana proceduralnie, a losowe wybieranie typów planet dla danych gwiazd okazało się prawdziwym piekłem „jeśli oświadczenie”!
Wyzwanie
Twoja metoda powinna wybrać jedną planetę z listy rodzajów planet odpowiednich dla klasy gwiazdy, na podstawie minimalnego progu ciepła, maksymalnego progu ciepła i liczby losowej. Dla uproszczenia to wyzwanie będzie wykorzystywało tylko gwiazdę klasy G, tak jak nasze słońce.
Wejścia
Liczba całkowita heat
z zakresu od 4 do 11 reprezentująca ilość ciepła otrzymanego przez planetę z gwiazdy.
Zmienne
Ta tabela pokazuje możliwe planety na podstawie heat
. Twoja metoda powinna najpierw zawęzić dostępne opcje w oparciu o ciepło min i ciepło maks., heat
Powinna spaść między nimi. Np. Przy przepływie ciepła 10 jedynymi opcjami byłyby Pustynia, Żelazo i Lawa.
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
Następnie prawdopodobieństwo wyboru planety (w pozostałych wyborach) to losowe szanse podzielone przez sumę losowych szans wszystkich wyborów.
W powyższym przykładzie prawdopodobieństwo wyboru żelaza wynosi 14/(25+14+6)
.
Wydajność
Zwraca typ planety jako ciąg.
Zrób co możesz, aby uniknąć logicznych grotów strzałek. Najkrótszy kod wygrywa, punkty za kreatywność. Miłej gry w golfa!