begin process at 2012 05 25 05:50:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Python

 > 

Archives

 > 

Au secours !!!

 > 

py2exe je ne vois pas comment ??


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

py2exe je ne vois pas comment ??

jeudi 23 mars 2006 à 14:40:32 | py2exe je ne vois pas comment ??

xilure

j'ai beau essaillé mais je n'arrive pas à  transformer mes sriptes en executable pour windows
alors voila je vous presente un scripte et est ce que l'un de vous pourait me le compiler  et me le renvoyer ??
merci d'avance
voila le scripte
###############################################################Debut
from Tkinter import*
import Pmw
from random import randrange
from math import*
import tkMessageBox
import sys
import os
import pickle

#######################################################
def graphee():
    global graphe,graphe1,gg,feb2,rebondinstant
    graphe1=int(graphe.get())
    if graphe1==1:
        if len(rebondinstant)!=0:
            gg=1
            commentaire.configure(text='graphique créé',bg='blue')
            creat_graph()
    else:
        if len(rebondinstant)!=0:
            commentaire.configure(text='pas de graphique',bg='blue')
            fen2.destroy()
            gg=0

def creat_graph():
    global gg,boule,dialogue,diametre,nomboule,var,valuex,valuey,time,fen2,moyene,rebondmax,rebondinstant,timet
    if gg==0:
        can2.delete(ALL)
    if gg==1:
        fen2=Tk()
        fen2.title('Graphique a t='+str(var-5)+' secondes')
        can2=Canvas(fen2,width=500,height=500,bg='black')
        gg=2
        can2.grid(row=2,column=1,sticky=N)
       
 
    if gg==2:
        hau=0
        linered1=0
        can2.delete(ALL)
        can2.create_line (5,490,5,5,fill='blue')
        can2.create_line (5,490,500,490,fill='blue')
        for i in range(0,len(rebondinstant)):
            linered1=rebondinstant[i]
        linered=490/linered1
        hau=linered

        for i in range(0,linered):
            can2.create_line (0,hau,10,hau,fill='red')
            hau=hau+linered
        lar=0
        intercalex=0

        linered=500/(len(timet)+1)
        lar=linered
        for i in range(0,linered+1):
            can2.create_line (lar,495,lar,485,fill='red')
            lar=lar+linered
        gh=0
        hau=0
        j=len(rebondinstant)-1
        while gh<len(timet):
            hau=hau+linered
            can2.create_oval(hau,490-(rebondinstant[gh]*490/linered1),hau+2,490-(rebondinstant[gh]*490/linered1)+2,fill='red',width=1)
            if gh==0:
                can2.create_line(5,490,hau+4,490-(rebondinstant[gh]*490/linered1)+4,fill='green',width=1)
            else:
                can2.create_line(hau-linered+2,490-(rebondinstant[gh-1]*490/linered1)+2,hau+2,490-(rebondinstant[gh]*490/linered1)+2,fill='green',width=1)
            gh=gh+1
       
               
        fen2.mainloop()
       
                           


 


def gravitee():
    global gravite1,gravite
    gravite1=int(gravite.get())
    if gravite1==1:
        commentaire.configure(text='gravité activés',bg='red')
    else:
        commentaire.configure(text='pas de gravité',bg='blue')

def frote():
    global frot,frotement,s2
    frot=int(frotement.get())
    if frot==0:
        commentaire.configure(text='frotements desactivés',bg='blue')
        s2.destroy()
    else:
        commentaire.configure(text='frotements activés',bg='red')
        s2=Scale(can1,label='force de frotement',bg='dark red',state=ACTIVE,orient=HORIZONTAL,font=('trebuchtet',7,'bold'),fg='white', from_=1010, to =990,command=frotementss)
        s2.pack(padx=5,pady=5,side=BOTTOM)
        s2.set(1)


def pause():
    global statue
    if statue==1:
        statue=0
        commentaire.configure(text='Pause enlevée',bg='light blue')
        Bouton_pause.configure(text='pause')
        _lancer()
    elif statue==0:
        statue=1
        Bouton_lancer.configure(state=DISABLED)
        Bouton_pause.configure(text='retirer pause')
        commentaire.configure(text='Pause',bg='red')
       
       
