Bob el arquero
o
/( )\ This is Bob.
L L Bob wants to be an archer.
#############
.
/ \ <--- bow So he bought himself a
(c -)-> <--- arrow nice longbow and is about
( )/ <--- highly focused Bob shoot at a target.
L L
#############
___________________________________________________________________________________________
sky
Bob is a smart guy. He already knows what angle and
velocity his arrow has / will have. But only YOU know
the distance to the target, so Bob doesn't know if he
will hit or miss. This is where you have to help him.
. +-+
/ \ | |
(c -)-> | |
( )/ +++
L L |
###########################################################################################
Tarea
Su tarea es representar una imagen artística ASCII de Bob golpeando o perdiendo el objetivo. Para el cálculo:
- Su programa recibirá
arrow_x,angle,velocity,distance
como entrada separada por comas en el orden que desee. - Un carácter ASCII es igual
1m
. - El primer carácter en la última línea tiene las coordenadas
(0,0)
, por lo que el terreno (representado como#
) está eny=0
. - Bob siempre se para en el suelo, su
y
posición no cambia. - No hay max
y
. Sin embargo, el vértice de las flechas debe caber dentro de la imagen renderizada. - Toda la entrada se proporciona como un entero decimal.
- Durante el cálculo, suponga que la flecha es un punto.
- El origen de la flecha es la punta
>
de flecha de un Bob disparador (ver arriba). Entonces dadoarrow_x
, tienes que calculararrow_y
. El pie izquierdo de Bob en la salida tiene que coincidir con elx
coord. del tiroteo Bob. distance
es lax
coordenada del pie del objetivo . (es decir, el centro del objetivo).- Todas las medidas se suministran en metros y grados respectivamente.
- Atención: ¡ el disparo Bob nunca se procesa, solo se usa para cálculos! Vea a continuación los dos Bobs de salida válidos
- Golpear el objetivo significa que el camino de las flechas cruza cualquiera de las dos paredes del objetivo más a la izquierda (
|
) (Eso es (distancia-1,3) o (distancia-1,4). Si en algún momento la flecha está dentro de esos 2m², coloque la X en lugar del muro que golpea. El objetivo siempre tiene la misma altura y solo su posición x puede cambiar). Los golpes de esquina o una flecha que cae del cielo sobre el objetivo no cuentan. - Se aplica tierra estándar g (9.81 m / s ^ 2).
distance+1
es el final del campo, después de eso, todo es un error y no se debe mostrar ninguna flecha.- Si la flecha alcanza el objetivo de cualquier otra manera (
distance-1
etc.), no se debe representar ninguna flecha.
Perder
Este es un ejemplo de la falta de Bob (la flecha entra al suelo a 34 m, el ángulo es de 45 °, el tiempo en el aire es de 10 s, la velocidad es de ~ 50, pero hay muchas más entradas posibles para causar esta salida. Simplemente muestre que su programa usa fórmulas habituales para calcular resultados físicamente "precisos"):
+-+
| |
c\ | |
/( ) v +++
L L | |
###########################################################################################
Golpear
Este es un ejemplo de representación de la puntuación de Bob (la flecha entra en el objetivo (= cruza su camino)):
+-+
>--X |
\c/ | |
( ) +++
L L |
###########################################################################################
Ejemplo
arrow_x
es 7.arrow_y
es siempre 3.angle
es30°
o0.523598776
radianes.velocity
es13m/s
.distance
es 20.
Entonces, para alcanzar el objetivo, la flecha tiene que cruzar (19,3)
o (19,4)
. Todo lo demás será una señorita. En este caso, la flecha entrará al suelo (los medios y
estarán <1.0
) 12.9358m = ~13m
después 1.149s
.
Límites y puntuación
- Este es el código de golf , por lo que gana la solución más corta. No hay bonos
- Su programa (como no funciona ) debe aceptar entradas en el formato descrito anteriormente, no se permiten entradas adicionales.
- No tiene que manejar entradas incorrectas / sin sentido / imposibles.
- Imprima a la salida razonable más corta para su idioma (estándar, archivo, ...).
- No me importa arrastrar espacios en blanco.
- Consejo: el ancho de salida es
distance+2
. La altura esapex+1
.
The left foot of Bob in the output has to match the x coord. of the shooting Bob.
ySee below for the two valid output-Bobs