Erstellen Sie eine analoge Uhr
Ziel: Erstellen einer funktionierenden Analoguhr mit einer beliebigen Programmiersprache.
Bedarf:
- Ihre Uhr sollte mindestens die Stunden- und Minutenzeiger enthalten.
- Die erzeugte Uhr könnte in Form eines Bildes, einer Animation oder einer ASCII-Kunst vorliegen.
- Es wird erwartet, dass die Uhr die Ortszeit anzeigt.
Wahlweise:
- Sie können Ihre Uhr so einstellen, dass der Sekundenzeiger zusätzlich zu den Minuten- und Stundenzeigern angezeigt wird.
- Sie können die Zeitzone auch so einstellen, dass sie konfigurierbar ist, wenn Sie dies wünschen.
- Sie können frei wählen, ob Sie Probleme mit Schaltsekunden vernachlässigen oder behandeln möchten.
- Sie könnten überlegen, was mit Ihrem Programm passiert, wenn der Benutzer die Systemuhr anpasst oder wenn eine Änderung des Tageslichts eintritt.
Da dies ein Beliebtheitswettbewerb ist , seien Sie bitte kreativ und zeichnen Sie einige schöne Uhren, um die Gegenstimmen zu verdienen. Die am besten bewertete Antwort gewinnt , mit der Ausnahme, dass ich meine eigene Antwort nicht akzeptieren werde.
Schließlich wird empfohlen (aber nicht erforderlich), dass Sie in Ihrer Antwort mindestens einen Screenshot (oder bei ASCII-Art eine Textausgabe) Ihrer Uhr veröffentlichen. Auf diese Weise müssen die Benutzer es nicht kompilieren und ausführen, um zu sehen, was es ist.
Diese Frage soll eine Wiederbelebung einer gelöschten Frage sein.
Beachten Sie, dass es sich nicht um ein Duplikat dieser anderen Frage handelt . Diese Frage war ein Code-Golf , der nach ASCII-Kunst fragte. Dieser ist nicht auf ASCII-Kunst beschränkt und ist stattdessen ein Beliebtheitswettbewerb. Die Antworten dürften daher sehr unterschiedlich sein.
quelle
xclock
. Benötigt die Installation von xclock.Antworten:
SVG + Javascript
▶▶▶ Live-Demo hier ◀◀◀
Dies nutzt die in SVG integrierten Animationsfunktionen, um die Zeiger zu drehen, und ein bisschen zusätzliches Javascript, um die Ortszeit abzurufen und die anfänglichen Zeigerpositionen festzulegen. In Chrome und Safari funktioniert es einwandfrei und sollte mit den meisten modernen Browsern kompatibel sein, da keine Filtereffekte verwendet werden.
quelle
Java 8
Ich habe eine Uhr gemacht, die ihre Farben entsprechend der Tageszeit ändert und die Ortszeit anzeigt. Mit der Zeit ändert sich die Farbe langsam, wobei am Tag hellere und in der Nacht dunklere Farben verwendet werden.
Das Fenster ist in der Größe veränderbar und die Größe der Uhr wird automatisch auf die von Ihnen gewählte Größe angepasst.
Wenn der Benutzer die Systemuhr einstellt oder eine Änderung der Sommerzeit eintritt, wird dies automatisch in der Uhr angezeigt.
Es gibt zwei Formen, um es auszuführen:
Ausführen der
ClockDemo
Datei, dhjava clock.ClockDemo
. Dies öffnet ein Fenster und Sie sehen die Uhr dort.Ausführen der
ClockSave
Datei, dhjava clock.ClockSave filename width height [HH:mm:ss]
. Dadurch wird die Uhr nur in einer PNG-Datei mit dem angegebenen Dateinamen, der angegebenen Breite und Höhe gespeichert. Die Uhr wird mit der angegebenen Zeit oder, wenn diese weggelassen wird, mit der aktuellen Zeit gezeichnet. Wenn Sie es beispielsweise so ausführenjava clock.ClockSave clock.png 600 500 12:38:24
, dass die Uhr in einem 600x500-Bild in einerclock.png
Datei gespeichert wird und die Uhr 00:38:24 zeigt. Verwenden Sie Stunden im Intervall 00-23.Screenshots
Hier sind einige Screenshots und generierte Dateien:
00:36:50:
02:38:51:
06:42:13 Uhr:
11:15:28 Uhr:
17.02.37 Uhr:
19:11:30 Uhr:
21:29:34 Uhr:
Quellcode
Ich habe die Quelle in fünf verschiedenen Dateien in einem Paket namens getrennt
clock
.Auch bei GitHub erhältlich .
ClockDemo.java
ClockSave.java
JClock.java
ClockPaint.java
CoolPaint.java
quelle
Freepascal
Diese Uhr zeigt die Uhrzeit, das Datum und die Phase des Mondes an. Im Gegensatz zu mechanischen Uhren, die ein kleines Fenster zur Anzeige der Mondphase haben, wird bei meiner Uhr das gesamte Zifferblatt zur Anzeige verwendet. Heute ist der 14. Februar ein Vollmond. Sie können die erwartete Ausgabe in den nächsten Tagen unten sehen.
quelle
Ein einfaches, das mein Freund in TI 84 BASIC geschrieben hat:
quelle
Mathematica
Eine einfach-vanille funktionierende Uhr, die die Ortszeit anzeigt:
Standardoptionen
Handgezeichnete Uhr
Es gibt Alternativen zur eingebauten Uhr. Hier ist eine.
Für die Stunden- und Minutenzeiger wurde ein kontinuierlicher Sweep implementiert. Sie werden zusammen mit dem Sekundenzeiger aktualisiert.
quelle
Postscript - ursprünglich geschrieben, um meinen Kindern zu helfen, die Uhrzeit zu lernen. Seite 1 zeigt die aktuelle Uhrzeit, Seite 2-4 sind Seiten für Lernende. Auf den Seiten für Lernende werden
rand
zufällige Zeiten erstellt, sodass sie bei jeder Verarbeitung anders sind. Verwenden Sie Ghostscript, um eine PDF-Version zu erstellen, wenn Sie die aktuelle Uhrzeit anzeigen möchten. Format für A4-Papier.quelle
rand
jedes Mal die gleichen Ergebnisse erzielen? Es sei denn, Sie säen es irgendwie, vielleicht(/dev/rand)(r)file read pop srand
.srand
wenn Sie Ihre Position in der PS-Folge von Pseudozufallszahlen festlegen möchten . Um das PSLRM zu zitieren: "Die Ausführungsrand
mit einem bestimmten Wert bewirkt, dass nachfolgende Aufrufe vonrand
eine reproduzierbare Folge von Ergebnissen erzeugen."1 srand
bevor Benutzerprogramme ausgeführt werden. Sie müssen also Ihre eigene Entropie einführen, um eine nicht reproduzierbare Sequenz zu erhalten. Nicht mit Distiller getestet, aber genau das macht Ghostscript.gsnd -q -dBATCH -c 'rand ='
gibt mir immer 16807.Demo: http://jsfiddle.net/kelunik/Vuuq8/7/embedded/result/
HTML
CSS
Javascript
quelle
Hier ist einer in Bearbeitung:
quelle
HTML + CSS3 + JS
Ich habe hauptsächlich CSS für diese Uhr verwendet. Es gibt eine JS-Komponente, die die Attribute auf der Uhr div mit der aktuellen Zeit aktualisiert, aber davon abgesehen ist die gesamte Uhr CSS.
Live-Demo hier: http://jsbin.com/nuvag/3
Quellcode hier: http://jsbin.com/nuvag/3/edit
quelle
GNUPLOT
quelle
xterm -t -e "gnuplot -e 'set term tek40xx' clock.plot"
(mit nervigen Blinzeln)Einfacher MATLAB-Code, hauptsächlich geschrieben, um die 24-Stunden-Wahl bei der Arbeit zu schätzen.
während 1 runWatch () Pause (0.6); Ende
quelle
Python (mit Matplotlib)
Hier ist eine sehr einfache Uhr, die auf dem Desktop ausgeführt wird. Wechseln Sie
interval
in der 2. bis zur letzten Zeile zu1
für kontinuierliche Bewegung anstelle eines Ticks pro Sekunde.quelle
Mathematica
Ich verwende mehr Demo-Code aus dem Mathematica-Hilfe-Browser, als ich wahrscheinlich sollte
mit
quelle
C + Kairo + xcb
Im Grunde genommen die Postscript-Lösung abgerissen und nach Kairo übersetzt. :)
Einige Fallstricke dabei: ps verwendet Grad, Cairo verwendet Bogenmaß; ps richtet das Fenster mit + y nach oben aus , xcb richtet es mit + y nach unten aus .
quelle
Klicken Sie auf Ausführen. Es wird nur in Schritten von 30 Minuten angezeigt, da es sich bei der Uhr um ein einzelnes Emoji handelt.
quelle
Das Erstellen von analogen Uhren hat mit dem Programmieren zu tun. Tatsächlich unterrichte ich dieses Jahr eine JavaScript-Klasse und meine Schüler hatten jede Menge Spaß, als wir eine analoge Uhr mit p5.js implementierten ...
Der Quellcode für die analoge Uhr ist unter https://github.com/mveteanu/JSCourse verfügbar
quelle