Listing : Horloge (par Fraco)
"Bonjour bonjour !!!
Je viens d'aller faire un petit tour sur ton site. J'ai lu le C'est Pas Con n°3. Alors je me suis dit, il est temps pour moi de participer à cette grande aventure, je t'envoie un programme sous forme de fichier texte (histoire d'être fidèle à l'esprit de la grande époque, il faut tout se taper à la mimine). J'espère ne pas m'être planté en le recopiant. Le code n'est pas du tip top, il est surement possible de l'optimiser. Si certains ont des propositions ...
C'est une horloge graphique avec réveil intégré. Il faut configurer l'heure au lancement de l'appli ainsi que l'heure de sonnerie. En cours de fonctionnement, la touche 's' sert à activer / désactiver la sonnerie."
Copie d'écran :
|
Listing : |
10 MODE 2 20 Print"Veuillez entrer l'heure (HH)" 30 input HEURE 40 print" Veuillez entrer les minutes (MM)" 50 input MINUTE 60 print:print"Veuillez entrer l'heure de sonnerie" 70 input RingHH 80 print"Veuillez entrer les minutes pour la sonnerie" 90 input RingMM 100 cls 110 XX=150 120 YY=150 130 SONNERIE=0 140 DEG 150 ORIGIN 320,200 160 INK 0,0:BORDER 0 : INK 1,26 161 MOVE XX*COS(t),YY*SIN(t),1 170 for t=0 to 360 step 8 180 DRAW DRAW XX*COS(t),YY*SIN(t),1 190 NEXT 200 FOR t=0 to 360 STEP 45 210 PLOT (XX-4)*COS(t),(YY-4)*SIN(t),1 220 NEXT 230 EVERY 50,1 GOSUB 450 240 HH=heure 250 MM=minute 260 SS=50 280 MOVE 0,0 ![]() 290 MOVE0,0 ![]() 294 REM ***************************************** 295 REM *** AFFICHAGE DES MINUTES *** 296 REM ***************************************** 300 MOVE 0,0 ![]() 310 DRAW (XX-20)*SIN((MM)*6),(YY-20)*COS((MM)*6),0 320 DRAWR -(XX-20)*SIN((MM-1)*6),-(YY-20)*COS((MM-1)*6),0 330 MOVE 0,0 ![]() 340 DRAW (XX-20)*SIN((MM 1)*6),(YY-20)*COS((MM 1)*6),1 350 DRAWR -(XX-20)*SIN((MM)*6),-(YY-20)*COS((MM)*6),1 360 DRAW 0,0 364 REM **************************************** 365 REM *** AFFICHAGE DES HEURES *** 366 REM **************************************** 370 MOVE 0,0 ![]() 380 MOVE 0,0 ![]() 390 a$=INKEY$ 400 if a$="s" THEN SONNERIE=SONNERIE 1 410 IF SONNERIE>1 THEN SONNERIE=0 420 IF SONNERIE =1 then SON$=CHR$(143) ELSE SON$=" " 430 LOCATE 1,1:PRINT "SONNERIE ";SON$ 440 GOTO 270 450 SS=SS 1 460 IF SS>59 THEN SS=0;MM=MM 1 470 IF MM>59 THEN MM=0;HH=HH 1 480 IF HH>24 THEN HH=0 490 IF HH=RingHH AND MM=RingMM AND SONNERIE=1 THEN FOR t=1 TO 3:SOUND 1,300,5:NEXT
500 RETURN |