Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Compte à rebours | |
| | Auteur | Message |
---|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Compte à rebours Jeu 22 Avr 2010 - 1:49 | |
| En concoctant un jeu, j'ai eu besoin de réaliser un compte à rebours, mais je tenais à ce que ce soit quelque chose : - qui puisse être arrêté facilement en restant fiable - sans utiliser le clavier (foin d'Inkey$ et de Scancode)(rien ne vaut les jolis boutons Windows) - qui puisse également repartir (toujours sans utiliser le clavier) - qui ne risque pas de s'égarer et se planter dans une boucle infinie - qui se passe forcément du timer qui n'existe pas encore - et qui ne risque pas de faire le coup du « Access violation de... ??? » (oui, je sais, je suis exigeant !) Eh bien, j'ai trouvé un truc qui fait tout cela et qui me plaît bien. Je vous en fais profiter ??????? Mais peut-être que ça ne vous intéresse pas... (Allez, je vous fais marcher !) Voici le code expurgé : - Code:
-
rem ' Compte à rebours - Compte-Rebours.bas dim a , i , a$ : rem Variables provisoires dim ia : rem Indicateur d`Arrêt dim s : rem Nombre de Secondes restant à décompter dim t : rem Temps Total à décompter dim t1$ , t2$ : rem Temps différents pour décompter d`après l`horloge label go , rep , fin , compte width 0,300 : height 0,250 : caption 0,"COMPTE A REBOURS"
alpha 1 left 1,25 : top 1,20 : caption 1,"Combien de secondes :"
spin 2 left 2,50 : top 2,38 : width 2,50 : min 2,0 : max 2,3599
button 3 left 3,35 : top 3,70 : caption 3,"Commencer" : on_click 3,go
button 4 left 4,150 : top 4,40 caption 4,"Arrêter" : inactive 4 : on_click 4,fin
alpha 5 left 5,75 : top 5,120 : width 5,120 : height 5,50 : color 5,0,0,0
alpha 6 left 6,94 : top 6,130 : font_bold 6 : font_size 6,20 color 6,0,0,0 : font_color 6,255,255,255 : caption 6,"00 : 00"
end
go: t=position(2) : s=t : a=1 active 4 : inactive 3
compte: if t>0 for i=a to t t1$=time$ rep: wait 100 if clicked(4)=1 then exit_for t2$=time$ if t2$=t1$ then goto rep s=s-1 : a$="" if int(s/60)<10 then a$="0" a$=a$+str$(int(s/60))+" : " if s-int(s/60)*60<10 then a$=a$+"0" a$=a$+str$(s-int(s/60)*60) caption 6,a$ next i end_if if s=0 active 3 : inactive 4 midi_on midi_play 76,7 midi_play 72,7 midi_play 74,7 midi_play 67,7 wait 300 midi_play 67,7 midi_play 74,7 midi_play 76,7 midi_play 72,7 wait 300 midi_off else beep end_if return
fin: a=t-s+1 : ia=1-ia if ia=1 caption 4,"Continuer" beep return else caption 4,"Arrêter" if clicked(4)=1 then rem : ' Attention, cette ligne n'est pas inutile beep gosub compte end_if return
Alors, pour les oeufs à la coque, c'est 180 les oeufs durs, 600... | |
| | | bleunounet
Nombre de messages : 150 Date d'inscription : 26/10/2007
| Sujet: Re: Compte à rebours Jeu 22 Avr 2010 - 10:04 | |
| oui le timer n'existe pas encore ,moi il m'interesse je le trouve super ton compte a rebours bravo jjn4. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Compte à rebours Jeu 22 Avr 2010 - 11:05 | |
| Très joli, ce compte à rebours. C'est une belle astuce ! | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Dim 16 Mai 2010 - 12:46 | |
| Et voici une nouvelle version du compte à rebours (avec timer, cette fois) : - Code:
-
rem ' Compte à rebours - Compte-Rebours.bas dim a , i , a$ : rem Variables provisoires dim ia : rem Indicateur d`Arrêt dim s : rem Nombre de Secondes restant à décompter dim t : rem Temps Total à décompter dim t1$ , t2$ : rem Temps différents pour décompter d`après l`horloge label go , fin , compte width 0,300 : height 0,250 : caption 0,"COMPTE A REBOURS"
alpha 1 left 1,25 : top 1,20 : caption 1,"Combien de secondes :"
spin 2 left 2,50 : top 2,38 : width 2,50 : min 2,0 : max 2,3599
button 3 left 3,35 : top 3,70 : caption 3,"Commencer" : on_click 3,go
button 4 left 4,150 : top 4,40 caption 4,"Arrêter" : inactive 4 : on_click 4,fin
alpha 5 left 5,75 : top 5,120 : width 5,120 : height 5,50 : color 5,0,0,0
alpha 6 left 6,94 : top 6,130 : font_bold 6 : font_size 6,20 color 6,0,0,0 : font_color 6,255,255,255 : caption 6,"00 : 00"
timer 7 timer_interval 7,100 on_timer 7,compte timer_off 7
end
go: t=position(2) : s=t : a=1 active 4 : inactive 3 timer_on 7 return
compte: if t>0 for i=a to t if clicked(4)=1 or s=0 then exit_for t2$=t1$ t1$=time$ if t2$=t1$ then return s=s-1 : a$="" if int(s/60)<10 then a$="0" a$=a$+str$(int(s/60))+" : " if s-int(s/60)*60<10 then a$=a$+"0" a$=a$+str$(s-int(s/60)*60) caption 6,a$ next i end_if if s=0 active 3 : inactive 4 timer_off 7 midi_on midi_play 76,7 midi_play 72,7 midi_play 74,7 midi_play 67,7 wait 300 midi_play 67,7 midi_play 74,7 midi_play 76,7 midi_play 72,7 wait 300 midi_off else beep end_if return
fin: a=t-s+1 : ia=1-ia if ia=1 caption 4,"Continuer" beep timer_off 7 return else caption 4,"Arrêter" if clicked(4)=1 then rem : ' Attention, cette ligne n'est pas inutile beep timer_on 7 gosub compte end_if return
| |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: re : +++ Dim 16 Mai 2010 - 15:55 | |
| Super maintenant mes oeufs seront mollets. Merci bien a toi. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Compte à rebours Dim 16 Mai 2010 - 18:19 | |
| Je viens d'essayer ton nouvean compte à rebour, il y a un petit problème car la première seconde, décomptée, ne fait pas une seconde (beaucoup moins). Pour faire cuire les oeufs "pil-poil", il faut règler le temps avec une seconde en plus. | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Dim 16 Mai 2010 - 18:21 | |
| | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| | | | Contenu sponsorisé
| Sujet: Re: Compte à rebours | |
| |
| | | | Compte à rebours | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |