जन्मदिन मुबारक हो, फिनलैंड!


37

परिचय

जैसा कि ज्ञात है, 2017 में, फिनलैंड ने अपनी 100 साल की आजादी का जश्न मनाया। इस अवसर को चिह्नित करने के लिए, हर किसी के आनंद के लिए फिनिश ध्वज का उत्पादन करना आपका काम है ।

चुनौती

एक कार्यक्रम या एक समारोह बनाएं जो फिनलैंड के ध्वज का उत्पादन करता है (केवल प्रस्तुति प्रयोजनों के लिए ग्रे बॉर्डर वहां है):

फ़िनलैंड का झंडा

झंडा विनिर्देशों

  • झंडे का अनुपात 18:11क्रॉस के साथ 3मोटी इकाई है, जिससे क्षैतिज अनुपात सेट होता है 5:3:10और ऊर्ध्वाधर अनुपात सेट होता है 4:3:4
  • चित्र 180 x 110का आकार कम से कम पिक्सेल होना चाहिए , या ASCII कला, 90 x 55वर्णों के मामले में ।
  • नीले रंग के लिए कोई आधिकारिक आरजीबी रंग नहीं है, लेकिन निकटतम सन्निकटन का उपयोग करें (0, 53, 128)। यदि आपका सिस्टम RGB मानों का समर्थन नहीं करता है, तो उपयोग करें blue
  • सफेद रंग के लिए, आरजीबी (255, 255, 255)या का उपयोग करें white

इतना शीघ्र नही

जैसा कि फिनिश राष्ट्रीय ध्वज को आकर्षित करना पिछले साल की आइसलैंडिक चुनौती की तुलना में सरल होगा , हमें कठिनाई को थोड़ा बढ़ाना होगा। यह देखते हुए कि फिनलैंड का स्वतंत्रता दिवस 6 दिसंबर को है, 100फ़िनलैंड में तारीख ( UTC + 02: 00 ) होने पर दशमलव संख्या ध्वज पर कहीं दिखाई देनी चाहिए 2017-12-06या बाद में (आपके कोड को यह नहीं मानना ​​चाहिए कि यह जिस मशीन पर चल रहा है वह सेट है विशेष समयक्षेत्र)। तारीख से पहले, संख्या नहीं होनी चाहिए। संख्या को काले रंग में मुद्रित किया जाना चाहिए (आरजीबी (0, 0, 0)या black) लेकिन इसके प्लेसमेंट और फ़ॉन्ट पैरामीटर आपके ऊपर हैं।

इस तरह के एक रेंडर का एक उदाहरण (फिर से, सीमा की उपेक्षा करें):

उस पर 100 के साथ फिनलैंड का झंडा

परीक्षण उद्देश्यों के लिए, आपके समाधान के दो अतिरिक्त संस्करणों को शामिल करना अच्छा होगा, एक अतीत में एक निश्चित तारीख और एक भविष्य में।

नियम

मानक कमियां निषिद्ध हैं, जैसे कि अंतर्निहित ध्वज चित्र / लाइब्रेरी हैं। साथ ही, आपके कोड को कोई इनपुट नहीं लेना चाहिए।

फिन्स को छोटी बात पसंद नहीं है, और यह , इसलिए पात्रों को बर्बाद न करें!


क्या हमें केवल अंतरिक्ष और # एएससीआईआई कला के मामले में उपयोग करना चाहिए ? और फिर पात्रों को 100कहीं डालें ?
आदम

1
क्या हम फ़िनलैंड में एक आंतरिक दीवार घड़ी की कमी के लिए इनपुट के रूप में तारीख ले सकते हैं या टाइमज़ोन को लागू नहीं कर सकते हैं? मैं कभी-कभी जीएफए-बेसिक (अटारी एसटी, नो टाइमज़ोन) या सीपी -1610 असेंबली (Intellivision, कोई तारीख / समय बिल्कुल नहीं) में उत्तर पोस्ट कर रहा हूं और हमारे पास समय-समय पर कुछ अन्य पुराने-स्कूल प्लेटफार्मों पर उत्तर हैं जो आमतौर पर होते हैं इस तरह की चीजों को आकर्षित करने में बहुत अच्छा है, लेकिन तारीख के मुद्दे के कारण यहां अयोग्य होना प्रतीत होता है।
अरनौलद

1
@ अरनल्ड: गोश, मैंने कभी नहीं सोचा था कि कोई भी इस तरह के सिस्टम का इस्तेमाल करेगा। मैं आपकी भविष्यवाणी की सराहना करता हूं लेकिन क्या इससे दूसरों को नुकसान होगा? मुझे लगता है कि इनपुट की अनुमति देने से आप केवल एक सरल पूर्णांक तुलना छोड़ देंगे। क्या समय पहलू के बिना एक गैर-प्रतिस्पर्धी प्रविष्टि प्रश्न से बाहर होगी?
एंटि .29

1
@ Antti29 ईमानदारी से, मैं किसी भी अच्छे समाधान के बारे में नहीं सोच सकता हूं और नियमों के किसी भी बड़े अपडेट को करने के लिए बहुत देर हो चुकी है। जब तक कोई व्यक्ति वास्तव में संतोषजनक सुझाव नहीं देता है, मुझे लगता है कि ये सिस्टम यहां प्रतिस्पर्धा नहीं कर सकते। (मैंने सैंडबॉक्स में चुनौती देखी और उसके बारे में नहीं सोचा। मेरा बुरा है।)
अरनौलड

