« 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 sûrement 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. »

 
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:DRAWR (XX-20)*SIN((SS-1)*6),(YY-20)*COS((SS-1)*6),0
290 MOVE0,0:DRAWR (XX-20)*SIN(SS*6),(YY-20)*COS(SS*6),1
294 REM *****************************************
295 REM *** AFFICHAGE DES MINUTES ***
296 REM *****************************************
300 MOVE 0,0:DRAWR (XX-20)*SIN((MM-1)*6),(YY-20)*COS((MM-1)*6),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:DRAWR (XX-20)*SIN((MM)*6),(YY-20)*COS((MM)*6),1
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:DRAWR (XX-40)*SIN((HH-1)*30),(YY-40)*COS((HH-1)*30),0
380 MOVE 0,0:DRAWR (XX-40)*SIN((HH)*30),(YY-40)*COS((HH)*30),1
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