FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» StratégoV8 et V9
par Minibug Aujourd'hui à 1:10

» Rotation d'une image d'un angle quelconque
par JL35 Hier à 23:02

» GRID_LOAD
par Jean Claude Hier à 21:04

» HVIEWER
par Yannick Hier à 20:31

» KGF_dll - nouvelles versions
par Klaus Mar 16 Jan 2018 - 21:28

» Déformation d'image en trapèze
par mindstorm Mar 16 Jan 2018 - 21:06

» Mah-Jong américain
par Jean Claude Lun 15 Jan 2018 - 19:37

» Problème avec Deepl
par Klaus Lun 15 Jan 2018 - 0:34

» Quelques nouvelles ...
par Jean Claude Ven 12 Jan 2018 - 22:40

» Renommer les instructions ITEM_... ?
par Jicehel Ven 12 Jan 2018 - 18:56

» Ludothèque Panoramic
par jjn4 Ven 12 Jan 2018 - 18:11

» sous-programmes et fonctions
par Jack Ven 12 Jan 2018 - 17:51

» Mah-Jong français
par Jean Claude Jeu 11 Jan 2018 - 22:15

» panoramic 0.9.28
par gigi75 Ven 5 Jan 2018 - 14:06

» Un jeu qui va vous énerver!
par Jean Claude Jeu 4 Jan 2018 - 22:05

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2018
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031    
CalendrierCalendrier

Partagez | 
 

 Compteur mécanique

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
bignono

avatar

Nombre de messages : 1109
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Compteur mécanique   Ven 24 Jan 2014 - 11:16

Bonjour à tous,  Smile 
Vous connaissez tous les compteurs kilométriques des voitures, je parle des anciens, pas les nouveaux à affichage digitale ou numérique. Ces espèces de compteurs à roues dentées qui tournent inexorablement. On les trouvait aussi sur les vieux compteurs EDF, et il y en a encore sur les compteurs d'eau ou de gaz.
J'ai essayé de reproduire ce genre de compteur avec panoramic. Pas évident!
Voici :
Code:
label tourne
dim u,d,c,m,dm

init()

timer 99 : timer_interval 99,10 : on_timer 99,tourne
END

tourne:
   timer_off 99
   if scancode=27 then terminate
   for u=50 to 59
      top u,top(u)-4
      if top(u)=-36 then top u,324
      if caption$(u)=" 9" and top(u)<4
         for d=40 to 49
            top d,top(d)-4
            if top(d)=-36 then top d,324
            if caption$(d)=" 9" and top(d)<4
               for c=30 to 39
                  top c,top(c)-4
                  if top(c)=-36 then top c,324
                  if caption$(c)=" 9" and top(c)<4
                     for m=20 to 29
                        top m,top(m)-4
                        if top(m)=-36 then top m,324
                        if caption$(m)=" 9" and top(m)<4
                           for dm=10 to 19
                              top dm,top(dm)-4
                              if top(dm)=-36 then top dm,324
                           next dm
                        end_if
                     next m
                  end_if
               next c
            end_if
         next d
      end_if
   next u
   timer_on 99
return

sub init()

   dim_local h,i,j
  
'   border_small 0
   left 0,(screen_x/2)-(width(0)/2)
'   caption 0,"Compteur"
   hide 0

   for i=1 to 5
      form i
      border_hide i
      color i,0,0,0
      width i,49
      height i,60
      left i,left(0)+(i*50)+130
      top i,(height(0)/2)-(height(i)/2)

      h=0

      for j=(i*10) to (i*10)+9
         alpha j
         parent j,i
         top j,h*36
         font_name j,"Arial Black"
         font_color j,255,255,255
         font_bold j
         font_size j,24
         caption j," "+str$(h)
         h=h+1
      next j

   next i

end_sub
Appuyez sur ESC pour arrêter le programme.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1109
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 11:19