जवाबों:


24

सी (विंडोज), 361 बाइट्स

#import<time.h>
#import<windows.h>
C(x){SetConsoleTextAttribute(GetStdHandle(-11),x);}F(I,N,l,a,n,d)time_t n;struct tm*d;{system("mode 90,65");time(&n);d=gmtime(&n);n=d->tm_year<<24|d->tm_mon<<16|d->tm_mday<<8|d->tm_hour;for(a=l=I=15;I++<70;a=l=I<35|I>49?15:9)for(N=n>1963656468&I<17?C(240),printf("100"):0;N++<90;a=N-25?a:9,a=N-40||l==9?a:15)C(a),putchar(70);}

unrolled:

#import <time.h>
#import <windows.h>

C(x)
{
    SetConsoleTextAttribute(GetStdHandle(-11),x);
}

F(I,N,l,a,n,d) time_t n;struct tm*d;
{
    system("mode 90,65");

    time(&n);
    d = gmtime(&n);
    n = d->tm_year<<24 | d->tm_mon<<16 | d->tm_mday<<8 | d->tm_hour;

    for(a=l=I=15; I++<70; a=l=I<35|I>49?15:9)
        for(N=n>1963656468&I<17?C(240),printf("100"):0; N++<90; a=N-25?a:9,a=N-40||l==9?a:15)
            C(a), putchar(70);
}

आउटपुट:

आउटपुट जब UTC time >= 2017-12-05-22-00:

d=gmtime(&n);इसे आज़माने के बाद कोड में निम्नलिखित जोड़ें :

d->tm_year = 117;
d->tm_mon = 11;
d->tm_mday = 5;
d->tm_hour = 21;

13
प्यारा चर नाम!
18

16

PHP + SVG (HTML5), 147 137 123 बाइट्स

नील द्वारा एसवीजी कोड

https://codegolf.stackexchange.com/a/149850/66061

<svg><path d=180v110 fill=#fff></path><path d=M0,40h50V0h30v40h100v30H80v40H50V70H0 fill=#005580></path><?=time()<1512511200?:'<text x=9 y=15>100';

अपडेट: 10 बाइट बचाने में मेरी मदद करने के लिए झबरा का धन्यवाद ।

<svg><path d=180v110 fill=#fff /><path d=M0,40h50V0h30v40h100v30H80v40H50V70H0 fill=#005580 /><?=time()<1512511200?:'<text x=9 y=15>100';

अपडेट 2: इस्माइल मिगुएल द्वारा स्मार्ट विचार , 14 बाइट्स बचाने के लिए धन्यवाद

<svg><path d=180v110 /><path d=M0,40h50V0h30v40h100v30H80v40H50V70H0 fill=#005580 /><?=time()<1512511200?:'<text y=19>100';

साधारण

साधारण

6 दिसंबर के बाद +2 घंटे

6 दिसंबर के बाद - 2 घंटे


तो time()UTC देता है?
11:

कब है 1512525600?
11

1512525600है 2017-12-06T02:00:00+00:00 in ISO 8601@ एडम और हाँ, समय () समय क्षेत्र स्वतंत्र है।
th3pirat3

12

रोड़ा , 252 250 बाइट्स

{s={|w,h|[` width="$w" height="$h" `]}r=`><rect`f=`" fill="#003580"/`
[`<svg`,s(18,11),r,s(18,11),`fill="#fff"/`,r,s(18,3),`y="4$f`,r,s(3,11),`x="5$f>`]
[`<text y="9" font-size="2">100</text>`]if{}|[[exec("date","+%s")]&"">="1512511200
"]
[`</svg>`]}

इसे ऑनलाइन आज़माएं!


25
दुस्साहस! आपने स्वीडिश नाम की भाषा के साथ फिनिश चुनौती को हल किया है।
एंटिटी

1
@ आर्थर इसका नाम स्वीडिश शब्द के नाम पर रखा गया है, फिनिश में ऐसा कोई शब्द नहीं है। गिट में फिनिश शामिल है क्योंकि मैं फिनिश-भाषी हूं।
फर्ग्यूस्क

1
@ आर्थर: मुझे डर है कि आपको पूरी तरह से मेरी टिप्पणी की सराहना करने के लिए फिनिश मानसिकता में
उतरना होगा

1
@fergusq खैर, अगर यह उस व्यक्ति से है जिसने वास्तव में भाषा का नाम लिया है, तो मुझे लगता है कि कोई उच्च अधिकार नहीं है। हालांकि, इस ज्ञान के साथ भी कि "रोडा" एक फिनिश शब्द नहीं है, मैं यह कहता हूं कि मेरी पिछली टिप्पणी प्रशंसनीय थी। भाषा के नामों को वास्तविक शब्द नहीं होना चाहिए। इसके अलावा, जबकि मैं इसके अंदर नहीं हो सकता हूं, मैं अच्छी तरह से विरोधाभास से अवगत हूं, जो कि स्वेडेस के खिलाफ है, कब्जे के इतिहास के साथ, और स्वीडिश लगातार कई अनुस्मारक में से एक के रूप में स्कूलों में अनिवार्य है।
आर्थर

1
@ Pa @loEbermann: दुर्भाग्य से।
एंटि .29

11

सी #, 407 400 277 बाइट्स

अजीब कैसे ForegroundColor =0अनुमति है

TuukkaX के लिए 1 बाइट धन्यवाद

एडम के लिए 67 बाइट्स बचाए गए

()=>{for(int x=0,y;x<90;x++)for(y=0;y<55;y++){BackgroundColor=(ConsoleColor)15;if(x>24&x<41|(y>19&&y<36))BackgroundColor=(ConsoleColor)9;SetCursorPosition(x,y);Write(' ');}if(new DateTime(2017,12,5,22,0,0)<DateTime.UtcNow){SetCursorPosition(1,1);ForegroundColor=0;Write(100);}}

परीक्षण के लिए अपुष्ट:

using System;
using static System.Console;
class P
{
    static void Main()
    {
        Action func = () =>
        {
            for (int x = 0,y; x < 90; x++) for (y=0; y < 55; y++)
                {
                    BackgroundColor = (ConsoleColor)15;
                    if (x > 24 & x < 41 | (y > 19 && y < 36))
                        BackgroundColor = (ConsoleColor)9;
                    SetCursorPosition(x, y);
                    Write(' ');
                }

            if (new DateTime(2017, 12, 5, 22, 0, 0) < DateTime.UtcNow)
            {
                SetCursorPosition(1, 1); ForegroundColor =0; Write(100);
            }
        };
        func();
        ReadLine();
    }
}

परीक्षण के लिए 100:

using System;
using static System.Console;
class P
{
    static void Main()
    {
        Action func = () =>
        {
            for (int x = 0,y; x < 90; x++) for (y=0; y < 55; y++)
                {
                    BackgroundColor = (ConsoleColor)15;
                    if (x > 24 & x < 41 | (y > 19 && y < 36))
                        BackgroundColor = (ConsoleColor)9;
                    SetCursorPosition(x, y);
                    Write(' ');
                }

            if (new DateTime(2017, 12, 2, 22, 0, 0) < DateTime.UtcNow)
            {
                SetCursorPosition(1, 1); ForegroundColor =0; Write(100);
            }
        };
        func();
        ReadLine();
    }
}

3
ForegroundColor = 0की अनुमति दी गई है क्योंकि शाब्दिक 0किसी भी प्रकार में परिवर्तित है, जैसा कि C # विनिर्देश में लिखा गया है
जॉय

9

गणितज्ञ, 129 बाइट्स

If[AbsoluteTime@Date[]<3721507200,s="",s=100];Graphics@{s~Text~{9,9},RGBColor[0,.2,.5],{0,4}~(R=Rectangle)~{18,7},{5,0}~R~{8,11}}


पहले .. के बाद ..
यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें
आप हमेशा इसे वुल्फराम सैंडबॉक्स पर टेस्ट कर सकते हैं
(कोड पेस्ट करें और Shift-Enter दबाएं)


कब है 3721507200?
11:

@ Adám निरपेक्षता 1 जनवरी, 1900 की शुरुआत से लेकर अब तक की कुल संख्या देती है
J42161217

@ जेनी_मैथी 1 जनवरी, 1900 किस समय की?
डफी

@ डीसी की क्षमता +02: 00
J42161217

9

पायथन 2 , 247 246 230 210 189 बाइट्स

import time
print'P3',180,110,255
w,b='255 '*3,'0 52 128 ';B=['0 '*3,w][time.gmtime()<(2017,12,5,22)]
a=w*40+b*30+w*100
x=w*10+a;y,z=w+B+w+B*3+w+B*3+a,(w+B)*5+a
print y+z+y+x*37+b*5400+x*40

इसे ऑनलाइन आज़माएं!

एक .ppm छवि प्रिंट करता है:

सामान्य ध्वज

फिनलैंड

100 के साथ झंडा

Finland100


के datetime.utcnow()+timedelta(hours=2)<datetime(2017,12,06)साथ datetime.utcnow()>=datetime(2017,12,05,22,0,0)या कुछ इसी तरह बदला जा सकता है ?
11

time.gmtimeटपल तुलना के लिए उपयोग करें (मेरा उत्तर देखें)!
एंटटी हापाला

[time.time ()> +१५१२५१४८००]
dieter

7

पायथन 3, 143 141 135 बाइट्स

रंगों के लिए एएनएसआई से बचने का उपयोग करता है, एक रंगीन स्ट्रिंग के रूप में पांच रिक्त स्थान या "100" का उपयोग करता है ताकि मुझे ध्वज पर कहीं भी "100" विशेष रूप से प्रिंट करने की आवश्यकता न हो। लंबाई 5 चौड़ाई के कारण, क्योंकि 90/5 == 90//5। उपयोग की जा रही स्ट्रिंग को पंक्ति 1 में परिभाषित किया जा रहा है। फिर हम 55 राउंड (ऊंचाई) पर पुनरावृति करते हैं, प्रत्येक पुनरावृत्ति पर vरंग के साथ स्ट्रिंग करने के लिए सेट किया गया है [ब्लू, ब्राइटव्हाइट] और चयनित सूचकांक बूलियन है row<20 or r>34। हम उस परिणाम को 5 से फिर से गुणा करते हैं (चौड़ाई आयाम: 25:15:50 इसलिए कुल चौड़ाई 90 है)। फिर हम प्रिंट करते हैं v + Blue + Blue + Blue + v + v + Blackकि vब्लू या ब्राइटाइट कहां है। मुद्रण को स्पष्ट करने के लिए: की चौड़ाई v25 वर्णों की है, नीले रंग की चौड़ाई ( e%44*3) 15 है और चौड़ाई v*250 है।25+15+5090 है जो चौड़ाई है और कार्य में आवश्यक आयामों का अनुसरण करता है! काफी गन्दा सारांश लेकिन मुझे लगता है कि यह कुछ भी नहीं से बेहतर है।

import time;e="\033[30;%dm "+[" "*4,"100 "][time.time()>1512511200]
for r in range(55):v=e%[107,44][19<r<35]*5;print(v+e%44*3+v*2+e%40)

2
साइट पर आपका स्वागत है!
caird coinheringaahing

2
PPCG में आपका स्वागत है! मैंने आपके उत्तर में एक भाषा ध्वज जोड़ा है, और मैं सुझाव दूंगा कि आप अपने कार्यक्रम का एक मूल विवरण जोड़ें - लेकिन अन्यथा, महान पहला उत्तर :)
टेलर स्कॉट