def _lancer():
    global statue,x,y,savex,savey,gravite1,couleur,coulchoix,Masse,diametret,boule,dialogue,diametre,H,L,h,l,g,nomboule,var,valuex,valuey,time,nombreaplacer,vitessex,vitessey,frot,frotvalue,rebondc,dgrx,drgy,line1,line,couleur,nrline,angx,angy,hfirste,rebondinstant,timet
    Bouton_lancer.configure(state=DISABLED)
    Bouton_pause.configure(state=ACTIVE)
    if gravite1==0:
        if frot==0:
            for i in range(0,len(boule)):
                savex[i],savey[i]=x[i],y[i]
                x[i],y[i]=x[i]+vitessex[i],y[i]+vitessey[i]
                if x[i]>=(H-(diametre/2)):vitessex[i],rebondc=-vitessex[i],rebondc+1
                if x[i]<=(diametre/4):vitessex[i],rebondc=-vitessex[i],rebondc+1
                if y[i]>=(L-(diametre/2)):vitessey[i],rebondc=-vitessey[i],rebondc+1
                if y[i]<=(diametre/4):vitessey[i],rebondc=-vitessey[i],rebondc+1
                for j in range (0,len(boule)):
                    if j!=i:
                        d=sqrt((-x[i]+x[j])**2+(-y[i]+y[j])**2)
                        if d<=diametre/2:vitessex[i],vitessey[i],vitessey[j],vitessex[j],rebondc=vitessex[j],vitessey[j],vitessey[i],vitessex[i],rebondc+1
                    can.coords(boule[i],x[i],y[i],x[i]+(diametre/2),y[i]+(diametre/2))

        elif frot==1:
            for i in range(0,len(boule)):
                savex[i],savey[i]=x[i],y[i]
                x[i],y[i]=x[i]+vitessex[i],y[i]+vitessey[i]
                if x[i]>=(H-(diametre/2)):vitessex[i],rebondc=-vitessex[i]*frotvalue,rebondc+1
                if x[i]<=(diametre/4):vitessex[i],rebondc=-vitessex[i]*frotvalue,rebondc+1
                if y[i]>=(L-(diametre/2)):vitessey[i],rebondc=-vitessey[i]*frotvalue,rebondc+1
                if y[i]<=(diametre/4):vitessey[i],rebondc=-vitessey[i]*frotvalue,rebondc+1
                vitessex[i],vitessey[i]=vitessex[i]*frotvalue,vitessey[i]*frotvalue
                for j in range (0,len(boule)):
                    if j!=i:
                        d=sqrt((-x[i]+x[j])**2+(-y[i]+y[j])**2)
                        if d<=diametre/2:vitessex[i],vitessey[i],vitessey[j],vitessex[j],rebondc=vitessex[j]*frotvalue,vitessey[j]*frotvalue,vitessey[i]*frotvalue,vitessex[i]*frotvalue,rebondc+1
                for h in range (0,len(boule)):
                    if -0.3>vitessex[h]>0.3 or -0.3>vitessey[h]>0.3:vitessex[h],vitessey[h]=0,0
                    can.coords(boule[i],x[i],y[i],x[i]+(diametre/2),y[i]+(diametre/2))

    elif gravite1==1:
        if frot==0:
            for i in range(0,len(boule)):
               
                for j in range(0,len(boule)):
                    if j!=i:

                       
                        d=sqrt((-x[i]+x[j])**2+(-y[i]+y[j])**2)
                        f=d

                        if d>diametre/2:
                            vitessex[i],vitessey[i]=vitessex[i]-(vitessex[j]/f),vitessey[i]-(vitessey[j]/f)
                        elif d<=diametre/2:
                            vitessex[i],vitessey[i],vitessex[j],vitessey[j]=vitessex[j]-vitessex[i],vitessey[j]-vitessex[i],vitessex[j]-vitessex[i],vitessey[j]-vitessex[i]
                if x[i]>=(H-(diametre/2)):vitessex[i],rebondc=-vitessex[i],rebondc+1
                if x[i]<=(diametre/4):vitessex[i],rebondc=-vitessex[i],rebondc+1
                if y[i]>=(L-(diametre/2)):vitessey[i],rebondc=-vitessey[i],rebondc+1
                if y[i]<=(diametre/4):vitessey[i],rebondc=-vitessey[i],rebondc+1
                x[i],y[i]=x[i]+vitessex[i],y[i]+vitessey[i]
                can.coords(boule[i],x[i],y[i],x[i]+(diametre/2),y[i]+(diametre/2))

        elif frot==1:
           
            for i in range(0,len(boule)):
               
                for j in range(0,len(boule)):
                    if j!=i:

                       
                        d=sqrt((-x[i]+x[j])**2+(-y[i]+y[j])**2)
                        f=d

                        if d>diametre/2:
                            vitessex[i],vitessey[i]=vitessex[i]-(vitessex[j]/f),vitessey[i]-(vitessey[j]/f)
                        elif d<=diametre/2:
                            vitessex[i],vitessey[i],vitessex[j],vitessey[j]=vitessex[j]-vitessex[i],vitessey[j]-vitessex[i],vitessex[j]-vitessex[i],vitessey[j]-vitessex[i]
                if x[i]>=(H-(diametre/2)):vitessex[i],rebondc=-vitessex[i]*frotvalue,rebondc+1
                if x[i]<=(diametre/4):vitessex[i],rebondc=-vitessex[i]*frotvalue,rebondc+1
                if y[i]>=(L-(diametre/2)):vitessey[i],rebondc=-vitessey[i]*frotvalue,rebondc+1
                if y[i]<=(diametre/4):vitessey[i],rebondc=-vitessey[i]*frotvalue,rebondc+1
                x[i],y[i]=x[i]+vitessex[i]*frotvalue,y[i]+vitessey[i]*frotvalue
                can.coords(boule[i],x[i],y[i],x[i]+(diametre/2),y[i]+(diametre/2))

    if var-0.01<time<var+0.01:
        rebondinstant,timet=rebondinstant+[rebondc],timet+[var]
        commentaire.configure(text='nombre de rebonds depuis \n'+str(var)+' secondes : \n'+str(rebondc)+'\nsoit :\n'+str(rebondc/(var))+'\n rebonds par seconde',bg='yellow')
        var=var+5

   
    if statue==0:
        time=time+0.01
        fen.after(10,_lancer)
       
