न्यूनतम हेक्स घड़ी


14

आपकी चुनौती एक ऐसी घड़ी बनाना है जो समय को हेक्स संख्या के रूप में प्रदर्शित करती है, और समय के हेक्स रंग कोड के रूप में पृष्ठभूमि का रंग।

आवश्यकताएँ: कोई इनपुट नहीं। अपने आउटपुट के केंद्र में आपको संख्या चिन्ह और वर्तमान समय को 24 घंटे के प्रारूप में "#hms" के रूप में प्रदर्शित करना चाहिए। कार्यक्रम को प्रत्येक सेकंड में कम से कम एक बार वर्तमान समय में अद्यतन करना चाहिए। पाठ केंद्रित होना चाहिए और सफेद (या एक हल्का रंग जो बाहर खड़ा है)। पृष्ठभूमि पूरी तरह से हेक्स कोड का रंग होना चाहिए। सबसे छोटा कोड जीतता है, लेकिन रचनात्मक जवाब को प्रोत्साहित किया जाता है।

जीवंत उदाहरण । R / InternetIBBeautiful से आइडिया।


मुझे यह विचार पसंद आया, लेकिन यह लोकप्रियता की प्रतियोगिता के रूप में बेहतर होगा
विलियम बारबोसा

8
@WilliamBarbosa मेरा मानना ​​है कि लोकप्रियता के लिए उपयोगी होने के लिए परिणाम बहुत सरल है।
qwr

आप यह बताना चाह सकते हैं कि IIB पोस्ट / r / न्यूनतावाद से एक एक्स-पोस्ट है। लेकिन हे।
cjfaure

जवाबों:


1

पायथन 3 (142) या (झिलमिलाहट के साथ 123)

import time;from turtle import*;tracer(0)
while 1:reset();ht();color([1]*3);a=time.strftime("#%H%M%S");write(a,0,"center");bgcolor(a);update()

कछुए, 142 बाइट्स का उपयोग करना, शायद सबसे कम नहीं होगा, लेकिन मैं बस फिर से कछुओं के साथ खेलने का उपयोग करना चाहता था ।

यह उदाहरण स्क्रीन को अक्सर पर्याप्त रूप से अपडेट करता है जो पूछा जाता है, लेकिन यह बहुत सुंदर नहीं है, क्योंकि यह चालू और बंद है। तब यह केवल 123 बाइट्स है। (निर्दिष्ट गुणवत्ता नहीं)

import time;from turtle import*
while 1:reset();ht();color([1]*3);a=time.strftime("#%H%M%S");write(a,0,"center");bgcolor(a)

ungolfed:

import time
from turtle import*
tracer(0)                           #1 not every change should be propagated immediatly
while 1:
    reset()                         #2 remove previous drawing
    ht()                            #3 hide the turtle
    color([1]*3)                   #4 set color to snow, which is white for as far I can see
    a=time.strftime("#%H%M%S")      #5 generate the color from time
    write(a,0,"center")             #6 print time
    bgcolor(a)                      #7 change bgcolor
    update()                        #8 propagate changes

btw, जबकि 1 के कारण, मैं इसे टर्मिनल से चलाने की सलाह दूंगा। चूंकि इसे बंद करना काफी मुश्किल हो सकता है: D (आपको ctrl + c की आवश्यकता होगी)


1
अर्धविराम का उपयोग करते हुए छोरों में सभी लाइनों के संयोजन से आप अपने वर्ण गणना को कम कर सकते हैं।
इसहाक

@isaacg धन्यवाद, मैंने इसे अनुकूलित किया।
पिन्ना_बे

1
आप पहले से ही कॉल के update()रूप में अंतिम कॉल को हटाकर (ट्रेसर सेटिंग की अनदेखी) करके अपने चरित्र की संख्या 9 से कम कर सकते हैं । के बजाय का उपयोग करके आप किसी अन्य वर्ण को सहेज सकते हैं । bgcolor()update()color([1]*3)"snow"
cdlane

@ LCDlane मैंने दूसरे उत्तर (दूसरा कोडब्लॉक) में अपडेट () को हटा दिया, मुझे नहीं लगा कि यह सही होगा कि मेरा अंतिम उत्तर हो क्योंकि उस कोड ने एक फ़्लिकरिंग स्क्रीन को वापस कर दिया और जैसा कि उसने पिछले को नहीं हटाया है यदि इसे लंबे समय तक चलने दिया जाए तो संख्या बदसूरत हो जाती है। "" "रंग ([1] * 3)" "बहुत निफ्टी ट्रिक है!
21

5

HTML / CSS / JavaScript 207 183 180 161 152

परीक्षण और नवीनतम फ़ायरफ़ॉक्स और क्रोम ब्राउज़रों में काम करना।

<body id=b onload=setInterval("b.innerHTML=b.bgColor=Date().replace(/.*(..):(..):(..).*/,'#$1$2$3')",0) text=#fff style=position:fixed;top:50%;left:47%>

यहाँ डेमो


जहाँ तक मैं देख रहा हूँ, आपका कोड पूरी तरह से बिना <html style = height: 100%> कम से कम सफारी / jsfiddle में काम करता है
Pinna_be

@Pinna_be अच्छा पकड़। मैं पाठ को लंबवत केन्द्रित करने के कुछ अलग तरीकों की कोशिश कर रहा था और इसे दूसरी विधि से छोड़ दिया गया था।
नदकोर

2
मुझे पता है कि मैं इस टिप्पणी को बनाकर कुछ नियमों को तोड़ रहा हूं, लेकिन लानत है कि यह bodyटैग शुद्ध सौंदर्य है।
जैकब

1

प्रसंस्करण, 162 बाइट्स

void draw()
{
 int h=hour(),m=minute(),s=second();
 background(color(h,m,s));
 textAlign(CENTER);
 text("#"+(h<10?"0"+h:h)+(m<10?"0"+m:m)+(s<10?"0"+s:s),50,50);
}

स्क्रीनशॉट:

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

मुझे नहीं पता कि यह नियमों के खिलाफ है, लेकिन वास्तविक ड्राइंग क्षेत्र खिड़की के केंद्र पर 100x100px वर्ग है। किसी कारण से, प्रसंस्करण खिड़की को उस आकार में नहीं घटा सकता है, इसलिए यह ड्राइंग क्षेत्र के चारों ओर ग्रे मार्जिन जोड़ता है। यहां ग्रे मार्जिन के बिना एक और संस्करण है, लेकिन थोड़ा बड़ा (198 बाइट्स) :

void setup()
{
 size(200,200);
}

void draw()
{
 int h=hour(),m=minute(),s=second();
 background(color(h,m,s));
 textAlign(CENTER);
 text("#"+(h<10?"0"+h:h)+(m<10?"0"+m:m)+(s<10?"0"+s:s),100,100);
}

1
शुरुआत में न्यूलाइन्स और स्पेस अनिवार्य हैं? क्योंकि आप वहाँ पर कुछ पात्रों का मुंडन कर सकते थे।
पिन्ना_बे

1

स्माइलबासिक, 65 बाइट्स

T$=TIME$T$[2]="
LOCATE 21,14T$[4]"
GCLS VAL("&H"+T$)?"#";T$EXEC.

0

HTML + जावास्क्रिप्ट (184)

यह उस =>नोटेशन का उपयोग करता है जो वर्तमान में केवल फ़ायरफ़ॉक्स में समर्थित है। यह किसी भी पुस्तकालयों का उपयोग नहीं करता है।

<body text=white onload='(b=document.body).bgColor=b.innerHTML="#"+[(d=new Date()).getHours(),d.getMinutes(),d.getSeconds()].map(x=>("00"+x).slice(-2)).join("");setTimeout(b.onload)'>

इंडेंटेशन के साथ:

<body 
 text=white 
 onload='
       (b=document.body).bgColor = 
       b.innerHTML = 
             "#"+[ (d=new Date()).getHours(),
                    d.getMinutes(),
                    d.getSeconds()].map(
                        x=>("00"+x).slice(-2)
                    ).join("");
       setTimeout(b.onload)
'>

1
क्या आउटपुट स्क्रीन के केंद्र में नहीं होना चाहिए?
पिन्ना_बे

0

मामूली धोखाधड़ी के साथ सी # 357, 325

हाँ, C # अन्य भाषाओं के विरुद्ध कई कोडगोल्फ पुरस्कार जीतने वाला नहीं है। फिर भी, मज़ा!

धोखा ( बिल्कुल केंद्र नहीं , और केवल केंद्र। .NET 4.5 का डिफ़ॉल्ट रूप आकार 300x300 के साथ, मोनो अन्य मज़ेदार सामान कर सकता है):

using System.Windows.Forms;using System.Drawing;class P:Form{static void Main(){new P().ShowDialog();}public P(){var l=new Label(){Top=125,Left=120,ForeColor=Color.White};Controls.Add(l);new Timer(){Enabled=true,Interval=1}.Tick+=(s,e)=>{BackColor=ColorTranslator.FromHtml(l.Text=System.DateTime.Now.ToString("#HHmmss"));};}}

golfed:

using System.Windows.Forms;using System.Drawing;class P:Form{static void Main(){new P().ShowDialog();}public P(){var l=new Label(){Dock=(DockStyle)5,TextAlign=(ContentAlignment)32,ForeColor=Color.White};Controls.Add(l);new Timer(){Enabled=true,Interval=1}.Tick+=(s,e)=>{BackColor=ColorTranslator.FromHtml(l.Text=System.DateTime.Now.ToString("#HHmmss"));};}}

Ungolfed:

using System.Windows.Forms;
using System.Drawing;

class P : Form
{
    static void Main()
    {
        new P().ShowDialog();
    }

    public P()
    {
        var l = new Label() { Dock = (DockStyle)5, TextAlign = (ContentAlignment)32, ForeColor = Color.White };
        Controls.Add(l);
        new Timer() { Enabled = true, Interval = 1 }.Tick += (s, e) =>
        {
            BackColor = ColorTranslator.FromHtml(l.Text = System.DateTime.Now.ToString("#HHmmss"));
        };
    }
}

0

पायथन 3, 122 वर्ण

from turtle import*
import time
color(1,1,1)
ht()
while 1:_=time.strftime("#%H%M%S");bgcolor(_);write(_,0,"center");undo()

undo()सिर्फ पिछले पाठ को साफ करने के लिए पायथन 3 कछुए की क्षमता का लाभ उठाता है । कछुए के बारे में सब कुछreset() रीसेट करने के कारण कछुए की तीव्र झिलमिलाहट का प्रदर्शन नहीं करता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.