Créer une horloge analogique
Objectif: créer une horloge analogique fonctionnelle en utilisant n'importe quel langage de programmation.
Exigences:
- Votre horloge doit comporter au moins les pointeurs des heures et des minutes.
- L'horloge produite peut prendre la forme d'une image, d'une animation ou d'un art ASCII.
- Il est prévu que l'horloge indique l'heure locale.
Optionnel:
- Vous pouvez faire en sorte que votre horloge affiche le pointeur des secondes en plus des pointeurs des minutes et des heures.
- Vous pouvez également rendre le fuseau horaire configurable si vous le souhaitez.
- Vous êtes libre de choisir si vous pouvez négliger ou gérer les problèmes de secondes intercalaires.
- Vous pourriez penser à ce qui arrive à votre programme si l'utilisateur ajuste l'horloge système ou si un changement de lumière du jour se produit.
Comme il s'agit d'un concours de popularité , soyez créatif et dessinez de belles et belles horloges pour mériter les votes positifs. La réponse la plus votée l'emporte , à l'exception que je n'accepterai pas ma propre réponse.
Enfin, il est recommandé (mais pas obligatoire) de publier au moins une capture d'écran (ou une sortie de texte en cas d'art ASCII) de votre horloge dans votre réponse. De cette façon, les gens n'auront pas besoin de le compiler et de l'exécuter pour voir de quoi il s'agit.
Cette question est destinée à être une reprise d'une question supprimée.
Notez qu'il ne s'agit pas d'un doublon de cette autre question . Cette question était un code-golf demandant de l'art ASCII. Celui-ci n'est pas limité à l'art ASCII et est plutôt un concours de popularité , donc les réponses devraient être très différentes.
la source
xclock
. Nécessite xclock pour être installé.Réponses:
SVG + Javascript
▶▶▶ Démonstration en direct ici ◀◀◀
Cela utilise les fonctions d'animation intégrées de SVG pour tourner les mains, avec un peu de Javascript supplémentaire pour récupérer l'heure locale et définir les positions initiales des mains. Il fonctionne bien dans Chrome et Safari, et devrait être compatible avec la plupart des navigateurs modernes car il n'utilise aucun effet de filtre.
la source
Java 8
J'ai fait une horloge qui change ses couleurs en fonction de l'heure du jour, indiquant l'heure locale. Au fil du temps, il changera lentement de couleurs, en utilisant des couleurs plus lumineuses le jour et des couleurs plus sombres la nuit.
La fenêtre est redimensionnable et l'horloge se redimensionne automatiquement à la taille que vous choisissez.
De plus, si l'utilisateur ajuste l'horloge du système ou si un changement d'heure d'été se produit, l'horloge le reflétera automatiquement.
Il existe deux formes pour l'exécuter:
Exécution du
ClockDemo
fichier, c.-à-djava clock.ClockDemo
. Cela ouvrira une fenêtre et vous y verrez l'horloge.Exécution du
ClockSave
fichier, c.-à-djava clock.ClockSave filename width height [HH:mm:ss]
. Cela enregistrera simplement l'horloge dans un fichier PNG avec le nom de fichier, la largeur et la hauteur donnés. L'horloge sera tirée avec l'heure donnée ou, si elle est omise, avec l'heure actuelle. Par exemple, si vous l'exécutez carjava clock.ClockSave clock.png 600 500 12:38:24
cela enregistrera l'horloge dans une image 600x500 dans unclock.png
fichier et l'horloge affichera 00h38:24. Utilisez les heures dans l'intervalle 00-23.Captures d'écran
Voici quelques captures d'écran et fichiers générés:
00:36:50:
02:38:51:
06:42:13 AM:
11:15:28:
17h02: 37:
19h11h30:
21h29: 34:
Code source
J'ai séparé la source dans cinq fichiers différents dans un package appelé
clock
.Également disponible sur GitHub .
ClockDemo.java
ClockSave.java
JClock.java
ClockPaint.java
CoolPaint.java
la source
Freepascal
Cette horloge affiche l'heure, la date et la phase de la lune. Cependant contrairement aux horloges mécaniques qui ont une petite fenêtre pour afficher la phase de la lune, dans mon horloge tout le visage est utilisé pour l'afficher. Aujourd'hui, le 14 février est une pleine lune. Vous pouvez voir la sortie attendue au cours des prochains jours ci-dessous.
la source
Un simple que mon ami a écrit dans TI 84 BASIC:
la source
Mathematica
Une horloge simple et fonctionnelle qui affiche l'heure locale:
Options standard
Jauge d'horloge dessinée à la main
Il existe des alternatives à la jauge d'horloge intégrée. En voici un.
Un balayage continu a été mis en place pour les aiguilles des heures et des minutes. Ils se mettent à jour avec la seconde main.
la source
Postscript - écrit à l'origine pour aider mes enfants à apprendre à lire l'heure. La page 1 montre l'heure actuelle, les pages 2 à 4 sont des pages pour les apprenants. Les pages pour les apprenants utilisent
rand
pour créer des moments aléatoires, ils sont donc différents à chaque fois que vous le traitez. Utilisez Ghostscript pour créer une version PDF si vous souhaitez afficher l'heure actuelle. Format papier A4.la source
rand
vous donnera pas les mêmes résultats à chaque fois? À moins que vous ne l'ensemenciez d'une manière ou d'une autre, peut-être(/dev/rand)(r)file read pop srand
.srand
si vous voulez fixer votre position dans la séquence PS de nombres pseudo-aléatoires. Pour citer le PSLRM: "L'exécutionsrand
avec une valeur particulière provoque des invocations ultérieures derand
pour générer une séquence reproductible de résultats."1 srand
avant d'exécuter des programmes utilisateur. Vous devez donc introduire votre propre entropie pour obtenir une séquence non reproductible. N'ont pas été testés avec Distiller, mais c'est ce que fait Ghostscript.gsnd -q -dBATCH -c 'rand ='
me donne toujours 16807.Démo: http://jsfiddle.net/kelunik/Vuuq8/7/embedded/result/
HTML
CSS
Javascript
la source
En voici une en cours de traitement:
la source
HTML + CSS3 + JS
J'ai surtout utilisé du CSS pour cette horloge. Il y a un composant JS qui met à jour les attributs sur la div d'horloge avec l'heure actuelle, mais en dehors de cela, l'horloge entière est CSS.
démo en direct ici: http://jsbin.com/nuvag/3
le code source ici: http://jsbin.com/nuvag/3/edit
la source
GNUPLOT
la source
xterm -t -e "gnuplot -e 'set term tek40xx' clock.plot"
(avec des clignotements ennuyeux)Code MATLAB simple, écrit principalement pour apprécier le cadran de 24 heures au travail.
tandis que 1 runWatch () pause (0,6); fin
la source
Python (avec matplotlib)
Voici une horloge très basique qui s'exécute sur le bureau. Changez
interval
dans la 2ème à la dernière ligne1
pour un mouvement continu au lieu d'une tique par seconde.la source
Mathematica
En utilisant plus de code de démonstration du navigateur d'aide de Mathematica que je ne le devrais probablement, j'obtiens
avec
la source
C + Le Caire + xcb
Essentiellement arraché la solution postscript et traduit au Caire. :)
Quelques pièges en faisant cela: ps utilise des degrés, Le Caire utilise des radians; ps oriente la fenêtre avec + y vers le haut , xcb l'oriente avec + y vers le bas .
la source
Cliquez sur exécuter. Il s'affiche uniquement par incréments de 30 minutes car l'horloge est un seul emoji.
la source
La création d'horloges analogiques a une sorte d'attrait pour les gens qui apprennent la programmation. En fait, j'enseigne une classe JavaScript cette année et mes élèves se sont bien amusés lorsque nous avons implémenté une horloge analogique utilisant p5.js ...
Le code source de l'horloge analogique est disponible sur https://github.com/mveteanu/JSCourse
la source