def evaluer(x):
    global nombreaplacer
    nombreaplacer=x
    Bouton_placer.configure(text='Placer: '+str(nombreaplacer)+" boules")
    commentaire.configure(text='il y aura: '+str(nombreaplacer)+" boules",bg='light blue')


   
       

def placer():
    global x,y,savex,savey,couleur,coulchoix,boule,dialogue,diametre,H,L,nomboule,nombreaplacer,vitessex,vitessey,diametret
    a=0
    if int(nombreaplacer)!=0:
        nomboule=a
        Bouton_placer.configure(state=DISABLED)
        while a!=int(nombreaplacer):
            xplace,yplace=randrange(diametre+20,H-20),randrange(diametre+20,L-20)
            if a!=0:
                for i in range(0,len(boule)):
                    b=0
                    while b!=1:
                        if x[i]-(diametre/2)-1<xplace<x[i]+(diametre/2)+1:
                            xplace=randrange(diametre+20,H-20)
                        else:b=1
                    b=0
                    while b!=1:
                        if y[i]-(diametre/2)-1<yplace<y[i]+(diametre/2)+1:
                            yplace=randrange(diametre+20,L-20)
                        else:b=1
                           
                       
                                   
            x,y=x+[xplace],y+[yplace]
            savex,savey=savex+[xplace],savey+[yplace]
            coul=couleur[randrange(0,len(couleur))]
            vitessex=vitessex+[randrange(-6,6)]
            vitessey=vitessey+[randrange(-6,6)]

            boule=boule+[can.create_oval(x[a],y[a],x[a]+(diametre/2),y[a]+(diametre/2),fill=coul)]
            a=a+1
            commentaire.configure(text='il y a: '+str(len(boule))+" boules",bg='light blue')
        Bouton_lancer.configure(state=ACTIVE)
        s1.configure(state=DISABLED)
    else:
        commentaire.configure(text="on ne peut placer plus de 0 boules",bg='red')
   
   

def quit():
    response=tkMessageBox.askyesno('Quitter', "Voulez vous vraiment quitter ?")
    commentaire.configure(text="Vous nous quittez ?",bg='red')
    if response==1:

        fen.destroy()
       
    else:
        commentaire.configure(text="Vous restez avec nous",bg='blue')

def frotementss(x):
    global frotvalue
    frotvalue1=int(x)
    frotvalue=frotvalue1/1000.
    if frotvalue==1:
        commentaire.configure(text='frotement à : '+str(frotvalue)+' aucun frotement',bg='light blue')
    elif frotvalue<1:
        commentaire.configure(text='frotement à : '+str(frotvalue)+' la vitesse diminue',bg='light blue')
    elif frotvalue>1:
        commentaire.configure(text='frotement à : '+str(frotvalue)+' la vitesse augmente',bg='light blue')
   
def inite():
    global x,y,savex,savey,vitessey,vitessex,H,L,boule,rebondc,dialogue,angx,angy,frotvalue,statue,nombreaplacer,frot,hfirste,var,time,valuex,valuey,h,l,rebondinstant,timet,Masse,diametret,rebondmax,moyene,drgy,drgx,gg,gravit1,diametre,graphe1
    can.delete(ALL)

    graphe1=0
    diametre=40
    gravite1=0
    gg=0
    dgrx=0.0
    drgy=0.0
    moyene=[0]
    rebondmax=0
    diametret=[]
    Masse=6000
    rebondinstant,timet=[],[]
    h=[]
    l=[]
    valuex,valuey=[],[]
    time=0
    var=5.0
    hfirste=[]
    frot=0
    nombreaplacer=0
    statue=0
    frotvalue=1000.
    angx=[]
    angy=[]
    dialogue='Commentaire : Aucun'
    rebondc=0
    boule=[]
    vitessex=[]
    vitessey=[]
    x,y,savex,savey=[],[],[],[]
    Bouton_placer.configure(state=ACTIVE)

    Bouton_pause.configure(state=DISABLED)
    s1.configure(state=ACTIVE)
    s2.configure(state=DISABLED)
    s1.set(0)
    s2.set(1000)

#######################################################


#######################################################
H=800
L=800
graphe1=0
diametre=40
gravite1=0
gg=0
dgrx=0.0
drgy=0.0
moyene=[0]
rebondmax=0
diametret=[]
Masse=6000
rebondinstant,timet=[],[]
h=[]
l=[]
g=9.8
valuex,valuey=[],[]
time=0
var=5.0
hfirste=[]
frot=0
nombreaplacer=0
statue=0
frotvalue=0
angx=[]
angy=[]
dialogue='Commentaire : Aucun'
rebondc=0
boule=[]
vitessex=[]
vitessey=[]
x,y,savex,savey=[],[],[],[]
couleur=["orange","blue","light blue","dark blue","red","dark red","green","light green","brown","pink","grey","dark grey","yellow","white","ivory"]
coulchoix=[]
sys.path[:0] = ['../../..']

#######################################################

fen=Tk()
fen.title('rebond')



can=Canvas(fen,width=L,height=H,bg='dark green')
can1=Canvas(fen,width=50,height=H,bg='dark red')



commentaire=Label(can1,text=dialogue,bg='light blue',font=('trebuchtet',10,'bold'))
commentaire.pack(padx=5,pady=5,side=BOTTOM)




graphe=IntVar()
c3=Checkbutton(can1,text='sans/avec graphique',font=('trebuchtet',8,'bold'),activeforeground="white",variable=graphe,fg='blue',bg='dark red',command=graphee).pack(padx=5,pady=5,side=BOTTOM)

frotement=IntVar()
c1=Checkbutton(can1,text='sans/avec frotement',font=('trebuchtet',8,'bold'),activeforeground="white",variable=frotement,fg='blue',bg='dark red',command=frote).pack(padx=5,pady=5,side=BOTTOM)

gravite=IntVar()
c2=Checkbutton(can1,text='sans/avec gravité',font=('trebuchtet',8,'bold'),activeforeground="white",variable=gravite,fg='blue',bg='dark red',command=gravitee).pack(padx=5,pady=5,side=BOTTOM)



s1=Scale(can1,label='nombre de boules',orient=HORIZONTAL,bg='dark red',font=('trebuchtet',7,'bold'),fg='white', from_=50, to =0,command=evaluer)
s1.pack(padx=5,pady=5,side=BOTTOM)
s1.set(0)

Bouton_pause=Button(can1,text='Pause',height=2,width=25,state=DISABLED,relief=GROOVE,bg="white",activebackground="dark green",activeforeground="white",font=('trebuchtet',8,'bold'),command=pause)
Bouton_pause.pack(padx=5,pady=5,side=BOTTOM)

Bouton_lancer=Button(can1,text='Lancer',height=2,state=DISABLED,width=25,relief=GROOVE,bg="white",activebackground="dark green",activeforeground="white",font=('trebuchtet',8,'bold'),command=_lancer)
Bouton_lancer.pack(padx=5,pady=5,side=BOTTOM)

Bouton_placer=Button(can1,text='Placer: '+str(nombreaplacer)+" boules",height=2,width=25,relief=GROOVE,bg="white",activebackground="dark green",activeforeground="white",font=('trebuchtet',8,'bold'),command=placer)
Bouton_placer.pack(padx=5,pady=5,side=BOTTOM)

coulm=Menubutton(text='fichiers',font=('trebuchtet',11,'bold'))
coulm.grid(row=0,sticky=E)
m1=Menu(coulm)
m1.add_command(label='initialiser',font=('trebuchtet',11,'bold'),underline=1,command=inite)
m1.add_command(label='Quitter',font=('trebuchtet',11,'bold'),underline=1,command=quit)
coulm.configure(menu=m1)

tip1=Pmw.Balloon()
tip1.bind(commentaire,"ici apparait les commentaires de vos experiences")


tip5=Pmw.Balloon()
tip5.bind(Bouton_pause,"pause: l'appliquation est stopée")
tip6=Pmw.Balloon()
tip6.bind(Bouton_lancer,"mettre les boules en mouvement")
tip7=Pmw.Balloon()
tip7.bind(Bouton_placer,"mettre les boules en position")
tip8=Pmw.Balloon()
tip8.bind(s1,"choisire le nombre de balle")

can.grid(row=1,column=0,rowspan=2)
can1.grid(row=1,column=1,sticky=N)
fen.mainloop()
######################################################################FIN
si vous voulez je peux vous envoyer le scripte sur une adresse e mail car le message fais sauter des lignes là ou il ne faut pas
voila la mienne :
romain.picoletspr@laposte.net
voila et n'esitez pas à me contacter

merci a+

jeudi 23 mars 2006 à 14:41:43 | Re : py2exe je ne vois pas comment ??

xilure

non excsez moi mais occune ligne n'a sauté

bon a+ quand meme

jeudi 23 mars 2006 à 15:10:34 | Re : py2exe je ne vois pas comment ??

xilure

je ne vois pas comment editer alors je vous renvois le script d'en haut mais le bon l'autre n'est pas celui que je veux compiler
merci et encore excusez moi


from Tkinter import*
import Pmw
from random import randrange
from math import*
import tkMessageBox
import sys
import os
import pickle