Voici une autre manière de s'en servir:
Code:
label tourne
dim u,i

init()
u=50
button 99:caption 99,"CLIC = +1":on_click 99,tourne
left 99,(width(0)/2)-(width(99)/2)
END

tourne:
  for i= 1 to 9
      for u=50 to 59
        top u,top(u)-4
        if top(u)=-36 then top u,324
        if caption$(u)=" 9" and top(u)<4 then tourne()
      next u
      wait 10
  next i
return

sub tourne()
  dim_local d,c,m,dm
        for d=40 to 49
            top d,top(d)-4
            if top(d)=-36 then top d,324
            if caption$(d)=" 9" and top(d)<4
              for c=30 to 39
                  top c,top(c)-4
                  if top(c)=-36 then top c,324
                  if caption$(c)=" 9" and top(c)<4
                    for m=20 to 29
                        top m,top(m)-4
                        if top(m)=-36 then top m,324
                        if caption$(m)=" 9" and top(m)<4
                          for dm=10 to 19
                              top dm,top(dm)-4
                              if top(dm)=-36 then top dm,324
                          next dm
                        end_if
                    next m
                  end_if
              next c
            end_if
        next d
end_sub

sub init()

  dim_local h,i,j
 
  border_small 0
  left 0,(screen_x/2)-(width(0)/2)
  caption 0,"Compteur"

  for i=1 to 5
      form i
      border_hide i
      color i,0,0,0
      width i,49
      height i,60
      left i,left(0)+(i*50)+130
      top i,(height(0)/2)-(height(i)/2)

      h=0

      for j=(i*10) to (i*10)+9
        alpha j
        parent j,i
        top j,h*36
        font_name j,"Arial Black"
        font_color j,255,255,255
        font_bold j
        font_size j,24
        caption j," "+str$(h)
        h=h+1
      next j

  next i

  top 0,top(5)+height(5)+5
  height 0,75
  width 0,250
  left 0,(screen_x/2)-(width(0)/2)+5
end_sub

Je pense que l'on pourrait même en faire une horloge!
A+  Wink Wink Wink 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5623
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 13:02

ça me rappelle ma vieille SIMCA 1100

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8011
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 24 Jan 2014 - 18:51

Très joli Bignono, j' espère seulement que tes compteurs tournent moins vite que ton premier code. Laughing 

Une idée pour les fans de jeux de casino, cela peut servir pour un jeu de "Bandit-manchot".... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5130
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 20:01

Une petite amélioration.
Code:
label tourne,vitesse
dim u,d,c,m,dm,me$,vit%
gosub vitesse
init()
timer 99 : timer_interval 99,vit% : on_timer 99,tourne

END

vitesse:
hide 0
me$=message_input$("0","entrez la vitesse (entre 1 et 100)","50")
if numeric(me$)=0 then goto vitesse
if vit%>100 then goto vitesse
vit%=val(me$):vit%=100-vit%
if vit%<=0 then vit%=1
return

tourne:
  timer_off 99
  if scancode=27 then terminate
  for u=50 to 59
      top u,top(u)-4
      if top(u)=-36 then top u,324
      if caption$(u)=" 9" and top(u)<4
        for d=40 to 49
            top d,top(d)-4
            if top(d)=-36 then top d,324
            if caption$(d)=" 9" and top(d)<4
              for c=30 to 39
                  top c,top(c)-4
                  if top(c)=-36 then top c,324
                  if caption$(c)=" 9" and top(c)<4
                    for m=20 to 29
                        top m,top(m)-4
                        if top(m)=-36 then top m,324
                        if caption$(m)=" 9" and top(m)<4
                          for dm=10 to 19
                              top dm,top(dm)-4
                              if top(dm)=-36 then top dm,324
                          next dm
                        end_if
                    next m
                  end_if
              next c
            end_if
        next d
      end_if
  next u
  timer_on 99
return

sub init()

  dim_local h,i,j