2
@TaylorScott करेंगे! और शुक्रिया, मैं यहाँ साल या दो साल से दुबारा रहा हूँ लेकिन पहले कभी कुछ जमा नहीं किया। फ़िनलैंड 100 साल बदल जाने के कारण सिर्फ विरोध नहीं कर सका!
FatalError

7

प्रसंस्करण ..org / जावा 191 188 बाइट्स

-3 बाइट्स केविनक्रूजसेन को धन्यवाद

import java.util.*;void setup(){size(180,110);background(-1);fill(0);if(new Date().getTime()>=15125256e6D)text("100",0,9);noStroke();scale(10);fill(#003580);rect(5,0,3,11);rect(0,4,18,3);}

पहले बादमे


>15125255999999Lहो सकता है>=15125256e6
केविन क्रूज़सेन

@KevinCruijssen शायद इसे छोटा किया जा सकता है लेकिन 15125256e6 15125255815168 है, जो 37 घंटे बहुत देर कर रहा है
प्रिंसपॉलका

15125256e6D काम करता है, धन्यवाद
प्रिंसपोलका

हम्म, 15125256e6है 15125256000000, जब मैं यह जावा 8. में परीक्षण लेकिन मैं Processing.org पता नहीं है तो शायद यह थोड़ा अलग या एक अलग संस्करण का उपयोग कर रहा है? यह जावा 8 में काम करता है यह सत्यापित करने के 15125256e6लिए कुछ बुनियादी परीक्षणों के साथ एक टीआईओ है । लेकिन मुझे खुशी है कि Dइसे ठीक करने के बाद। मैं खुशी से मदद कर सकता है। :)
केविन क्रूज़सेन

7

एक्सेल VBA, 120 118 117 बाइट्स

अनाम VBE तत्काल विंडो फ़ंक्शन जो कोई इनपुट नहीं लेता है और फिनिश ध्वज को आउटपुट करता है और यदि फ़िनलैंड 100उस ध्वज पर 100 वर्ष से अधिक पुराना है । यह संयुक्त राज्य अमेरिका के ईस्टर टाइमज़ोन के संबंध में किया जाता है, क्योंकि एक्सेल या एक्सेल वीबीए के पास ऐड-इन्स के बिना टाइमज़ोन निर्धारित करने या इंटरनेट तक पहुंचने का कोई तरीका नहीं है।

Cells.RowHeight=48:Cells.Interior.Color=-1:[F1:H11,A5:R7].Interior.Color=8402176:If Now>=#12/5/17 19:0#Then[B2]=100

उत्पादन

अगर फिनलैंड 100 साल से छोटा है

युवा फिनिश

यदि फिनलैंड 100 वर्ष से अधिक पुराना है

पुराना फिनिश

-2 बाइट को बदलने के If #12/5/17 19:00#<=Now Then[B2]=100लिएIf Now>=#12/5/17 19:0#Then[B2]=100

के Cellsबजाय के उपयोग के लिए 1 बाइट[A1:R11]


2
जो सोचा था कि ol 'VBA ऐसा कर सकता है। अति उत्कृष्ट।
फ्लोरिस

3
@ फ़्लोरिस, मुझे एहसास हुआ है कि जब पिक्सेल कला की बात आती है, तो एक्सेल वीबीए कुछ आश्चर्यजनक चीजें कर सकता है : डी
टेलर स्कॉट

मुझे VBA के अग्रदूत (एक पागल मैक्रो भाषा जो एक्सेल शीट की कोशिकाओं में लिखी गई है, प्रति सेल एक पंक्ति) पर कुछ लिखने की याद दिलाई जाती है, जो कुछ इसी तरह की थी (एक फ़ंक्शन का 2 डी इंटेंसिटी ग्राफ़ बना रहा था)। वह 1991 रहा होगा। यादों के लिए धन्यवाद।
फ्लोरिस

1
@Floris अच्छी तरह से शर्म की बात है - लेकिन यह जानकर अच्छा है कि किसी और को पता है कि वे क्या हैं :)
टेलर स्कॉट

1
और यह सोचने के लिए आओ - 4.0 से पहले कुछ था ... मुझे याद है कि जब सब कुछ टूट गया तो नाराज हो गया। जैसा कि मैंने कई बार किया है। मास्टर्स नॉट-बैकवर्ड-कम्पेटिबल।
फ्लोरिस