#######################################################
def graphee():
    global graphe,graphe1,gg,feb2,rebondinstant
    graphe1=int(graphe.get())
    if graphe1==1:
        if len(rebondinstant)!=0:
            gg=1
            commentaire.configure(text='graphique créé',bg='blue')
            creat_graph()
    else:
        if len(rebondinstant)!=0:
            commentaire.configure(text='pas de graphique',bg='blue')
            fen2.destroy()
            gg=0

def creat_graph():
    global coulgraph,coulmc,gg,boule,dialogue,diametre,nomboule,var,valuex,valuey,time,fen2,moyene,rebondmax,rebondinstant,timet
    if gg==0:
        can2.delete(ALL)
    if gg==1:
        fen2=Tk()
        fen2.title('Graphique a t='+str(var-5)+' secondes')
        can2=Canvas(fen2,width=500,height=500,bg='black')
        gg=2
        can2.grid(row=2,column=1,sticky=N)
       
 
    if gg==2:
        hau=0
        linered1=0
        can2.delete(ALL)
        can2.create_line (5,490,5,5,fill='blue')
        can2.create_line (5,490,500,490,fill='blue')
        for i in range(0,len(rebondinstant)):
            linered1=rebondinstant[i]
        linered=490/linered1
        hau=linered

        for i in range(0,linered):
            can2.create_line (0,hau,10,hau,fill='red')
            hau=hau+linered
        lar=0
        intercalex=0

        linered=500/(len(timet)+1)
        lar=linered
        for i in range(0,linered+1):
            can2.create_line (lar,495,lar,485,fill='red')
            lar=lar+linered
        gh=0
        hau=0
        j=len(rebondinstant)-1
        while gh<len(timet):
            hau=hau+linered
            can2.create_oval(hau,490-(rebondinstant[gh]*490/linered1),hau+2,490-(rebondinstant[gh]*490/linered1)+2,fill='red',width=1)
            if gh==0:
                can2.create_line(5,490,hau+4,490-(rebondinstant[gh]*490/linered1)+4,fill='light blue',width=1)
            else:
                can2.create_line(hau-linered+2,490-(rebondinstant[gh-1]*490/linered1)+2,hau+2,490-(rebondinstant[gh]*490/linered1)+2,fill=coulgraph[coulmc[gh]],width=1)
            gh=gh+1
       
               
        fen2.mainloop()
       
                           


 


def gravitee():
    global gravite1,gravite
    gravite1=int(gravite.get())
    if gravite1==1:
        commentaire.configure(text='gravité activés',bg='red')
    else:
        commentaire.configure(text='pas de gravité',bg='blue')

def frote():
    global frot,frotement,s2
    frot=int(frotement.get())
    if frot==0:
        commentaire.configure(text='frotements desactivés',bg='blue')
        s2.destroy()
    else:
        commentaire.configure(text='frotements activés',bg='red')
        s2=Scale(can1,label='force de frotement',bg='dark red',state=ACTIVE,orient=HORIZONTAL,font=('trebuchtet',7,'bold'),fg='white', from_=1010, to =990,command=frotementss)
        s2.pack(padx=5,pady=5,side=BOTTOM)
        s2.set(1)


def pause():
    global statue
    if statue==1:
        statue=0
        commentaire.configure(text='Pause enlevée',bg='light blue')
        Bouton_pause.configure(text='pause')
        _lancer()
    elif statue==0:
        statue=1
        Bouton_lancer.configure(state=DISABLED)
        Bouton_pause.configure(text='retirer pause')
        commentaire.configure(text='Pause',bg='red')
       
       
