introduzione
Scrivi un programma o una funzione che, date le coordinate di dove un dardo atterra su un bersaglio, restituisca il punteggio di quel dardo. Le coordinate del dardo sono fornite come due numeri interi, x,y
misurati dal centro del bersaglio, con precisione millimetrica.
Come segnare un dardo
Freccette è una partita giocata lanciando un dardo su una tavola circolare. Il bersaglio per le freccette è diviso in 20 "cunei" di pari dimensioni. Partendo dall'alto e procedendo in senso orario, le sezioni hanno valori di 20,1,18,4,13,6,10,15,2,17,3,19,7,16,8,11,14,9,12 , 5. Se il tuo dardo atterra nelle parti bianche o nere di uno qualsiasi dei cunei, ottieni il valore indicato all'esterno di quel cuneo.
.
Tuttavia, se il tuo dardo atterra nell'anello esterno verde / rosso del bersaglio, ottieni il doppio dei punti indicati all'esterno del cuneo che colpisci. Allo stesso modo, colpendo l'anello verde / rosso interno (quello tra le due sezioni bianco / nero), ottieni il triplo del numero indicato all'esterno del cuneo. Se il tuo dardo colpisce il cerchio più interno (l'occhio di tori rosso) invece ottieni 50 punti e, infine, se il tuo dardo colpisce il cerchio più interno (l'anello verde attorno all'occhio di toro), ottieni 25 punti.
Le dimensioni degli anelli, misurate dal centro del bersaglio, sono le seguenti:
Bullseye (50): [0mm-6mm)
25: [6mm-16mm)
Inner Single: [16mm-99mm)
Triple: [99mm-107mm)
Outer Single: [107mm-162mm)
Double: [162mm-170mm)
Miss (0): 170mm+
Nota 1: le immagini fornite sono solo a scopo illustrativo e non sono in scala.
Nota 2: le misure fornite sono approssimative e potrebbero non essere precise su un vero bersaglio.
Nota 3: tutte le misure fornite sono [inclusive-exclusive)
. Ai fini di questa sfida, non ci preoccuperemo delle freccette che colpiscono il filo e rimbalzano. Se il dardo atterra "sul filo" con una delle linee radiali, spetta al rispondente decidere se rompere la cravatta in senso orario o antiorario. La direzione di rottura del legame deve essere coerente e indicata.
Nota 4: Il bersaglio viene appeso in modo standard con la parte centrale della sezione 20 che si trova direttamente sopra il punto centrale e la sezione 3 direttamente sotto il punto centrale.
Ingresso
Due numeri interi che rappresentano le x,y
coordinate di dove è atterrato il dardo, misurato in millimetri, rispetto al centro del bersaglio.
Produzione
Un unico numero intero, per il numero di punti che verrebbero assegnati a un dardo atterrato alle coordinate indicate.
Campione
0,0 -> 50
2,101 -> 60
-163,-1 -> 22
6,18 -> 1
-6,18 -> 5
45,-169 -> 0
22, 22 -> 4 (if tie-broken clock-wise)
18(if tie-broken counter-clockwise)
-150,0 -> 11
-150,-1 -> 11
punteggio
code-golf . Vince il minor numero di byte nel codice sorgente.
-150,-1
e -150,0
che dovrebbero dare 11
e potrebbero essere un caso limite in alcune implementazioni, poiché questa è la transizione tra theta convergente in -pi e theta = + pi in coordinate polari. (La mia risposta iniziale non è riuscita sul secondo.)