Sei il capitano di una nave da guerra. Il dipartimento di ingegneria ha tagliato gli angoli con i disegni quest'anno, quindi la nave che stai prendendo prende la forma di un semplice triangolo.
Esci sul ponte e goditi la brezza marina ... anche se non per molto. Un nemico ti ha sparato! - ma il colpo colpirà?
Ingresso
Puoi scrivere una funzione o un programma completo per questa sfida.
Il tuo programma prenderà 11 numeri interi, dieci dei quali sono accoppiati:
Le prime tre coppie di numeri interi (x 1 , y 1 ), (x 2 , y 2 ), (x 3 , y 3 ) specificheranno i vertici della tua nave. Il triangolo formato avrà un'area diversa da zero.
La prossima coppia di numeri interi (e x , e y ) specifica la posizione del cannone del nemico. Il cannone nemico non mentirà mai, né all'interno del confine della tua nave. *
La coppia (a x , a y ) in seguito specifica dove punta il nemico. Questo sarà distinto da (e x , e y ).
L'intero positivo finale R specifica il raggio di tiro del nemico
* Saresti un terribile capitano se non ti accorgessi nemmeno che sta succedendo!
Produzione
Devi stampare / restituire un valore di verità (es. Vero, 1) se la corazzata verrà colpita, altrimenti un valore di falsa (es. Falso, 0).
Che cos'è un successo?
Il tiro nemico è un segmento di linea retta di lunghezza R da (e x , e y ) nella direzione di (a x , a y ). Se questo segmento di linea si sovrappone a qualsiasi parte dell'interno della tua nave da battaglia triangolare, allora conta come un colpo. Altrimenti non è un successo.
I colpi che sfiorano o raggiungono solo il limite del triangolo non contano come un colpo.
Esempi
0 0 0 1 1 0
1 1
0 0
2

Hit: il nemico ha sparato proprio attraverso il centro della tua nave!
2 0 0 2 4 4
0 0
1 1
1

Nessun colpo: la distanza del nemico è troppo breve, quindi sei al sicuro.
0 0 1 2 3 0
-4 0
0 0
8

Nessun colpo: il nemico ha sfiorato il lato della tua nave, quindi questo non conta come un colpo. Fortunato!
0 0 -1 3 4 -1
-3 -4
3 4
5

Nessun colpo: il colpo nemico si ferma a breve distanza dalla nave, quindi sei al sicuro. Se il cannone del nemico avesse un raggio persino migliore, allora saresti stato colpito! Accidenti!
-2 -3 -3 6 7 -2
-6 2
1 -4
7

Hit: anche se il tiro non è penetrato dall'altra parte, questo è ancora un successo.
-3 2 2 -4 7 -3
-3 -4
-3 0
10

Nessun risultato: per la cronaca, questa è un'altra sfortuna.
Casi di prova aggiuntivi
0 0 6 0 6 8
-6 -8
6 8
20

Nessun colpo: questa è un'altra mania, ma ad angolo.
0 0 -2 -5 5 3
-3 4
0 0
6

Hit: il colpo è entrato attraverso un vertice della nave.
punteggio
Questo è code-golf , quindi vince il codice più breve in byte. Si applicano scappatoie standard .
0 0 -1 3 4 -1 -3 -4 3 4 6.