def _lancer():
    global coulgraph,coulmc,statue,x,y,savex,savey,gravite1,couleur,coulchoix,Masse,diametret,boule,dialogue,diametre,H,L,h,l,g,nomboule,var,valuex,valuey,time,nombreaplacer,vitessex,vitessey,frot,frotvalue,rebondc,dgrx,drgy,line1,line,couleur,nrline,angx,angy,hfirste,rebondinstant,timet
    Bouton_lancer.configure(state=DISABLED)
    Bouton_pause.configure(state=ACTIVE)
    if gravite1==0:
        if frot==0:
            for i in range(0,len(boule)):
                savex[i],savey[i]=x[i],y[i]
                x[i],y[i]=x[i]+vitessex[i],y[i]+vitessey[i]
                if x[i]>=(H-(diametre/2)):vitessex[i],rebondc=-vitessex[i],rebondc+1
                if x[i]<=(diametre/4):vitessex[i],rebondc=-vitessex[i],rebondc+1
                if y[i]>=(L-(diametre/2)):vitessey[i],rebondc=-vitessey[i],rebondc+1
                if y[i]<=(diametre/4):vitessey[i],rebondc=-vitessey[i],rebondc+1
                for j in range (0,len(boule)):
                    if j!=i:
                        d=sqrt((-x[i]+x[j])**2+(-y[i]+y[j])**2)
                        if d<=diametre/2:vitessex[i],vitessey[i],vitessey[j],vitessex[j],rebondc=vitessex[j],vitessey[j],vitessey[i],vitessex[i],rebondc+1
                    can.coords(boule[i],x[i],y[i],x[i]+(diametre/2),y[i]+(diametre/2))

        elif frot==1:
            for i in range(0,len(boule)):
                savex[i],savey[i]=x[i],y[i]
                x[i],y[i]=x[i]+vitessex[i],y[i]+vitessey[i]
                if x[i]>=(H-(diametre/2)):vitessex[i],rebondc=-vitessex[i]*frotvalue,rebondc+1
                if x[i]<=(diametre/4):vitessex[i],rebondc=-vitessex[i]*frotvalue,rebondc+1
                if y[i]>=(L-(diametre/2)):vitessey[i],rebondc=-vitessey[i]*frotvalue,rebondc+1
                if y[i]<=(diametre/4):vitessey[i],rebondc=-vitessey[i]*frotvalue,rebondc+1
                vitessex[i],vitessey[i]=vitessex[i]*frotvalue,vitessey[i]*frotvalue
                for j in range (0,len(boule)):
                    if j!=i:
                        d=sqrt((-x[i]+x[j])**2+(-y[i]+y[j])**2)
                        if d<=diametre/2:vitessex[i],vitessey[i],vitessey[j],vitessex[j],rebondc=vitessex[j]*frotvalue,vitessey[j]*frotvalue,vitessey[i]*frotvalue,vitessex[i]*frotvalue,rebondc+1
                for h in range (0,len(boule)):
                    if -0.3>vitessex[h]>0.3 or -0.3>vitessey[h]>0.3:vitessex[h],vitessey[h]=0,0
                    can.coords(boule[i],x[i],y[i],x[i]+(diametre/2),y[i]+(diametre/2))

    elif gravite1==1:
        if frot==0:
            for i in range(0,len(boule)):
               
                for j in range(0,len(boule)):
                    if j!=i:

                       
                        d=sqrt((-x[i]+x[j])**2+(-y[i]+y[j])**2)
                        f=d

                        if d>diametre/2:
                            vitessex[i],vitessey[i]=vitessex[i]-(vitessex[j]/f),vitessey[i]-(vitessey[j]/f)
                        elif d<=diametre/2:
                            vitessex[i],vitessey[i],vitessex[j],vitessey[j]=vitessex[j]-vitessex[i],vitessey[j]-vitessex[i],vitessex[j]-vitessex[i],vitessey[j]-vitessex[i]
                if x[i]>=(H-(diametre/2)):vitessex[i],rebondc=-vitessex[i],rebondc+1
                if x[i]<=(diametre/4):vitessex[i],rebondc=-vitessex[i],rebondc+1
                if y[i]>=(L-(diametre/2)):vitessey[i],rebondc=-vitessey[i],rebondc+1
                if y[i]<=(diametre/4):vitessey[i],rebondc=-vitessey[i],rebondc+1
                x[i],y[i]=x[i]+vitessex[i],y[i]+vitessey[i]
                can.coords(boule[i],x[i],y[i],x[i]+(diametre/2),y[i]+(diametre/2))

        elif frot==1:
           
            for i in range(0,len(boule)):
               
                for j in range(0,len(boule)):
                    if j!=i:

                       
                        d=sqrt((-x[i]+x[j])**2+(-y[i]+y[j])**2)
                        f=d

                        if d>diametre/2:
                            vitessex[i],vitessey[i]=vitessex[i]-(vitessex[j]/f),vitessey[i]-(vitessey[j]/f)
                        elif d<=diametre/2:
                            vitessex[i],vitessey[i],vitessex[j],vitessey[j]=vitessex[j]-vitessex[i],vitessey[j]-vitessex[i],vitessex[j]-vitessex[i],vitessey[j]-vitessex[i]
                if x[i]>=(H-(diametre/2)):vitessex[i],rebondc=-vitessex[i]*frotvalue,rebondc+1
                if x[i]<=(diametre/4):vitessex[i],rebondc=-vitessex[i]*frotvalue,rebondc+1
                if y[i]>=(L-(diametre/2)):vitessey[i],rebondc=-vitessey[i]*frotvalue,rebondc+1
                if y[i]<=(diametre/4):vitessey[i],rebondc=-vitessey[i]*frotvalue,rebondc+1
                x[i],y[i]=x[i]+vitessex[i]*frotvalue,y[i]+vitessey[i]*frotvalue
                can.coords(boule[i],x[i],y[i],x[i]+(diametre/2),y[i]+(diametre/2))

    if var-0.01<time<var+0.01:
        rebondinstant,timet=rebondinstant+[rebondc],timet+[var]
        commentaire.configure(text='nombre de rebonds depuis \n'+str(var)+' secondes : \n'+str(rebondc)+'\nsoit :\n'+str(rebondc/(var))+'\n rebonds par seconde',bg='yellow')
        var=var+5
        if frot==1 and gravite1==0:
            coulmc=coulmc+[1]
        if frot==0 and gravite1==1:
            coulmc=coulmc+[2]
        if frot==1 and gravite1==1:
            coulmc=coulmc+[3]
        if frot==0 and gravite1==0:
            coulmc=coulmc+[0]

   
    if statue==0:
        time=time+0.01
        fen.after(10,_lancer)
       
def evaluer(x):
    global nombreaplacer
    nombreaplacer=x
    Bouton_placer.configure(text='Placer: '+str(nombreaplacer)+" boules")
    commentaire.configure(text='il y aura: '+str(nombreaplacer)+" boules",bg='light blue')


   
       

def placer():
    global x,y,savex,savey,couleur,coulchoix,boule,dialogue,diametre,H,L,nomboule,nombreaplacer,vitessex,vitessey,diametret
    a=0
    if int(nombreaplacer)!=0:
        nomboule=a
        Bouton_placer.configure(state=DISABLED)
        while a!=int(nombreaplacer):
            xplace,yplace=randrange(diametre+20,H-20),randrange(diametre+20,L-20)
            if a!=0:
                for i in range(0,len(boule)):
                    b=0
                    while b!=1:
                        if x[i]-(diametre/2)-1<xplace<x[i]+(diametre/2)+1:
                            xplace=randrange(diametre+20,H-20)
                        else:b=1
                    b=0
                    while b!=1:
                        if y[i]-(diametre/2)-1<yplace<y[i]+(diametre/2)+1:
                            yplace=randrange(diametre+20,L-20)
                        else:b=1
                           
                       
                                   
            x,y=x+[xplace],y+[yplace]
            savex,savey=savex+[xplace],savey+[yplace]
            coul=couleur[randrange(0,len(couleur))]
            vitessex=vitessex+[randrange(-6,6)]
            vitessey=vitessey+[randrange(-6,6)]

            boule=boule+[can.create_oval(x[a],y[a],x[a]+(diametre/2),y[a]+(diametre/2),fill=coul)]
            a=a+1
            commentaire.configure(text='il y a: '+str(len(boule))+" boules",bg='light blue')
        Bouton_lancer.configure(state=ACTIVE)
        s1.configure(state=DISABLED)
    else:
        commentaire.configure(text="on ne peut placer plus de 0 boules",bg='red')
   
   

def quit():
    response=tkMessageBox.askyesno('Quitter', "Voulez vous vraiment quitter ?")
    commentaire.configure(text="Vous nous quittez ?",bg='red')
    if response==1:

        fen.destroy()
       
    else:
        commentaire.configure(text="Vous restez avec nous",bg='blue')

def frotementss(x):
    global frotvalue
    frotvalue1=int(x)
    frotvalue=frotvalue1/1000.
    if frotvalue==1:
        commentaire.configure(text='frotement à : '+str(frotvalue)+' aucun frotement',bg='light blue')
    elif frotvalue<1:
        commentaire.configure(text='frotement à : '+str(frotvalue)+' la vitesse diminue',bg='light blue')
    elif frotvalue>1:
        commentaire.configure(text='frotement à : '+str(frotvalue)+' la vitesse augmente',bg='light blue')
   
def inite():
    global coulgraph,coulm,x,y,savex,savey,vitessey,vitessex,H,L,boule,rebondc,dialogue,angx,angy,frotvalue,statue,nombreaplacer,frot,hfirste,var,time,valuex,valuey,h,l,rebondinstant,timet,Masse,diametret,rebondmax,moyene,drgy,drgx,gg,gravit1,diametre,graphe1
    can.delete(ALL)

    graphe1=0
    diametre=40
    gravite1=0
    coulgraph,coulmc=['green','red','yellow','orange'],[]
    gg=0
    dgrx=0.0
    drgy=0.0
    moyene=[0]
    rebondmax=0
    diametret=[]
    Masse=6000
    rebondinstant,timet=[],[]
    h=[]
    l=[]
    valuex,valuey=[],[]
    time=0
    var=5.0
    hfirste=[]
    frot=0
    nombreaplacer=0
    statue=0
    frotvalue=1000.
    angx=[]
    angy=[]
    dialogue='Commentaire : Aucun'
    rebondc=0
    boule=[]
    vitessex=[]
    vitessey=[]
    x,y,savex,savey=[],[],[],[]
    Bouton_placer.configure(state=ACTIVE)

    Bouton_pause.configure(state=DISABLED)
    s1.configure(state=ACTIVE)
    s2.configure(state=DISABLED)
    s1.set(0)
    s2.set(1000)

#######################################################


#######################################################
H=800
L=800
graphe1=0
diametre=40
gravite1=0
coulgraph=['green','red','yellow','orange']
coulmc=[]
gg=0
dgrx=0.0
drgy=0.0
moyene=[0]
rebondmax=0
diametret=[]
Masse=6000
rebondinstant,timet=[],[]
h=[]
l=[]
g=9.8
valuex,valuey=[],[]
time=0
var=5.0
hfirste=[]
frot=0
nombreaplacer=0
statue=0
frotvalue=0
angx=[]
angy=[]
dialogue='Commentaire : Aucun'
rebondc=0
boule=[]
vitessex=[]
vitessey=[]
x,y,savex,savey=[],[],[],[]
couleur=["orange","blue","light blue","dark blue","red","dark red","green","light green","brown","pink","grey","dark grey","yellow","white","ivory"]
coulchoix=[]
sys.path[:0] = ['../../..']

