Ya ha habido un desafío de 9 hoyos (y otro aquí ), pero fue muuuucho el año pasado. Y, además, que sólo han sido de alrededor de 2 meses (aunque parece que para siempre). Y es considerablemente diferente.
Tabla de clasificación: (tenga en cuenta que la ponderación de los agujeros aún no se ha establecido)
+---------------+------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|Competitor | Language | Hole 1 | Hole 2 | Hole 3 | Hole 4 | Hole 5 | Hole 6 | Hole 7 | Hole 8 | Hole 9 | Total |
+----------------------------------------------------------------------------------------------------------------------+
|Dennis |CJam | | 31 | | | | | | | | 31 |
+----------------------------------------------------------------------------------------------------------------------+
|Optimizer |CJam | | 35 | | | | | | | | 35 |
+----------------------------------------------------------------------------------------------------------------------+
|Martin Büttner |Mathematica | | 222 | | | | | | | | 222 |
+----------------------------------------------------------------------------------------------------------------------+
|Cameron |Python | 878 | | | | | | | | | 878 |
+----------------------------------------------------------------------------------------------------------------------+
|bubalou |Processing 2| 717 | | | | | | | | | 717 |
+----------------------------------------------------------------------------------------------------------------------+
|Doorknob |Python 2 | | |0.079711| | | | | | |0.079711|
+----------------------------------------------------------------------------------------------------------------------+
|Vulcan |Java | | |0.6949 | | | | | | |0.6949 |
+----------------------------------------------------------------------------------------------------------------------+
|Eli |C++ | | |1.42042 | | | | | | |1.42042 |
+---------------+------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
Otros agujeros:
Últimamente ha sido lento por aquí, así que estoy aquí para comenzar el próximo campo de golf de 9 hoyos, lo que implica un poco de todo lo que he visto aquí en mi experiencia (aunque limitada). Esto implicará:
- Arte Ascii
- Salida gráfica
- El juego de la vida de Conway
- Rey de la colina
- Complejidad de Kolmogorov
- Quines
- Procesamiento de imágenes
- Matemáticas
- Código clásico de golf.
¡Tengo muchas ganas de ver lo que puedes hacer!
Normas de competencia
- Elegirás 1 idioma para todos los agujeros (en los que participas ... ver el punto 4 para más información).
- Para todos los agujeros, las lagunas estándar (todavía) no son divertidas.
- El próximo desafío aparecerá cuando vea que hay suficientes envíos en un tiempo razonable. El rey de la colina, por ejemplo, llevará más tiempo.
- Usted no tiene que participar en todos los agujeros. Si encuentra un hoyo particularmente desafiante, no tenga tiempo para hacerlo, etc., recibirá 2 veces más puntos que la puntuación más baja. No aproveche esta regla dejando 1 respuesta de golfscript con 12 caracteres y tomando 24 como puntaje.
Puntuación
- Su puntaje se basa en la culminación de los puntajes de todos los agujeros
- La puntuación más baja gana (según el golf real)
- La tabla de clasificación se colocará en la parte superior de esta página.
Haré todo lo posible para asegurarme de que ninguna pregunta sea duplicada, que todas las preguntas tengan criterios objetivos, estén bien escritas y que todas tengan un peso (relativamente) igual en el contexto de todo el concurso.
Sin embargo, tenga paciencia cuando falle.
Y, sin más preámbulos, ¡el primer desafío!
El globo de plasma
Un globo de plasma es el juguete favorito de todos:
Tu trabajo es dibujar uno.
Debes dibujar una base:
un globo:
Una cosita tesla (?)
Y, por supuesto, brotes de plasma geniales:
Sin embargo, cuando coloca su mano cerca de un globo de plasma (o un objeto conductor como Wikipedia me dice), atrae el plasma .
Tu globo debería reflejar eso.
Para decirlo cuantitativamente, su globo tiene un máximo de 16 brotes (vea la imagen de arriba). Un "objeto" en la superficie del globo (dado por un ángulo en radianes) contendrá "potencia conductiva", es decir, la cantidad de haces que atrae. Por lo tanto, un objeto con una potencia de 5 atraerá 5 haces (una sola línea con un grosor de 5) dejando que 11 se distribuya uniformemente en el resto del mundo :
Tenga en cuenta que
1. el círculo negro en el medio permanece por encima del plasma
2. que en este ejemplo, el ángulo sería pi / 2.
Es posible que tenga más de un objeto conductor y, en ese caso, no es necesario que los brotes estén igualmente espaciados. Sin embargo, están relativamente espaciados. Por ejemplo, esto está bien para 2 objetos, 1 en el ángulo pi / 4 potencia 5 y otro en el ángulo 5pi / 3 potencia 3:
Debería poder ver cada uno de los puntos finales de los brotes (de plasma).
Sin embargo, dado un objeto (o suma de objetos) con un poder superior a 16, el globo se "romperá":
Notas
- El diámetro del globo es 1.5 veces más grande que la longitud de la base, que es un cuadrado
- Cuando el globo se rompe, el globo está en el lado derecho. Es tangente al lado derecho de la base, así como al suelo. No debe haber plasma cuando el globo de plasma está roto (¿por qué? ¡Características de seguridad, por supuesto! Ni una palabra sobre cómo se rompió en primer lugar).
- El color de todo excepto los brotes debe ser negro y de 1 píxel de grosor. El color del plasma tiene una tonalidad de 245 a 280 y una saturación / valor de 100. Use esto bajo "HSV" si no tiene idea de lo que estoy hablando.
Entrada
La entrada puede ser a través de STDIN / línea de comando args / lo que sea o mediante argumentos de función.
Debería haber 2 entradas: longitud de la base del globo de plasma (incluya un eje si usa gráficos vectoriales) y una matriz de objetos como este:
[[angle,power],[angle,power],[angle,power]]
Entonces, para ningún objeto (ver la primera imagen con 16 líneas) la entrada sería
100,[]
Para el siguiente (un objeto, potencia 5) sería:
100,[[1.570796,5]]
Para el último ejemplo:
100,[[0.785398,5],[5.23598,3]]
Este es el código de golf, por lo que gana el código más corto en bytes .
fuente
-3/8π
? En ese caso, se superpondría exactamente con uno de los otros haces. ¿Tenemos que rotar todas las vigas en tal caso? Si es así, creo que debe especificar qué tan lejos deben estar los haces individuales de los haces inducidos por objetos.Respuestas:
Procesando 2 - 717 caracteres
Como el procesamiento es un lenguaje hecho para artistas, y soy un programador muy novato, no espero tener un buen desempeño en muchos de estos desafíos. Dicho esto, realmente me gusta lo simple que es dibujar cosas en el procesamiento, y he tenido la intención de jugar un poco más, por lo que estos desafíos deberían ser interesantes.
Estoy seguro de que esto se puede reducir considerablemente y puedo intentar hacerlo cuando tenga más tiempo, pero por ahora estoy contento con eso.
lee en un archivo (f.txt) ubicado en la carpeta de datos del boceto para obtener su entrada. Usé la idea de Camerons de cambiar las vigas libres hasta que no se superpongan.
Ejemplos:
100, [[0.785398,3], [5.23598,5]]
100, []
100, [[1.72398,12], [5.23598,5]]
obtener procesamiento aquí
fuente
Python, 878 caracteres
De ninguna manera es un buen campo de golf, pero quería ver una respuesta para este hoyo.
Y algunas salidas de muestra
fuente
A,B=zip(*C)
debería guardar algunos bytesPython 2.7,
378375Lee sus parámetros del argumento de la línea de comandos.
Imágenes de muestra:
(parámetros =
100,[[0.785398,5],[5.23598,3]]
)(parámetros =
100,[]
)(parámetros =
100,[[1.72398,12],[5.23598,5]]
)fuente