'  border_small 0
  left 0,(screen_x/2)-(width(0)/2)
'  caption 0,"Compteur"
  hide 0

  for i=1 to 5
      form i
      border_hide i
      color i,0,0,0
      width i,49
      height i,45
      left i,left(0)+(i*50)+130
      top i,(height(0)/2)-(height(i)/2)

      h=0

      for j=(i*10) to (i*10)+9
        alpha j
        parent j,i
        top j,h*36
        font_name j,"Arial Black"
        font_color j,255,0,255
        font_bold j
        font_size j,24
        caption j," "+str$(h)
        h=h+1
      next j

  next i

end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5623
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 21:20

Comme je n’aime pas les GOSUB et surtout les GOTO, voici ma modification du code de Jean Claude (belle rime, non ? le code de Jean Claude)

Code:
label tourne
dim u,d,c,m,dm,me$,vit%
vitesse()
init()
timer 99 : timer_interval 99,vit% : on_timer 99,tourne

END
rem ============================================================================
SUB vitesse()
    hide 0
    repeat
        repeat
             me$=message_input$("Entrez la vitesse","(entre 1 et 100)","50")
        until numeric(me$) > 0
    until (val(me$) > 0) and  (val(me$) <= 100)
    vit% = val(me$) : vit% = 100 - vit%
END_SUB
rem ============================================================================
tourne:
  timer_off 99
  if scancode=27 then terminate
  for u=50 to 59
      top u,top(u)-4
      if top(u)=-36 then top u,324
      if caption$(u)=" 9" and top(u)<4
        for d=40 to 49
            top d,top(d)-4
            if top(d)=-36 then top d,324
            if caption$(d)=" 9" and top(d)<4
              for c=30 to 39
                  top c,top(c)-4
                  if top(c)=-36 then top c,324
                  if caption$(c)=" 9" and top(c)<4
                    for m=20 to 29
                        top m,top(m)-4
                        if top(m)=-36 then top m,324
                        if caption$(m)=" 9" and top(m)<4
                          for dm=10 to 19
                              top dm,top(dm)-4
                              if top(dm)=-36 then top dm,324
                          next dm
                        end_if
                    next m
                  end_if
              next c
            end_if
        next d
      end_if
  next u
  timer_on 99
return

sub init()

  dim_local h,i,j

'  border_small 0
  left 0,(screen_x/2)-(width(0)/2)
'  caption 0,"Compteur"
  hide 0

  for i=1 to 5
      form i
      border_hide i
      color i,0,0,0
      width i,49
      height i,45
      left i,left(0)+(i*50)+130
      top i,(height(0)/2)-(height(i)/2)

      h=0

      for j=(i*10) to (i*10)+9
        alpha j
        parent j,i
        top j,h*36
        font_name j,"Arial Black"
        font_color j,255,0,255
        font_bold j
        font_size j,24
        caption j," "+str$(h)
        h=h+1
      next j

  next i

end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 5130
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 22:23

C'est clair, c'est bien plus propre comme code.

Je dois dire que je l'ai fait vite fait (et mal fait)

A+

Au passage: la rime  Question Question Question Question Question 
Est-ce une question d'accent  Question 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5876
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Compteur mécanique   Sam 25 Jan 2014 - 3:52

Très joli Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1109
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Compteur mécanique   Sam 25 Jan 2014 - 9:29

Oui Ygeronimi, je cherche le moyen de pouvoir réaliser un bandit manchot dans l'avenir. Donc j'explore des pistes. Au début j'ai voulu utiliser les nouveaux objets "panel" à la place des "form". mais c'était beaucoup plus lent.
A+ Wink Wink Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Compteur mécanique   

Revenir en haut Aller en bas
 
Compteur mécanique
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» compteur php dans page générée par e-anim
» Compteur à rebours
» Signalisation mécanique.
» [Tjaak School] Créer un compteur de durée de vie
» compteur [RESOLU]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: