미니멀리스트 진수 시계


14

문제는 시간을 16 진수로, 배경색을 16 진수 색상 코드로 표시하는 시계를 만드는 것입니다.

요구 사항 : 입력이 없습니다. 출력 중앙에 숫자 기호와 현재 시간을 24 시간 형식으로 "#hhmmss"로 표시해야합니다. 프로그램은 최소 1 초에 한 번씩 현재 시간으로 업데이트되어야합니다. 텍스트는 가운데에 흰색이어야합니다 (또는 밝은 색상). 배경은 전적으로 16 진 코드의 색상이어야합니다. 코드가 가장 짧지 만 독창적 인 답변을 권장합니다.

라이브 예 . r / InternetIsBeautiful의 아이디어.


나는 아이디어를 좋아하지만, 아이모 인기 투표로 좋을 것
윌리엄 바르보사

8
@ WilliamBarbosa 나는 결과가 인기 대회가 유용하기에는 너무 간단하다고 생각합니다.
qwr

IIB 게시물이 / r / minimalism의 x-post임을 지적 할 수 있습니다. 그러나 헤.
cjfaure

답변:


1

python3 (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)

언 골프 :

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, while 1 때문에 터미널에서 실행하는 것이 좋습니다. 닫기가 매우 어려울 수 있으므로 : D (ctrl + c가 필요합니다)


1
세미콜론을 사용하여 while 루프의 모든 줄을 결합하여 문자 수를 줄일 수 있습니다.
isaacg

@isaacg 감사합니다, 나는 그것을 적응시켰다.
Pinna_be

1
당신은에 대한 최종 호출 제거하여 9하여 글자 수를 줄일 수 update()bgcolor()호출이 update()이미 (추적 설정을 무시 참조). color([1]*3)대신을 사용하여 다른 문자를 저장할 수 있습니다 "snow".
cdlane

@ cdlane 두 번째 답변 (두 번째 코드 블록)에서 update ()를 제거했습니다. 코드가 화면을 깜박이고 이전을 제거하지 않기 때문에 최종 답변이되는 것이 옳지 않다고 생각했습니다. 오랫동안 실행하면 추악한 숫자. "" "color ([1] * 3)" ""는 참으로 멋진 기법입니다!
Pinna_be

5

HTML / CSS / 자바 207 183 180 161 152

최신 Firefox 및 Chrome 브라우저에서 테스트 및 작동

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

여기 데모


내가 아는 한, 적어도 safari / jsfiddle에서 <html style = height : 100 %>없이 코드가 완벽하게 작동합니다.
Pinna_be

@Pinna_be 잘 잡았습니다. 텍스트를 세로로 가운데 맞추는 몇 가지 다른 방법을 시도했지만 다른 방법에서 제외되었습니다.
nderscore

2
나는이 의견을 말함으로써 몇 가지 규칙을 어기는 것을 알고 있지만,이 body태그는 순수한 아름다움입니다.
Jacob

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
처음에 줄 바꿈과 공백이 필수입니까? 저기서 일부 캐릭터를 면도 할 수 있기 때문입니다.
Pinna_be

1

SmileBASIC, 65 바이트

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

0

HTML + 자바 스크립트 (184)

이것은 =>현재 Firefox에서만 지원되는 표기법을 사용합니다 . 라이브러리를 사용하지 않습니다.

<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
출력이 화면 중앙에 있지 않아야합니까?
Pinna_be 2016 년

0

C # 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"));};}}

골프 :

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"));};}}

언 골프 드 :

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()

Python 3 turtle의 undo()기능을 활용 하여 이전 텍스트 만 지 웁니다. 거북이 reset()에 관한 모든 것을 재설정하여 발생하는 거북이의 강렬한 깜박임을 나타내지 않습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.