5

MATLAB, 133 130 123 बाइट्स

3 10 बाइट्स के लिए धन्यवाद sabed sabed!

r=1:180;r(51:80)=0;imshow(r(11:120)'*r,[0 .2 .5;1 1 1])
if datenum(datetime('now','T','UTC+2'))>=737035 text(9,9,'100'),end

यह [0, 51, 128]नीले रंग के लिए उपयोग करता है । छवि का आकार 180 × 110 पिक्सेल है।

नमूना रन:

यहाँ छवि विवरण दर्ज करें

पाठ के साथ नमूना चलाना ( कोड में परिवर्तन 737035करना 0ताकि पाठ किसी भी दिन दिखाया गया हो):

यहाँ छवि विवरण दर्ज करें


4

जावास्क्रिप्ट (ईएस 5) + एसवीजी (एचटीएमएल 5), 189 179 बाइट्स

document.write('<svg><path d=M0,0h180v110H0z fill=#fff /><path d=M0,40h50V0h30v40h100v30H80v40H50V70H0Z fill=#005580 />'+(Date.now()<15125112e5?'':'<text x=0 y=30 fill=#000>100'))
<body color=grey bgcolor=silver>

(HTML यह दिखाने के लिए कि रंग की आवश्यकताएं पूरी हो रही हैं।) संपादित करें: सहेजे गए 10 बाइट @Shaggy की बदौलत। आउटपुट:

<body color=grey bgcolor=silver>

<svg><path d=M0,0h180v110H0z fill=#fff /><path d=M0,40h50V0h30v40h100v30H80v40H50V70H0Z fill=#005580 />

<body color=grey bgcolor=silver>

<svg><path d=M0,0h180v110H0z fill=#fff /><path d=M0,40h50V0h30v40h100v30H80v40H50V70H0Z fill=#005580 /><text x=0 y=30 fill=#000>100


UTC + 2 की तुलना में कहीं और चलाने पर यह समय क्षेत्र को कैसे नियंत्रित करता है?
Adám

@ Adám Date.now()UTC में है, और मैं UTC मान के विरुद्ध तुलना करता हूं 2017/12/06 00:00:00 UTC+2
नील

क्या मेरे php स्निपेट में अपने SVG कोड का उपयोग करना ठीक है?
th3pirat3

2
@ Adám मैंने आपको पहले ही बताया था?
नील

1
कुछ बाइट्स को बचाने के लिए के <path></path>साथ बदलें <path/>
झबरा

4

पिलो के साथ पायथन 3, 213 212 211 अक्षर (यूनिक्स) और 217 216 अक्षर (पोर्टेबल)

यह यूनिक्स संस्करण है। मुझे यह महसूस करने के बाद पोस्ट किया गया कि जो समय वापस आया है time()वह जरूरी नहीं कि 1 जनवरी 1970 को इसकी अवधि हो, इसलिए यह जरूरी नहीं है कि यह पोर्टेबल हो।

b=8402688;from PIL import Image,ImageDraw as d
j=Image.new('RGB',(180,110),~1);r=d.Draw(j);R=r.rectangle
R([50,0,79,109],b);R([0,40,180,69],b);import time
r.text((9,9),'100'*(time.time()>=0x5a273300),0)
j.show()

यह पोर्टेबल कोड है, 4 बाइट्स अधिक है, यह gmtimeटपल तुलना के साथ उपयोग करता है इसलिए इसे विंडोज पर भी मज़बूती से काम करना चाहिए।

import time
from PIL import Image,ImageDraw as d
b=8402688
j=Image.new('RGB',(180,110),~1)
r=d.Draw(j)
R=r.rectangle
R([50,0,79,109],b)
R([0,40,180,69],b)
r.text((9,9),'100'*(time.gmtime()>(2017,12,5,22)),0)
j.show()

छवियों को एक विंडो में प्रदर्शित किया जाता है। वास्तव में इसे बनाने में कम पात्रों का उपभोग करना मुश्किल है। यहां तक कि time.timeरिटर्न एक floatतो >0x5a273299काफी इसलिए सही नहीं होगा, या >0x5a273300एक माइक्रोसेकंड द्वारा बंद किया जाएगा।

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें


4

Tcl / Tk , 135 बाइट्स

इंटरैक्टिव शेल में चलाया जाना चाहिए

gri [can .c -bg #FFF]
lmap C {"52 2 82 112" "2 42 182 72"} {.c cr r $C -f #003580 -w 0}
if [clock se]>1512518520 {.c cr t 19 9 -te 100}

2017/12/06 से पहले 02:00 GMT

यहाँ छवि विवरण दर्ज करें

2017/12/06 के बाद 02:00 GMT

यहाँ छवि विवरण दर्ज करें


4

जावा 342 368 361 321 317 (299 + 18) बाइट्स

golfed

import java.awt.*;()->new Frame(){{setBackground(Color.WHITE);setUndecorated(0<1);setSize(180,110);setVisible(0<1);}public void paint(Graphics g){g.setColor(new Color(0,53,128));g.fillRect(50,0,30,110);g.fillRect(0,40,180,30);g.setColor(Color.BLACK);if(System.currentTimeMillis()>15125112e5)g.drawString("100",9,9);}}

Ungolfed

import java.awt.*;
() -> new Frame() {
    {
        setBackground(Color.WHITE);                     //Color Objects ARE just RGB values
        setUndecorated(0 < 1);                          //Get's ride of title bar
        setSize(180, 110);             
        setVisible(0 < 1);
    }
    public void paint(Graphics g) {
        g.setColor(new Color(0, 53, 128));              //The special blue color
        g.fillRect(50, 0, 30, 110);
        g.fillRect(0, 40, 180, 30);
        g.setColor(Color.BLACK);
        if (System.currentTimeMillis() > 15125112e5)    //Time Condition
            g.drawString("100", 9, 9);
    }

परिणाम

फिनलैंड

क्रेडिट

लैंबडा का उपयोग करने के लिए ओलिवियर ग्रेजायर द्वारा 40 बाइट्स बचाए गए । लॉन्ग फॉर्मेटिंग के लिए केविन क्रूज़सेन
द्वारा बचाए गए 4 बाइट्स । हेक्स स्वरूपण के लिए user902383 द्वारा 2 बाइट्स सहेजे गए ।


1
@jfhcs: ठीक है, दुर्भाग्य से, वे नियम थे। और ... वह जावा है।
एंटि .29

1
ओह समझा। मैं अपना जवाब अपडेट करूंगा। मुझे नियमों की गलत व्याख्या करनी चाहिए थी।
jfh 18

1
आप बदल सकते हैं trueके साथ 1>0, argsके साथ aहै, और चारों ओर रिक्त स्थान को हटा सकते हैं =पर P j = new...कुछ बाइट्स बचाने के लिए।
जस्टिन मैरिनर

1
342 बाइट्स (324 बाइट्स + 18 बाइट्स के लिए import java.awt.*;), इस शर्त के साथ।
ओलिवियर ग्रेगोइरे

1
आपकी वर्तमान प्रतिक्रिया में कई खामियां हैं जो इसे अमान्य बनाती हैं: 1. ऐसा बिल्कुल नहीं है import। 2. चर नामों को छोटा नहीं किया जाता है: argsइसे कम किया जा सकता है a। 3. अभी भी वैकल्पिक स्थान हैं जो प्रविष्टि में निहित हैं। 4. "100" का कोई सशर्त प्रिंट नहीं है।
ओलिवियर ग्रेगोइरे

3

vim, 147

मुझे वास्तव में यह चुनौती पसंद है ☺ © बच रहा है

sy on
set ft=c
hi Normal ctermfg=4 ctermbg=7
hi Number ctermfg=0 ctermbg=7
norm 90i ©26|15r█Y40pMVr█Y14Pk
if localtime()>1512511199
norm R100 

यहाँ छवि विवरण दर्ज करें


3

बैश और इमेजमैजिक, 135

((`date +%s`>1512511199))&&x=100
convert -size 150x80 xc: -background \#003580 -splice 30x30+50+40 -draw "fill black text 9,9 '$x'" x:

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें


1
बेहतर उपयोग अंकगणितीय मूल्यांकन ((`date +%s`>=1512511200))&&x=100:। ध्यान दें कि मैंने सिंगल कोट्स को -drawपैरामीटर के अंदर स्थानांतरित किया है , जहां उन्हें भागने की कोई आवश्यकता नहीं है।
14 दिसबंर को 14

2

इम्पीरेटिव टैम्पियो , 239 बाइट्स (गैर-प्रतिस्पर्धात्मक)

Kun iso sivu avautuu,se näyttää tekstin"<svg><path d=180v110 /><path d=M0,40h50V0h30v40h100v30H80v40H50V70H0 fill=#005580 />"ja,jos nykyinen aika millisekunteina on suurempi kuin 1512511200000,niin se näyttää tekstin"<text y=19>100".

कुन आइसो सिवु अवुतु , से नित्ते टेकस्टिन "<svg><path d=180v110 /><path d=M0,40h50V0h30v40h100v30H80v40H50V70H0 fill=#005580 />"जा , जोस न्येकिनन अनिका मिलिसेकंटिनाटिना ऑन सुरेम्पि कुइन 1512511200000 , एनिन से नित्ते-वे टेकस्टिन"<text y=19>100"

ऑनलाइन संस्करण

अनुवाद:

जब बड़ा पृष्ठ खुलता है, तो यह पाठ दिखाएगा "<svg><path d=180v110 /><path d=M0,40h50V0h30v40h100v30H80v40H50V70H0 fill=#005580 />"और, यदि मिलीसेकंड में वर्तमान समय की तुलना में अधिक है 1512511200000, तो यह पाठ दिखाएगा "<text y=19>100"

एसवीजी को इस उत्तर से th3pirat3 (और नील, प्रकट रूप से) द्वारा लिया गया था ।

यह कार्यक्रम टैम्पियो I के एक नए संस्करण में लिखा गया है जिस पर मैं काम कर रहा हूं। आप में से जो लोग फिनिश को जानते हैं वे देख सकते हैं कि यह लगभग पठनीय है। मैंने उत्तर को गैर-प्रतिस्पर्धी के रूप में चिह्नित किया क्योंकि यह भाषा इस चुनौती के बाद प्रकाशित हुई थी।

इस प्रोग्राम को चलाने के लिए, या तो ऊपर दिए गए ऑनलाइन संस्करण पर जाएं, जिसमें प्रोग्राम का संकलित जेएस संस्करण शामिल है या इसके Gyti पृष्ठ से कंपाइलर डाउनलोड करें । प्रोग्राम को संकलित करने के लिए, चलाएं python3 tampio.py -p program.itp >program.html

टैम्पियो किसी भी माप से एक गोल्फ भाषा नहीं है, लेकिन बेहतर svg कोड के कारण, यह वास्तव में रोडा को हरा देता है ... मुझे थोड़ा आश्चर्य हुआ।


यह हुई ना बात!
एंटि .29

2

बैश, 198

p()(printf "%-$1b$3" "\e[$2m")
r()(for i in `seq $1`;{ $2;})
a()(p 31 107
p 20 44
p 56 30\;107 "${1:-   }"
p 0 0 '
')
b()(p 95 44
p 0 0 '
')
r 20 a
r 15 b
r 19 a
((`date +%s`>1512511199))&&a 100||a

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें


1

HTML + CSS + Javascript, 339 बाइट्स

<style>#f{width:180px;height:110px;position:relative}.b{background-color:#003580;position:absolute}.v{left:27.78%;width:16.67%;height:100%}.h{top:36.36%;height:27.27%;width:100%}</style><div id="f"><div class="b v"></div><div class="b h"></div></div><script>if(Date.now()>1512525600000)document.getElementById('f').innerHTML+=100;</script>

यहां एक ही समाधान को 260 बाइट्स तक नीचे कर दिया गया है, जो मानता है कि आपके देखने के पोर्ट का उचित 18:11 अनुपात है।

<style>.b{background-color:#003580;position:absolute}.v{left:27.78%;width:16.67%;height:100%}.h{top:36.36%;height:27.27%;width:100%}</style><div class="b v"></div><div class="b h"></div><script>if(Date.now()>1512525600000)document.body.innerHTML+=100;</script>

आप "100" को देखने के लिए या तो समाधान में टाइमस्टैम्प का 0 बंद कर सकते हैं।


1

HTML + जावास्क्रिप्ट, 329 बाइट्स

मैंने बेशर्मी से @jstnthms से तारीख-जाँच वाला हिस्सा चुरा लिया। मूल रूप से मैं सिर्फ सही भाग / कर्नल अनुपात के साथ कच्चे html तालिका लिखता हूं, thनीले भागों वाला। आईई और क्रोम पर परीक्षण किया, mee.fi -site पर भी ।

<body onload="h=[4,3,4];w=[5,3,10];m=50;s='<style>*{border-spacing:0;padding:0;}th{background:#003580;}</style><table>';for(y in h){s+='<tr height='+(m*h[y])+'>';for(x in w){c=(y==1||x==1)?'h':'d';s+='<t'+c+' width='+(m*w[x])+'>'+(x+y<1&&Date.now()>15125112e5?'100':'')+'</t'+c+'>';}s+='</tr>';}s+='</table>';document.write(s);">

शुद्ध जावास्क्रिप्ट (कंसोल पर पेस्ट) द्वारा आगे गोल्फ हो सकता है ...?
डायनेवला

1

पर्ल 5, 139 बाइट्स

($w,$b,$r)=map"\e[${_}m","47;30",44,0;$_=$w.$"x25 .$b.$"x15 .$w.$"x50 .$r.$/;$_=$_ x12 .s/7/4/gr x9 .$_ x12;time<1512511200||s/   /100/;say

आरंभ होना है

perl -E '($w,$b,$r)=map"\e[${_}m","47;30",44,0;$_=$w.$"x25 .$b.$"x15 .$w.$"x50 .$r.$/;$_=$_ x12 .s/7/4/gr x9 .$_ x12;time<1512511200||s/   /100/;say'

कब्जा

अनुपात अनुपात / चौड़ाई = 1.66 (5/3) के कारण अनुपात को बदल दिया गया था अन्यथा मूल अनुपात के साथ:

($w,$b,$r)=map"\e[${_}m","47;30",44,0;$_=$w.$"x25 .$b.$"x15 .$w.$"x50 .$r.$/;$_=$_ x20 .s/7/4/gr x15 .$_ x20;time<1512511200||s/   /100/;say

मूल अनुपात


1

2htdp / छवि के साथ रैकेट 6.10, 202 बाइट्स

(let*([w 180][h 110][p(λ(w h x y o)(place-image(rectangle w h'solid(color 0 53 128))x y o))][b(p w 30 90 55(p 30 h 60 55(empty-scene w h)))])(if(>(current-seconds)1512536400)(overlay(text"100"9'b)b)b))

Ungolfed:

(let* (
       [flag-width 180]
       [flag-height 110]
       [place-rect (λ (width height x-pos y-pos other-pos)
                     (place-image
                      (rectangle width height 'solid (color 0 53 128))
                      x-pos y-pos other-pos))]
       [flag (place-rect
              flag-width 30 90 55
              (place-rect
               30 flag-height 60 55
               (empty-scene flag-width flag-height)))]
       )
  (if (> (current-seconds) 1512536400)  ; If Finland is 100 years old
      (overlay (text "100" 9 'b) flag)  ; add "100" to the flag
      flag))                            ; otherwise just the flag

पाठ के साथ यहाँ छवि विवरण दर्ज करें


आप 100नीले हिस्से पर जगह बनाने वाले पहले व्यक्ति हैं - लगभग इसे याद किया।
एंटिटी

1

छोटा बेसिक , 300 बाइट्स

एक स्क्रिप्ट जो कोई इनपुट नहीं लेती और आउटपुट देती है TextWindow वस्तु के ।

GraphicsWindow.BrushColor=0
If Clock.Year*10000+Clock.Month*100+Clock.Day>=20171206Then
GraphicsWindow.DrawText(0,0,"100")
EndIf
GraphicsWindow.Height=275
GraphicsWindow.Width=450
GraphicsWindow.BrushColor="#003580
GraphicsWindow.FillRectangle(0,100,450,75)
GraphicsWindow.FillRectangle(125,0,75,275)

SmallBasic.com पर इसे आज़माएं! आईई / सिल्वरलाइट की आवश्यकता है

उत्पादन

फिनलैंड के 100 वें स्वतंत्रता दिवस के बाद दिखाया गया। उत्पादन


0

पहले बनाया कोड निम्नलिखित के लिए नीचे रखा गया है:

HTML, CSS और JavaScript, 1599 बाइट्स

var d1=new Date(1917,11,6);
var d2=new Date();
var difference = d2.getFullYear()-d1.getFullYear();
if(difference===100 && d2.getDate()===d1.getDate() && d2.getMonth()===d1.getMonth()) {
	document.getElementById("bottom-right").innerHTML=d2.getFullYear()-d1.getFullYear();
}
#flag{
background-color: #FFF;
width: 540px;
height: 330px;
border: 6px solid gray;
margin: 10% auto;
}
.surround{
background-color: #003580;
width: 90px;
height: 120px;
margin: 0px 300px 0px 150px;
}
.middle{
background-color: rgb(0, 53, 128);
width: 540px;
height: 90px;
}
<head>
<title>Happy Birthday, Finland</title>
<link rel="stylesheet" type="text/css" href="decor.css">
</head>
<body>
<div id="flag"><div class="surround"></div><div class="middle"></div><div class="surround"></div></div>
<script type="text/javascript" src="date.js"></script>
</body>


वैसे मेरे बचाव में, मैं कहूंगा कि यह मेरा पहली बार है। भविष्य में कम कोड बनाने की कोशिश करेंगे।
रौनक कोप्पिकर

जैसा कि स्टीफन पहले ही कह चुके हैं, यह एक कोड गोल्फ है, और इसलिए आपके कार्यक्रम का लक्ष्य यथासंभव छोटा होना चाहिए। कृपया ध्यान रखें कि यदि आप अपने प्रोग्राम को गोल्फ नहीं करते (यानी इसे छोड़ दें-जैसा है), तो यह हटाने के अधीन है क्योंकि यह वर्तमान में एक गंभीर दावेदार नहीं है। अंत में, साइट पर आपका स्वागत है!
caird coinheringaahing 15

ज़रूर। यह निश्चित रूप से मिलेगा asap
Koppikar

जैसा कि सुझाव दिया गया है
रौनक कोप्पिकर

आप सभी में इंडेंटेशन को भी हटा सकते हैं, और CSS और HTML में नईलाइनों को हटा सकते हैं। इसके अलावा आप जेएस (जैसे ===और 100) में प्रतीकों के बीच रिक्त स्थान निकाल सकते हैं ।
NoOneIsHere 19

0

HTML + जावास्क्रिप्ट, 247 बाइट्स

<table cellspacing=0 cellpadding=0><tr height=40><td width=50><td width=30 bgcolor=003580><td width=100><tr height=30><td colspan=3 bgcolor=003580><tr height=40><td><td bgcolor=003580><td><script>Date.now()>15125112e5&&document.write(100)</script>


0

जावास्क्रिप्ट ईएस 6, 532 बाइट्स

यह देखने के लिए कि मुझे कितना कम समय मिल सकता है, यह देखने के लिए बेस 64 इमेज का उपयोग करने का प्रयास करने का निर्णय लिया। विजेता नहीं, लेकिन फिर भी दिलचस्प है।

document.write(`${Date.now()>1512525600000?'<i style=position:fixed>100</i>':''}<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAABuAQMAAAC0pqs4AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABlBMVEX///8ANYAaS5LoAAAAAWJLR0QB/wIt3gAAAAd0SU1FB+EMBRcAAPqLykEAAAAxSURBVEjHY2AAA/v///8zYAGj4qPio+KDWfw/VvBhVHxUfEiKD7b8NSo+Kj4qTrQ4AHKtsHq12fKCAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTEyLTA1VDIzOjAwOjAwKzAxOjAwkDJOKAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0xMi0wNVQyMzowMDowMCswMTowMOFv9pQAAAAASUVORK5CYI>`)


प्रक्षेप के अंदर कोष्ठकों की कोई आवश्यकता नहीं ( ${(…)}${…}); उन HTML विशेषता मानों के आसपास दोहरे उद्धरण चिह्नों की कोई आवश्यकता नहीं है; यद्यपि अमान्य है, ज्यादातर मामलों में आप आधार चिन्हों के आधार पर एन्कोडेड स्ट्रिंग्स की पैडिंग को समान संकेतों से काट सकते हैं (फ़ायरफ़ॉक्स को निश्चित रूप से डिकोडिंग में कोई समस्या नहीं है)।
मैनटवर्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.