Essere colpiti al ginocchio con le frecce sembra essere la ferita di scelta in questo momento. Come tale, propongo la seguente sfida di golf.
Hai un avventuriero che assomiglia a questo:
O
/|\
/ | \
|
|
/ \
/ \
Dato un file di testo che contiene un arco (disegnato come un }simbolo), un insieme di muri (disegnato come un #simbolo) e un avventuriero, scrivi il codice più piccolo che calcola l'angolo e la velocità iniziale a cui devi sparare una freccia per colpire lui nel ginocchio.
Supponiamo che:
- Ogni personaggio nel file è 0,5 x 0,5 metri.
- La freccia viene lanciata dal centro di
}, ovvero un offset di0.25m, 0.25m - La gravità è
10ms^-2 - La freccia pesa
0.1kg - La freccia è un punto, ovvero le collisioni si verificano solo quando la coordinata della freccia entra in uno dei blocchi.
- La velocità iniziale massima è
50m/s - L'angolo può essere compreso tra 0 (verso l'alto) e 180 (verso il basso)
- Colpire qualsiasi parte della gamba dell'avventuriero è considerato un colpo al ginocchio.
- Un muro (
#personaggio) occupa un intero blocco di 0,5 mx 0,5 m. - La freccia può spostarsi sopra la "parte superiore" del file, ma non c'è nulla per impedire che l'input inizi con un limite di
#caratteri. - Non puoi penetrare nei muri con le frecce.
- Colpire qualsiasi altra parte dell'avventuriero non è permesso!
- Dovresti visualizzare un errore se è impossibile colpirlo al ginocchio.
Esempio di input:
#
} O
# /|\
/ | \
# |
# |
/ \
/ \
Sentiti libero di fare domande se è necessario :)
#############...