Pouvez-vous rendre une version du logo BBC Micro Owl comme ci-dessus à partir du code?
Règles:
- Vous pouvez utiliser n'importe quel langage de programmation que vous aimez.
- La sortie peut être du texte ou un graphique.
- Les cercles n'ont pas à se chevaucher.
Gagnant:
- La réponse avec le plus de votes positifs l'emporte.
Félicitations à tous ceux qui tentent cela dans BBC basic.
Vous pouvez lire sur le BBC Micro ici
popularity-contest
graphical-output
Ben Paton
la source
la source
Réponses:
BBC BASIC
J'ai essayé d'utiliser les fonctions trigonométriques pour dessiner les cercles appropriés, mais c'était douloureusement lent. Entré avec ceci à la place:
Voici la sortie:
la source
GolfScript
Le code imprime une version art ascii du logo (exécutez ici ).
la source
Mathematica
Rien que du grognement.
la source
R
Résulte en:
Fondamentalement, l'idée est de prendre la représentation en base 2 des 17 nombres (1397760, 567810, 1070336, 141954, 1381696, 133794, 1054036, 559786, 1332560, 557218, 1052756, 131114, 1380368, 139272, 1064964, 557058 et 1398101) , faites-en une matrice 21x17 de 1 et 0 et tracez la matrice telle quelle.
la source
Pov-Ray
'compiler avec
povray +Ibbc.pov -Obbc.png +A0.1 +R9 -W240 -H285
la source
Frapper
Puisque vous n'avez spécifié aucune ressource externe ...
Howard - a volé votre art ascii, merci.
Ou après l'avoir téléchargé ici -
la source
BBC Basic, couleurs aléatoires, golfé!
149 caractères. Je ne suis pas si grand sur le golf (je préfère les défis de code) mais j'ai aimé le ridicule du golf dans BBC basic. Émulateur BBC sur http://www.bbcbasic.co.uk/ . Fonctionne en mode écran 6 sur la ligne de commande.
FOURCHE = 6TO185S = K MOD9 = 5VDU-32 * (K MOD18 = 15), 17128 + RND (6) * (ASCMID $ ("? OSUuLEMSS ^ H? = A_W", K / 6,1) / 2 ^ (K MOD6) ET1), 32,17,128,32, -13 * S, -10 * S: SUIVANT
Explication (version non golfée)
Pas d'instructions IF, car le reste de la ligne ne serait exécuté que si l'IF était vrai (donc pour m'assurer que le NEXT a été atteint, je devrais faire un programme avec des numéros de ligne.) J'ai donc beaucoup utilisé ASC (null caractère) = 0 pour contrôler la sortie. De plus, j'ai dû couper le pixel dans le coin inférieur droit pour adapter toute la ligne de commande à l'écran après l'impression (et cela a sauvé 2 caractères.
J'adore la façon dont BBC basic peut reconnaître un identifiant après FOR, même sans espace blanc. FORE, FORD, FORK, FORM, FORS, FORT :-)
la source
C
Sortie ASCII.
Sortie de code:
la source
JavaScript -
326307285 caractères (ASCII)Probablement pas le code le plus court. J'ai essayé d'être aussi proche que possible du logo d'origine, en utilisant uniquement ASCII.
Pour exécuter: copiez-collez sur la console javascript (par exemple: chrome ou firefox). Remarque: l'exécution du script peut prendre un peu de temps, donc si rien ne vient juste après avoir appuyé sur Entrée, soyez un peu patient.
la source
m=Math;
puis fairem.floor
,m.pow
etc.for
boucle la plus externe dans unwith (Math)
, puis en omettantMath.
à chaque occurrence. Déplacez less+=
parties vers l'en-tête for-loop (à côté dey++
/x++
) pour vous débarrasser de quelques accolades. Je pense qu'il est typique d'utiliseralert
/prompt
pour les E / S lorsque vous jouez au golf en JS, donc j'iraisalert(s)
à la fin à la place.CoffeeScript
Le code n'est pas joué. Il utilise certains metaballs algorithme ish pour simuler « stickyness » des cercles. Le hibou ASCII a été volé sans vergogne à d'autres réponses :)
Regardez-le détruire la documentation coffeescript.org ( cliquez sur Exécuter):
la source
PHP
En s'appuyant sur les versions ascii art du logo soumis précédemment et en l'utilisant comme tableau pour rendre une version graphique à l'aide de la bibliothèque GD.
Résulte en:
la source
BBC Basic + GXR
Très tard, mais: le compte 'bbcmicrobot' sur Twitter qui exécute des progs <280 caractères ou plus a ajouté la ROM Acorn GXR, permettant de dessiner des cercles et des ellipses. J'ai pensé, que pouvais-je dessiner avec quelques cercles? Et cela m'est venu. Il est basé en partie sur la réponse de @Level River Street, j'ai utilisé des commandes de base abrégées, utilisé des tests de bits au lieu de SHR et changé la représentation des bits:
Mon tweet d'origine est ici
la source