introduction
Comme on le sait, la Finlande célèbre en 2017 ses 100 ans d'indépendance. Pour marquer le coup, votre travail consiste à produire un drapeau finlandais pour le plus grand plaisir de tous.
Défi
Créez un programme ou une fonction qui produit le drapeau de la Finlande (la bordure grise n’y figure que pour la présentation):
Spécifications du drapeau
- Le rapport du drapeau est
18:11
, la croix étant une3
unité d'épaisseur, ce qui donne un ensemble de rapports horizontaux de5:3:10
et un ensemble de rapports verticaux de4:3:4
. - La taille de l'image doit être au moins de
180 x 110
pixels ou, en cas d'art ASCII, de90 x 55
caractères. - Il n’existe pas de couleur RVB officielle pour le bleu, mais utilisez l’approximation la plus proche de
(0, 53, 128)
. Si votre système ne prend pas en charge les valeurs RVB, utilisezblue
. - Pour la couleur blanche, utilisez RVB
(255, 255, 255)
ouwhite
.
Pas si vite
Comme dessiner le drapeau national finlandais serait plus simple que le défi islandais de l'année dernière , nous devrons augmenter la difficulté un peu. Étant donné que le jour de l’indépendance de la Finlande est le 6 décembre, le nombre décimal 100
doit apparaître quelque part sur le drapeau lorsque la date en Finlande ( UTC + 02: 00 ) est 2017-12-06
ultérieure ou ultérieure (votre code ne doit pas supposer que la machine sur laquelle il tourne est définie sur une valeur). fuseau horaire particulier). Avant la date, le numéro ne doit pas être là. Le numéro doit être imprimé en noir (RVB (0, 0, 0)
ou black
), mais vous pouvez choisir son emplacement et ses paramètres de police.
Un exemple d'un tel rendu (encore une fois, ignorez la bordure):
À des fins de test, il serait intéressant d’inclure deux versions supplémentaires de votre solution, une avec une date fixe dans le passé et une autre dans le futur.
Règles
Les failles standard sont interdites, de même que les images / bibliothèques de drapeaux intégrées. De plus, votre code ne doit prendre aucune entrée.
Les Finlandais n'aiment pas les bavardages, et c'est du code-golf , alors ne perdez pas vos personnages!
la source
#
dans le cas d’art ASCII ? Et puis insérez les caractères100
quelque part?Réponses:
C (Windows), 361 octets
Déroulé:
Sortie:
Sortie quand
UTC time >= 2017-12-05-22-00
:Ajoutez ce qui suit dans le code après
d=gmtime(&n);
pour l'essayer:la source
PHP + SVG (HTML5),
147137123 octetsCode SVG par Neil
https://codegolf.stackexchange.com/a/149850/66061
Mise à jour: Merci à Shaggy de m'avoir aidé à économiser 10 octets.
Mise à jour 2: Idée intelligente d' Ismael Miguel , merci d'avoir économisé 14 octets
Ordinaire
Après le 6 décembre +2 heures
la source
time()
donne UTC?1512525600
?1512525600
est2017-12-06T02:00:00+00:00 in ISO 8601
@ Adám et oui, time () est un fuseau horaire indépendant.Röda ,
252250 octetsEssayez-le en ligne!
la source
C #,
407400277 octetsBizarre comment
ForegroundColor =0
est autoriséEnregistré 1 octet grâce à TuukkaX
67 octets sauvés grâce à Adam
non testé pour les tests:
pour tester 100:
la source
ForegroundColor = 0
est autorisé car le littéral0
est convertible en tout type d’énumération, comme indiqué dans la spécification C # .Mathematica, 129 octets
avant .. après ..
vous pouvez toujours le tester sur Wolfram Sandbox
(collez le code et appuyez sur Maj-Entrée)
la source
3721507200
?Python 2 ,
247246230210189 octetsEssayez-le en ligne!
Imprime une image .ppm:
Drapeau normal
Drapeau avec 100
la source
datetime.utcnow()+timedelta(hours=2)<datetime(2017,12,06)
être remplacé pardatetime.utcnow()>=datetime(2017,12,05,22,0,0)
ou quelque chose de similaire?time.gmtime
plutôt pour les comparaisons de tuples (voir ma réponse)!Python 3,
143141135 octetsUtilise ANSI d'échappement pour les couleurs, utilise cinq espaces ou "100" en tant que chaîne de couleur, de sorte que je n'ai pas besoin d'imprimer spécialement "100" quelque part sur le drapeau. Longueur 5 à cause de la largeur, parce que
90/5 == 90//5
. La chaîne utilisée est définie dans la ligne 1. Ensuite, nous parcourons 55 tours (hauteur), chaque itérationv
est définie sur chaîne avec la couleur [Blue, BrightWhite] et l'index sélectionné est booléenrow<20 or r>34
. Nous multiplions ce résultat par 5 (dimensions de largeur: 25:15:50, la largeur totale est donc 90). Ensuite, nous imprimonsv + Blue + Blue + Blue + v + v + Black
oùv
est soit Bleu ou BrightWhite. Pour clarifier l’impression: largeur dev
est de 25 caractères, largeur de Bleu (e%44*3
) est de 15 et largeur dev*2
50.25+15+50
est 90 qui est la largeur et suit les dimensions requises dans la tâche! Résumé assez compliqué mais je suppose que c'est mieux que rien.la source
Processing.org / Java
191188 octets-3 octets grâce à KevinCruijssen
la source
>15125255999999L
can be>=15125256e6
15125256e6
c'est15125256000000
quand je le teste en Java 8. Mais je ne connais pas Processing.org, alors c'est peut-être légèrement différent ou en utilisant une version différente? Voici un TIO avec quelques tests de base15125256e6
pour vérifier que cela fonctionne en Java 8. Mais je suis heureux de l’D
avoir corrigé. Heureux d'avoir pu aider. :)Excel VBA,
120118117 octetsFonction de fenêtre immédiate VBE anonyme qui ne prend aucune entrée et émet le drapeau finlandais et si la Finlande a plus de 100 ans, utilisez
100
ce drapeau. Cela concerne le fuseau horaire de Pâques des États-Unis, car Excel ou Excel VBA n’ont aucun moyen de déterminer un fuseau horaire sans complément ou accès à Internet.Sortie
Si la Finlande a moins de 100 ans
Si la Finlande a plus de 100 ans
-2 octet pour passer
If #12/5/17 19:00#<=Now Then[B2]=100
àIf Now>=#12/5/17 19:0#Then[B2]=100
-1 octet pour l'utilisation de
Cells
plutôt que[A1:R11]
la source
MATLAB,
133130123 octets310 octets sabré merci pour @flawr!Cette utilise
[0, 51, 128]
pour la couleur bleue. La taille de l'image est 180 × 110 pixels.Échantillon échantillon:
Exemple exécuté avec le texte (changer
737035
en0
dans le code pour que le texte soit affiché tous les jours):la source
JavaScript (ES5) + SVG (HTML5),
189179 octets(HTML pour indiquer que les exigences de couleur sont remplies.) Éditer: 10 octets sauvegardés grâce à @Shaggy. Les sorties:
la source
Date.now()
est en UTC et je compare à la valeur UTC de2017/12/06 00:00:00 UTC+2
.<path></path>
par<path/>
pour sauvegarder quelques octets.Python 3 avec oreiller,
213212211 caractères (Unix) et217216 caractères (Portable)Ceci est la version Unix. Après avoir posté, j'ai réalisé que l'heure renvoyée par
time()
n'a pas nécessairement son époque le 1er janvier 1970, elle n'est donc pas nécessairement portable.C’est le code portable, 4 octets de plus, qu’il utilise
gmtime
avec la comparaison de tuples et qui devrait donc fonctionner de manière fiable également sur Windows.Les images sont affichées dans une fenêtre. Vraiment difficile de le faire consommer moins de caractères. Même si
time.time
un retour ne serait pas tout à fait correct, ou serait décalé d'une microseconde.float
>0x5a273299
>0x5a273300
la source
Tcl / Tk , 135 octets
Doit être exécuté dans le shell interactif
Avant le 06/12/2017 à 02h00 GMT
Après le 06/12/2017 à 02h00 GMT
la source
Java
342368361321317 (299 + 18) octetsGolfé
Ungolfed
Résultat
Crédits
40 octets enregistrés par Olivier Grégoire pour l'utilisation de lambda.
4 octets enregistrés par Kevin Cruijssen pour le formatage long.
2 octets enregistrés par l'utilisateur 902383 pour le formatage hexadécimal.
la source
true
s par1>0
,args
aveca
, et pouvez supprimer les espaces autour=
deP j = new...
pour économiser quelques octets.import java.awt.*;
), avec la condition incluse.import
du tout. 2. les noms de variables ne sont pas abrégés:args
peuvent être réduits àa
. 3. il y a encore des espaces optionnels contenus dans l'entrée. 4. il n'y a pas d'empreinte conditionnelle de "100".vim, 147
J'aime vraiment ce défi. © c'est s'échapper.
la source
bash and imagemagick, 135
la source
((`date +%s`>=1512511200))&&x=100
. Note that I moved the single quotes inside the-draw
parameter, where they need no escaping.Imperative Tampio, 239 bytes (non-competing)
Online version
Translation:
SVG was taken from this answer by th3pirat3 (and Neil, appearently).
This program is written in a new version of Tampio I have been working on. Those of you who know Finnish can see that it is almost readable. I marked the answer as non-competing because this language was published after this challenge.
To run this program, either go to the online version above that contains the compiled JS version of the program or download the compiler from its Github page. To compile the program, run
python3 tampio.py -p program.itp >program.html
.Tampio is not a golfing language by any measure, but due to the better svg code, it actually beat Röda... I was a little surprised.
la source
bash, 198
la source
HTML + CSS + Javascript, 339 bytes
Here's the same solution trimmed down to 260 bytes, which assumes your viewing port has the proper 18:11 ratio.
You can knock a 0 off of the timestamp in either solution to see the "100" appear.
la source
HTML + Javascript, 329 bytes
I shamelessly stole the date-checking part from @jstnthms. Basically I just write crude html table with correct row/col ratios,
th
being the blue parts. Tested on IE and Chrome, also at mee.fi -site.la source
Perl 5, 139 bytes
to be launched
ratio was changed because of character ratio height/width = 1.66 (5/3) otherwise with original ratio :
la source
Racket 6.10 with 2htdp/image, 202 bytes
Ungolfed:
la source
100
on a blue part — almost missed it.Small Basic, 300 bytes
A Script that takes no input and outputs to the
TextWindow
object.Try it at SmallBasic.com! Requires IE/Silverlight
Output
Shown after the Finland's 100th independence day.
la source
the previously made code has been golfed down to the following:
HTML, CSS and JavaScript, 1599 bytes
la source
===
and100
).HTML + JavaScript, 247 bytes
la source
JavaScript ES6, 532 bytes
Decided to try using a Base64 image to see how short I could get it. Not a winner, but interesting nonetheless.
la source
${(…)}
→${…}
); no need for double quotes around those HTML attribute values; although invalid, in most cases you can cut off the base64 encoded strings's padding with equal signs (Firefox has certainly no problem decoding it).