#######################################################

fen=Tk()
fen.title('rebond')



can=Canvas(fen,width=L,height=H,bg='dark green')
can1=Canvas(fen,width=50,height=H,bg='dark red')



commentaire=Label(can1,text=dialogue,bg='light blue',font=('trebuchtet',10,'bold'))
commentaire.pack(padx=5,pady=5,side=BOTTOM)




graphe=IntVar()
c3=Checkbutton(can1,text='sans/avec graphique',font=('trebuchtet',8,'bold'),activeforeground="white",variable=graphe,fg='blue',bg='dark red',command=graphee).pack(padx=5,pady=5,side=BOTTOM)

frotement=IntVar()
c1=Checkbutton(can1,text='sans/avec frotement',font=('trebuchtet',8,'bold'),activeforeground="white",variable=frotement,fg='blue',bg='dark red',command=frote).pack(padx=5,pady=5,side=BOTTOM)

gravite=IntVar()
c2=Checkbutton(can1,text='sans/avec gravité',font=('trebuchtet',8,'bold'),activeforeground="white",variable=gravite,fg='blue',bg='dark red',command=gravitee).pack(padx=5,pady=5,side=BOTTOM)



s1=Scale(can1,label='nombre de boules',orient=HORIZONTAL,bg='dark red',font=('trebuchtet',7,'bold'),fg='white', from_=50, to =0,command=evaluer)
s1.pack(padx=5,pady=5,side=BOTTOM)
s1.set(0)

Bouton_pause=Button(can1,text='Pause',height=2,width=25,state=DISABLED,relief=GROOVE,bg="white",activebackground="dark green",activeforeground="white",font=('trebuchtet',8,'bold'),command=pause)
Bouton_pause.pack(padx=5,pady=5,side=BOTTOM)

Bouton_lancer=Button(can1,text='Lancer',height=2,state=DISABLED,width=25,relief=GROOVE,bg="white",activebackground="dark green",activeforeground="white",font=('trebuchtet',8,'bold'),command=_lancer)
Bouton_lancer.pack(padx=5,pady=5,side=BOTTOM)

Bouton_placer=Button(can1,text='Placer: '+str(nombreaplacer)+" boules",height=2,width=25,relief=GROOVE,bg="white",activebackground="dark green",activeforeground="white",font=('trebuchtet',8,'bold'),command=placer)
Bouton_placer.pack(padx=5,pady=5,side=BOTTOM)

coulm=Menubutton(text='fichiers',font=('trebuchtet',11,'bold'))
coulm.grid(row=0,sticky=E)
m1=Menu(coulm)
m1.add_command(label='initialiser',font=('trebuchtet',11,'bold'),underline=1,command=inite)
m1.add_command(label='Quitter',font=('trebuchtet',11,'bold'),underline=1,command=quit)
coulm.configure(menu=m1)

tip1=Pmw.Balloon()
tip1.bind(commentaire,"ici apparait les commentaires de vos experiences")


tip5=Pmw.Balloon()
tip5.bind(Bouton_pause,"pause: l'appliquation est stopée")
tip6=Pmw.Balloon()
tip6.bind(Bouton_lancer,"mettre les boules en mouvement")
tip7=Pmw.Balloon()
tip7.bind(Bouton_placer,"mettre les boules en position")
tip8=Pmw.Balloon()
tip8.bind(s1,"choisire le nombre de balle")

can.grid(row=1,column=0,rowspan=2)
can1.grid(row=1,column=1,sticky=N)
fen.mainloop()

jeudi 23 mars 2006 à 15:26:43 | Re : py2exe je ne vois pas comment ??

xilure

encore le maivais
vraiment là désolé
bon je vais eviter de faitre trop de messages
voila il faut changer "frotvalue"  à la fin dans toutes les variable de depart et metre : " frotvalue=1"
de meme dans def inite():
excusez moi
(savez vous comment on edite des message si l'on peu)
(si je me troupe si souvent c'est que mon pc refuse que je renome les fichers en se moment et je ne sait pas pourquoi . )

vendredi 24 mars 2006 à 16:00:41 | Re : py2exe je ne vois pas comment ??

xilure

plus besoin d'aide merci


Cette discussion est classée dans : configure, bg, diametre, vitessex, vitessey


Répondre à ce message

Sujets en rapport avec ce message

Tkinter [ par mauro50 ] Bonjour,je crée actuellement un mastermind en python dans le cadre d'un projet. Je voudrais savoir si il est possible de changer la couleur du fond d' a propos de tkinter [ par isaaclamour ] bonjour les amis debutant en python je suis entrain de concevoir une application de telephonie sur ip jai donc realisé une interface graphique (avec d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales