Rechercher
Résultats par :
Recherche avancée
Qui est en ligne ?
Il y a en tout 5 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 5 Invités

Aucun

Voir toute la liste


Partagez
Voir le sujet précédentAller en basVoir le sujet suivant
Member
Messages : 138
Date d'inscription : 2008-04-09
Voir le profil de l'utilisateur

[complexe] [résolu] montre digitale

le Sun 13 Jun - 0:34
bonjour,

le but de ce défi est de mimer l'affichage 7 segments d'une montre digitale.

pour ceux qui ne le sauraient pas, voici ce qu'est un afficheur 7 segments :
( vous m'excuserez, mais c'est pas facile de faire de l'ascii-art avec une police qui n'est pas à chasse fixe <!-- s;
) -->:;
): <!-- s;
) --> )
 
_____________________________________
|      _                __    __                  __       |
|     |  |    |   o    __|  __|   o   |__|   |__|      |
|     |_|    |   o   |__   __|   o        |   |__|      |
|____________________________________ |


(pour ceux qui trouvent que mon dessin est moche, vous pouvez aussi vous rendre sur <!-- m --><a class="postlink" href="http://fr.wikipedia.org/wiki/Afficheur_7_segments">http://fr.wikipedia.org/wiki/Afficheur_7_segments</a><!-- m --> )



vous devrez donc re-créer cet affichage sur la toile et l'actualiser à chaque seconde pour qu'il affiche la bonne heure.
vous pouvez vous inspirer de l'exemple "horloge.liv"


bon courage !
Posting Freak
Messages : 1188
Date d'inscription : 2004-12-09
Voir le profil de l'utilisateurhttp://langagelinotte.free.fr/

[complexe] montre digitale

le Sun 20 Jun - 0:09
Bonsoir !

Voici ma proposition :
Code:
Horloge Digitale :

("Spécification 1.
2.
1")
("http:
//langagelinotte.
free.
fr/punbb/viewtopic.
php?pid=1944")
Grands rôles :

lumière douce est un texte valant "oscuro"
lumière clair est un texte valant "menthe à l'eau"
décallage est un nombre valant -95
élément v est un polygone, couleur vaut lumière douce, plein vaut "oui", x vaut 0, y vaut 0, .
.
.

dx1 vaut 10 ,dy1 vaut -10, dx2 vaut 20 ,dy2 vaut 0, .
.
.

dx3 vaut 20 ,dy3 vaut 40, dx4 vaut 10 ,dy4 vaut 50, .
.
.

dx5 vaut 0 ,dy5 vaut 40
élément h est un polygone, couleur vaut lumière douce, plein vaut "oui", x vaut 0, y vaut 0, .
.
.

dx1 vaut 10 ,dy1 vaut -10, dx2 vaut 38 ,dy2 vaut -10, .
.
.

dx3 vaut 48 ,dy3 vaut 0, dx4 vaut 38 ,dy4 vaut 10, .
.
.

dx5 vaut 10 ,dy5 vaut 10
chiffre1 est un casier de polygone vide
chiffre2 est un casier de polygone vide
chiffre3 est un casier de polygone vide
chiffre4 est un casier de polygone vide
chiffre5 est un casier de polygone vide
chiffre6 est un casier de polygone vide
rond1 est un cercle, couleur vaut lumière douce, x vaut 285 + décallage, y vaut 230, rayon vaut 20, plein vaut "oui"
rond2 est un cercle, couleur vaut lumière douce, x vaut 285 + décallage, y vaut 290, rayon vaut 20, plein vaut "oui"
rond3 est un cercle, couleur vaut lumière douce, x vaut 506 + décallage, y vaut 230, rayon vaut 20, plein vaut "oui"
rond4 est un cercle, couleur vaut lumière douce, x vaut 506 + décallage, y vaut 290, rayon vaut 20, plein vaut "oui"
vitre est une toile, couleur vaut "noir", hauteur vaut 500
patron0 est un casier de nombre valant 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1
patron1 est un casier de nombre valant 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1
patron2 est un casier de nombre valant 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0
patron3 est un casier de nombre valant 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1
patron4 est un casier de nombre valant 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1
patron5 est un casier de nombre valant 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1
patron6 est un casier de nombre valant 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1
patron7 est un casier de nombre valant 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1
patron8 est un casier de nombre valant 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
patron9 est un casier de nombre valant 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1
nombres est un casier de casier valant patron0, patron1, patron2, .
.
.

patron3, patron4, patron5, patron6, patron7, patron8, patron9

Principal :

Rôles :

chiffre 0 est un nombre valant 0 + décallage
chiffre 1 est un nombre valant 80 + décallage
chiffre 2 est un nombre valant 220 + décallage
chiffre 3 est un nombre valant 300 + décallage
chiffre 4 est un nombre valant 440 + décallage
chiffre 5 est un nombre valant 520 + décallage
h est un nombre
m est un nombre
s est un nombre
Actions :

efface la toile
projette la vitre
projette rond1 & rond2 & rond3 & rond4
parcours init avec chiffre 0, chiffre1
parcours init avec chiffre 1, chiffre2
parcours init avec chiffre 2, chiffre3
parcours init avec chiffre 3, chiffre4
parcours init avec chiffre 4, chiffre5
parcours init avec chiffre 5, chiffre6
tant que 1 est différent de 2, lis
h vaut heure
m vaut minute
s vaut seconde
parcours analyse avec h, chiffre1, chiffre2
parcours analyse avec m, chiffre3, chiffre4
parcours analyse avec s, chiffre5, chiffre6
si s mod 2 est égal à 0 alors lis
couleur@rond1 & couleur@rond2 & couleur@rond3 & couleur@rond4 vaut lumière clair
ferme
sinon, lis
couleur@rond1 & couleur@rond2 & couleur@rond3 & couleur@rond4 vaut lumière douce
ferme
attends 1 seconde
ferme
termine

Init :

Rôles :

* d est un nombre
* c est un casier de polygone
Actions :

parcours affiche avec #élément h, 111 + d, 139, c
parcours affiche avec #élément h, 111 + d, 261, c
parcours affiche avec #élément h, 111 + d, 383, c
parcours affiche avec #élément v, 100 + d, 150, c
parcours affiche avec #élément v, 100 + d, 210, c
parcours affiche avec #élément v, 100 + d, 272, c
parcours affiche avec #élément v, 100 + d, 332, c
parcours affiche avec #élément v, 150 + d, 150, c
parcours affiche avec #élément v, 150 + d, 210, c
parcours affiche avec #élément v, 150 + d, 272, c
parcours affiche avec #élément v, 150 + d, 332, c
Reviens

Analyse :

Rôles :

* n est un nombre
* c1 est un casier de polygone
* c2 est un casier de polygone
Actions :

parcours colorise avec nombres{entier(n/10)}, c1
parcours colorise avec nombres{décimal(n/10)*10}, c2
Reviens

Affiche :

Rôles :

*temporaire est un polygone
*x est un nombre
*y est un nombre
*casier est un casier de polygone
Actions :

x@temporaire vaut x
y@temporaire vaut y
projette temporaire
ajoute temporaire dans casier
reviens

Colorise :

Rôles :

* modèle est un casier de nombre
* chiffre est un casier de polygone
§ position est un nombre valant 0
Actions :

pour chaque modèle, lis
si joker est égal à 1 alors couleur@(chiffre{position}) vaut lumière clair
sinon, couleur@(chiffre{position}) vaut lumière douce
position vaut position + 1
ferme
reviens
Posting Freak
Messages : 1188
Date d'inscription : 2004-12-09
Voir le profil de l'utilisateurhttp://langagelinotte.free.fr/

[complexe] montre digitale

le Thu 24 Jun - 21:40
Voici une nouvelle version de l'horloge qui permet de montrer en même temps la puissance du nouveau noyau Linotte ! Si vous essayez avec la version 1.2, le livre est super lent et avec la beta 1.2.1, le livre est fluide.

Code:
Horloge Digitale :

("Spécification 1.
2.
1")
("http:
//langagelinotte.
free.
fr/punbb/viewtopic.
php?id=311")
Grands rôles :

lumière douce est un texte valant "20 20 20"
lumière clair est un texte valant "255 255 255"
décallage est un nombre valant -95
élément v est un polygone, couleur vaut lumière douce, plein vaut "oui", x vaut 0, y vaut 0, .
.
.

dx1 vaut 10 ,dy1 vaut -10, dx2 vaut 20 ,dy2 vaut 0, .
.
.

dx3 vaut 20 ,dy3 vaut 40, dx4 vaut 10 ,dy4 vaut 50, .
.
.

dx5 vaut 0 ,dy5 vaut 40
élément h est un polygone, couleur vaut lumière douce, plein vaut "oui", x vaut 0, y vaut 0, .
.
.

dx1 vaut 10 ,dy1 vaut -10, dx2 vaut 38 ,dy2 vaut -10, .
.
.

dx3 vaut 48 ,dy3 vaut 0, dx4 vaut 38 ,dy4 vaut 10, .
.
.

dx5 vaut 10 ,dy5 vaut 10
chiffre1 est un casier de polygone vide
chiffre2 est un casier de polygone vide
chiffre3 est un casier de polygone vide
chiffre4 est un casier de polygone vide
chiffre5 est un casier de polygone vide
chiffre6 est un casier de polygone vide
rond1 est un cercle, couleur vaut lumière douce, x vaut 285 + décallage, y vaut 230, rayon vaut 20, plein vaut "oui"
rond2 est un cercle, couleur vaut lumière douce, x vaut 285 + décallage, y vaut 290, rayon vaut 20, plein vaut "oui"
rond3 est un cercle, couleur vaut lumière douce, x vaut 506 + décallage, y vaut 230, rayon vaut 20, plein vaut "oui"
rond4 est un cercle, couleur vaut lumière douce, x vaut 506 + décallage, y vaut 290, rayon vaut 20, plein vaut "oui"
vitre est une toile, couleur vaut "noir" (", bordure vaut "non", hauteur vaut 500")
patron0 est un casier de nombre valant 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1
patron1 est un casier de nombre valant 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1
patron2 est un casier de nombre valant 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0
patron3 est un casier de nombre valant 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1
patron4 est un casier de nombre valant 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1
patron5 est un casier de nombre valant 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1
patron6 est un casier de nombre valant 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1
patron7 est un casier de nombre valant 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1
patron8 est un casier de nombre valant 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
patron9 est un casier de nombre valant 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1
nombres est un casier de casier valant patron0, patron1, patron2, .
.
.

patron3, patron4, patron5, patron6, patron7, patron8, patron9

Principal :

Rôles :

position 1 est un nombre valant 0 + décallage
position 2 est un nombre valant 80 + décallage
position 3 est un nombre valant 220 + décallage
position 4 est un nombre valant 300 + décallage
position 5 est un nombre valant 440 + décallage
position 6 est un nombre valant 520 + décallage
h & m & s est un nombre
Actions :

efface la toile
projette la vitre
projette rond1 & rond2 & rond3 & rond4
parcours init avec position 1, chiffre1
parcours init avec position 2, chiffre2
parcours init avec position 3, chiffre3
parcours init avec position 4, chiffre4
parcours init avec position 5, chiffre5
parcours init avec position 6, chiffre6
tant que 1 est différent de 2, lis
h vaut heure
m vaut minute
s vaut seconde
parcours analyse avec h, chiffre1, chiffre2
parcours analyse avec m, chiffre3, chiffre4
parcours analyse avec s, chiffre5, chiffre6
si s mod 2 est égal à 0 alors lis
appelle On Rond avec rond1
appelle On Rond avec rond2
appelle On Rond avec rond3
appelle On Rond avec rond4
ferme
sinon, lis
appelle Off Rond avec rond1
appelle Off Rond avec rond2
appelle Off Rond avec rond3
appelle Off Rond avec rond4
ferme
attends 1 seconde
ferme
termine

Init :

Rôles :

* d est un nombre
* c est un casier de polygone
Actions :

parcours affiche avec #élément h, 111 + d, 139, c
parcours affiche avec #élément h, 111 + d, 261, c
parcours affiche avec #élément h, 111 + d, 383, c
parcours affiche avec #élément v, 100 + d, 150, c
parcours affiche avec #élément v, 100 + d, 210, c
parcours affiche avec #élément v, 100 + d, 272, c
parcours affiche avec #élément v, 100 + d, 332, c
parcours affiche avec #élément v, 150 + d, 150, c
parcours affiche avec #élément v, 150 + d, 210, c
parcours affiche avec #élément v, 150 + d, 272, c
parcours affiche avec #élément v, 150 + d, 332, c
Reviens

Analyse :

Rôles :

* n est un nombre
* c1 est un casier de polygone
* c2 est un casier de polygone
Actions :

parcours colorise avec nombres{entier(n/10)}, c1
parcours colorise avec nombres{décimal(n/10)*10}, c2
Reviens

Affiche :

Rôles :

*temporaire est un polygone
*x est un nombre
*y est un nombre
*casier est un casier de polygone
Actions :

x@temporaire vaut x
y@temporaire vaut y
projette temporaire
ajoute temporaire dans casier
reviens

Colorise :

Rôles :

* modèle est un casier de nombre
* chiffre est un casier de polygone
§ position est un nombre valant 0
Actions :

pour chaque modèle, lis
si joker est égal à 1 alors appelle on avec chiffre{position}
sinon, appelle off avec chiffre{position}
position vaut position + 1
ferme
reviens

On :

Rôles :

* élément est un polygone
Actions :

si couleur@élément est égal à lumière clair alors reviens
De 20 à 255, lis
couleur@élément vaut joker + " " + joker + " " + joker
Attends 1 millisecondes
Ferme
reviens

Off :

Rôles :

* élément est un polygone
Actions :

si couleur@élément est égal à lumière douce alors reviens
De 255 à 20, lis
couleur@élément vaut joker + " " + joker + " " + joker
Attends 2 millisecondes
Ferme
reviens

On Rond:

Rôles :

* élément est un cercle
Actions :

si couleur@élément est égal à lumière clair alors reviens
De 20 à 255, lis
couleur@élément vaut joker + " " + joker + " " + joker
Attends 2 millisecondes
Ferme
reviens

Off Rond:

Rôles :

* élément est un cercle
Actions :

si couleur@élément est égal à lumière douce alors reviens
De 255 à 20, lis
couleur@élément vaut joker + " " + joker + " " + joker
Attends 2 millisecondes
Ferme
reviens
Posting Freak
Messages : 1188
Date d'inscription : 2004-12-09
Voir le profil de l'utilisateurhttp://langagelinotte.free.fr/

[complexe] montre digitale

le Thu 24 Jun - 22:41
Un petit animation pour afficher l'horloge, c'est plus sympathique...

Code:
Horloge Digitale :

("Spécification 1.
2.
1")
("http:
//langagelinotte.
free.
fr/punbb/viewtopic.
php?id=311")
Grands rôles :

lumière douce est un texte valant "20 20 20"
lumière clair est un texte valant "255 255 255"
décallage est un nombre valant -95
élément v est un polygone, couleur vaut lumière douce, plein vaut "oui", x vaut 0, y vaut 0, .
.
.

dx1 vaut 10 ,dy1 vaut -10, dx2 vaut 20 ,dy2 vaut 0, .
.
.

dx3 vaut 20 ,dy3 vaut 40, dx4 vaut 10 ,dy4 vaut 50, .
.
.

dx5 vaut 0 ,dy5 vaut 40
élément h est un polygone, couleur vaut lumière douce, plein vaut "oui", x vaut 0, y vaut 0, .
.
.

dx1 vaut 10 ,dy1 vaut -10, dx2 vaut 38 ,dy2 vaut -10, .
.
.

dx3 vaut 48 ,dy3 vaut 0, dx4 vaut 38 ,dy4 vaut 10, .
.
.

dx5 vaut 10 ,dy5 vaut 10
chiffre1 est un casier de polygone vide
chiffre2 est un casier de polygone vide
chiffre3 est un casier de polygone vide
chiffre4 est un casier de polygone vide
chiffre5 est un casier de polygone vide
chiffre6 est un casier de polygone vide
rond1 est un cercle, couleur vaut lumière douce, x vaut 285 + décallage, y vaut 230, rayon vaut 20, plein vaut "oui"
rond2 est un cercle, couleur vaut lumière douce, x vaut 285 + décallage, y vaut 290, rayon vaut 20, plein vaut "oui"
rond3 est un cercle, couleur vaut lumière douce, x vaut 506 + décallage, y vaut 230, rayon vaut 20, plein vaut "oui"
rond4 est un cercle, couleur vaut lumière douce, x vaut 506 + décallage, y vaut 290, rayon vaut 20, plein vaut "oui"
vitre est une toile, couleur vaut "noir" (", bordure vaut "non", hauteur vaut 500")
patron0 est un casier de nombre valant 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1
patron1 est un casier de nombre valant 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1
patron2 est un casier de nombre valant 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0
patron3 est un casier de nombre valant 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1
patron4 est un casier de nombre valant 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1
patron5 est un casier de nombre valant 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1
patron6 est un casier de nombre valant 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1
patron7 est un casier de nombre valant 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1
patron8 est un casier de nombre valant 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
patron9 est un casier de nombre valant 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1
nombres est un casier de casier valant patron0, patron1, patron2, .
.
.

patron3, patron4, patron5, patron6, patron7, patron8, patron9

Principal :

Rôles :

position 1 est un nombre valant 0 + décallage
position 2 est un nombre valant 80 + décallage
position 3 est un nombre valant 220 + décallage
position 4 est un nombre valant 300 + décallage
position 5 est un nombre valant 440 + décallage
position 6 est un nombre valant 520 + décallage
h & m & s est un nombre
Actions :

efface la toile
projette la vitre
projette rond1 & rond2 & rond3 & rond4
parcours init avec position 1, chiffre1
parcours init avec position 2, chiffre2
parcours init avec position 3, chiffre3
parcours init avec position 4, chiffre4
parcours init avec position 5, chiffre5
parcours init avec position 6, chiffre6
tant que 1 est différent de 2, lis
h vaut heure
m vaut minute
s vaut seconde
parcours analyse avec h, chiffre1, chiffre2
parcours analyse avec m, chiffre3, chiffre4
parcours analyse avec s, chiffre5, chiffre6
si s mod 2 est égal à 0 alors lis
appelle On Rond avec rond1
appelle On Rond avec rond2
appelle On Rond avec rond3
appelle On Rond avec rond4
ferme
sinon, lis
appelle Off Rond avec rond1
appelle Off Rond avec rond2
appelle Off Rond avec rond3
appelle Off Rond avec rond4
ferme
attends 1 seconde
ferme
termine

Init :

Rôles :

* d est un nombre
* c est un casier de polygone
Actions :

parcours affiche avec #élément h, 111 + d, 139, c
parcours affiche avec #élément h, 111 + d, 261, c
parcours affiche avec #élément h, 111 + d, 383, c
parcours affiche avec #élément v, 100 + d, 150, c
parcours affiche avec #élément v, 100 + d, 210, c
parcours affiche avec #élément v, 100 + d, 272, c
parcours affiche avec #élément v, 100 + d, 332, c
parcours affiche avec #élément v, 150 + d, 150, c
parcours affiche avec #élément v, 150 + d, 210, c
parcours affiche avec #élément v, 150 + d, 272, c
parcours affiche avec #élément v, 150 + d, 332, c
Reviens

Analyse :

Rôles :

* n est un nombre
* c1 est un casier de polygone
* c2 est un casier de polygone
Actions :

parcours colorise avec nombres{entier(n/10)}, c1
parcours colorise avec nombres{décimal(n/10)*10}, c2
Reviens

Affiche :

Rôles :

*temporaire est un polygone
*x est un nombre
*y est un nombre
*casier est un casier de polygone
Actions :

projette temporaire
ajoute temporaire dans casier
appelle animation avec temporaire, x, y
reviens

Animation :

Rôles :

*temporaire est un polygone
*x est un nombre
*y est un nombre
§flag est un drapeau valant faux
§aléatoire est un nombre valant 15
Actions :

mélange aléatoire
aléatoire vaut aléatoire + 5
tant que flag est faux, lis
si x@temporaire est différent de x alors x@temporaire vaut x@temporaire + 1
si y@temporaire est différent de y alors y@temporaire vaut y@temporaire + 1
si x@temporaire est égal à x alors lis
si y@temporaire est égal à y alors flag vaut vrai
ferme
attends aléatoire millisecondes
tourne à droite temporaire de 1
ferme
tant que angle@temporaire est différent de 0 , lis
tourne à droite temporaire de 1
attends aléatoire millisecondes
ferme
reviens

Colorise :

Rôles :

* modèle est un casier de nombre
* chiffre est un casier de polygone
§ position est un nombre valant 0
Actions :

pour chaque modèle, lis
si joker est égal à 1 alors appelle on avec chiffre{position}
sinon, appelle off avec chiffre{position}
position vaut position + 1
ferme
reviens

On :

Rôles :

* élément est un polygone
Actions :

si couleur@élément est égal à lumière clair alors reviens
De 20 à 255, lis
couleur@élément vaut joker + " " + joker + " " + joker
Attends 1 millisecondes
Ferme
reviens

Off :

Rôles :

* élément est un polygone
Actions :

si couleur@élément est égal à lumière douce alors reviens
De 255 à 20, lis
couleur@élément vaut joker + " " + joker + " " + joker
Attends 2 millisecondes
Ferme
reviens

On Rond:

Rôles :

* élément est un cercle
Actions :

si couleur@élément est égal à lumière clair alors reviens
De 20 à 255, lis
couleur@élément vaut joker + " " + joker + " " + joker
Attends 2 millisecondes
Ferme
reviens

Off Rond:

Rôles :

* élément est un cercle
Actions :

si couleur@élément est égal à lumière douce alors reviens
De 255 à 20, lis
couleur@élément vaut joker + " " + joker + " " + joker
Attends 2 millisecondes
Ferme
reviens
Member
Messages : 138
Date d'inscription : 2008-04-09
Voir le profil de l'utilisateur

[complexe] montre digitale

le Fri 25 Jun - 10:18
waw! magnifique! Surprised

par contre, chez moi, le dernier livre ne fonctionne pas avec l'ancien moteur de Linotte. l'atelier ne répond plus: impossible d'arreter le livre ou de fermer l'atelier normalement..
mais aucun problème avec la version beta.

en tout cas, le livre est impressionant! bravo !


je déclare officielement le défi résolu. <img src=" title="Smile" />
Contenu sponsorisé

Re: [complexe] [résolu] montre digitale

Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum