Você pode renderizar uma versão do logotipo da BBC Micro Owl conforme o código acima?
Regras:
- Você pode usar qualquer linguagem de programação que desejar.
- A saída pode ser texto ou gráfico.
- Os círculos não precisam se sobrepor.
Vencedora:
- A resposta com mais votos positivos vence.
Muitos elogios para quem tenta isso na BBC basic.
Você pode ler sobre a BBC Micro aqui
popularity-contest
graphical-output
Ben Paton
fonte
fonte
Respostas:
BBC BASIC
Tentei usar funções trigonométricas para desenhar círculos adequados, mas isso foi dolorosamente lento. Em vez disso, surgiu isso:
Aqui está a saída:
fonte
GolfScript
O código imprime uma versão ascii art do logotipo (execute aqui ).
fonte
Mathematica
Nada além de trabalho pesado.
fonte
R
Resulta em:
Basicamente, a idéia é obter a representação da base 2 dos 17 números (1397760, 567810, 1070336, 141954, 1381696, 133794, 1054036, 559786, 1332560, 557218, 1052756, 131114, 1380368, 139272, 1064964, 557058 e 1398101) , transformá-lo em uma matriz 21x17 de 1 e 0s e plotar a matriz como está.
fonte
Pov-Ray
'ajuntar com
povray +Ibbc.pov -Obbc.png +A0.1 +R9 -W240 -H285
fonte
Bater
Como você não especificou nenhum recurso externo ...
Howard - roubou sua arte Ascii, obrigado.
Ou depois que eu enviei aqui -
fonte
BBC Basic, cores aleatórias, jogou golfe!
149 caracteres. Eu não sou tão grande no golfe (prefiro os desafios do código), mas gostei do ridículo do golfe no básico da BBC. Emulador da BBC em http://www.bbcbasic.co.uk/ . Executa no modo de tela 6 na linha de comando.
FORQUILHA = 6TO185S = K MOD9 = 5VDU-32 * (K MOD18 = 15), 17.128 + RND (6) * (ASCMID $ ("? OSUuLEMSMS ^ H? = A_W", K / 6,1) / 2 ^ (K MOD6) AND1), 32,17,128,32, -13 * S, -10 * S: PRÓXIMO
Explicação (versão não destruída)
Nenhuma instrução IF, porque o restante da linha só seria executada se o IF fosse verdadeiro (para garantir que o NEXT fosse alcançado, eu teria que fazer um programa com números de linha.) Portanto, fiz muito uso do ASC (null caractere) = 0 para controlar a saída. Além disso, tive que cortar o pixel no canto inferior direito para caber em toda a linha de comando na tela após a impressão (e isso salvou 2 caracteres.
Eu amo como a BBC basic pode reconhecer um identificador depois de FOR, mesmo sem espaço em branco. FORE, FORD, FORK, FORM, FORS, FORT :-)
fonte
C
Saída ASCII.
Saída de código:
fonte
JavaScript -
326307285 caracteres (ASCII)Provavelmente não é o código mais curto. Tentei estar o mais próximo possível do logotipo original, usando apenas ASCII.
Para executar: copie e cole no console javascript (por exemplo: chrome ou firefox). Nota: o script pode demorar um pouco para ser executado; portanto, se nada acontecer logo após pressionar enter, seja um pouco paciente.
fonte
m=Math;
e fazendom.floor
,m.pow
etc.for
loop externo em umwith (Math)
e omitindoMath.
a cada ocorrência. Mova ass+=
peças para o cabeçalho do loop for (próximo ay++
/x++
) para se livrar de algumas chaves. Eu acho que é típico usaralert
/prompt
para E / S ao jogar golfe no JS, então eu iriaalert(s)
no final.CoffeeScript
Código não é jogado. Ele usa algum algoritmo metaballs -ish para simular a "aderência" dos círculos. ASCII coruja foi descaradamente roubado de outras respostas :)
Assista a ele destruir a documentação do coffeescript.org (pressione Executar):
fonte
PHP
Com base nas versões ascii art do logotipo enviadas anteriormente e usando isso como o array para renderizar uma versão gráfica usando a biblioteca GD.
Resulta em:
fonte