Já houve um desafio de 9 buracos (e outro aqui ), mas isso foi muuuuito no ano passado. Além disso, eu só estou aqui há 2 meses (embora pareça uma eternidade). E é consideravelmente diferente.
Quadro de Líderes: (observe que a ponderação dos furos ainda não foi estabelecida)
+---------------+------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|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 |
+---------------+------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
Outros furos:
Tem sido lento por aqui ultimamente, por isso estou aqui para iniciar o próximo campo de golfe de 9 buracos, envolvendo um punhado de tudo o que tenho visto aqui em minha (embora limitada) experiência. Isso implicará:
- Ascii Art
- Saída gráfica
- Jogo da vida de Conway
- Rei da colina
- Complexidade de Kolmogorov
- Quines
- Processamento de imagem
- Matemática
- Código de golfe clássico.
Estou realmente ansioso para ver o que você pode fazer!
Regras da Competição
- Você escolherá 1 idioma para todos os buracos (dos quais participa ... consulte o ponto 4 para obter mais informações).
- Para todos os buracos - as brechas padrão (ainda) não são engraçadas.
- O próximo desafio será exibido quando constatar que há envios suficientes, com um tempo razoável. O rei da colina, por exemplo, levará mais tempo.
- Você não precisa participar de todos os buracos. Se você acha um buraco particularmente desafiador, não tem tempo para fazê-lo, etc., receberá 2 vezes mais pontos que a pontuação mais baixa. Por favor, não tire proveito desta regra deixando 1 resposta com 12 caracteres e tendo 24 como pontuação.
Pontuação
- Sua pontuação é baseada no ponto culminante das pontuações de todos os buracos
- Menor pontuação ganha (conforme o golfe real)
- A tabela de classificação será colocada no topo desta página
Farei o possível para garantir que nenhuma pergunta seja duplicada, que todas as perguntas tenham critérios objetivos, sejam bem escritas e que tenham peso (relativamente) igual no contexto de todo o concurso.
No entanto, por favor, seja paciente quando eu falhar.
E, sem mais delongas, o primeiro desafio!
O Globo de Plasma
Um globo de plasma é o brinquedo favorito de todos:
Seu trabalho é desenhar um.
Você deve desenhar uma base:
um globo:
Uma coisa de tesla (?)
E, é claro, brotos de plasma frios:
No entanto, quando você coloca a mão perto de um globo de plasma (ou de um objeto condutor, como a Wikipedia me diz), ele atrai o plasma .
Seu globo deve refletir isso.
Para colocar quantitativamente, seu globo tem no máximo 16 fotos (veja a imagem acima). Um "objeto" na superfície do globo (dado por um ângulo em radianos) conterá "potência condutora", ou seja, a quantidade de feixes que atrai. Portanto, um objeto com uma potência de 5 atrai 5 feixes (uma única linha com espessura de 5), deixando 11 para se espalharem uniformemente pelo resto do globo :
Observe que
1. o círculo preto no meio permanece acima do plasma
2. que, neste exemplo, o ângulo seria pi / 2.
Você pode ter mais de um objeto condutor e, nesse caso, não é necessário que as fotos sejam igualmente espaçadas. No entanto, eles são relativamente espaçados. Por exemplo, isso é válido para 2 objetos, 1 no ângulo pi / 4 de potência 5 e outro no ângulo 5pi / 3 de potência 3:
Você deve conseguir ver cada um dos pontos finais das sessões (de plasma).
No entanto, dado um objeto (ou soma de objetos) com potência maior que 16, o globo "quebrará":
Notas
- O diâmetro do globo é 1,5 vezes maior que o comprimento da base, que é um quadrado
- Quando o globo quebra, o globo está do lado direito. É tangente ao lado direito da base e do solo. Não deve haver plasma quando o globo de plasma está quebrado (por quê? Recursos de segurança, é claro! Nenhuma palavra sobre como ele quebrou em primeiro lugar).
- A cor de tudo, exceto as fotos, deve ser preta e 1 pixel de espessura. A cor do plasma tem matiz 245 - 280 e saturação / valor 100. Use isso em "HSV" se você não tem idéia do que estou falando.
Entrada
A entrada pode ser feita por meio de STDIN / linha de comando args / qualquer que seja ou por meio de argumentos de função.
Deve haver 2 entradas - comprimento da base do globo de plasma (inclua um eixo se estiver usando gráficos vetoriais) e uma matriz de objetos como este:
[[angle,power],[angle,power],[angle,power]]
Portanto, para nenhum objeto (veja a primeira foto com 16 linhas), a entrada seria
100,[]
Para o próximo (um objeto, poder 5), seria:
100,[[1.570796,5]]
Para o último exemplo:
100,[[0.785398,5],[5.23598,3]]
Isso é código-golfe, então o código mais curto em bytes vence.
fonte
-3/8π
? Nesse caso, ele se sobreporia exatamente a uma das outras vigas. Temos que girar todos os feixes nesse caso? Nesse caso, acho que você precisa especificar a que distância os raios individuais precisam estar dos raios induzidos por objetos.Respostas:
Processando 2 - 717 caracteres
Como o processamento é uma linguagem feita para artistas e sou um programador muito novato, não espero me sair muito bem em muitos desses desafios. Dito isto, eu realmente gosto de como é simples desenhar coisas no processamento, e tenho pensado em brincar um pouco mais com isso, então esses desafios devem ser interessantes.
Tenho certeza de que isso pode ser consideravelmente melhor e posso tentar fazer isso quando tiver mais tempo, mas por enquanto estou feliz com isso.
lê em um arquivo (f.txt) localizado na pasta de dados do esboço para obter sua entrada. Usei a idéia dos Cameron de mudar as vigas livres até que não se sobrepusessem.
Exemplos:
100, [[0,785398,3], [5,23598,5]]
100, []
100, [[1.72398,12], [5.23598,5]]
obtenha o processamento aqui
fonte
Python, 878 caracteres
De maneira alguma isso é bom para o golfe, mas eu queria ver uma resposta para esse buraco.
E algumas saídas de amostra
fonte
A,B=zip(*C)
deve salvar alguns bytesPython 2.7,
378375Ele lê seus parâmetros a partir do argumento da linha de comandos.
Imagens de exemplo:
(parâmetros =
100,[[0.785398,5],[5.23598,3]]
)(parâmetros =
100,[]
)(parâmetros =
100,[[1.72398,12],[5.23598,5]]
)fonte