'''
Created on 27 dec.
2012
@author:
thierrykrebs
'''
# Ce code regroupe
les parties de codes#
#----------Import
des bibliotheques----------
from __future__
import division
from lycee import *
#from matplotlib
import *
from Tkinter import
*
import os
import os.path
rep = os.getcwd()
#----------Definit
le repertoire de travail----------
#os.chdir("/Volumes/DATA/Users/thierrykrebs/Documents/ownCloud/ISN")
os.chdir("C:\\Users\\thierry\\Documents\\programmation\\Python\\ISN")
# test Tkinter
parent='nom'
saisir='adefinir'
nomsdoublettes=''
def
repondre(parent,boutton):
Fenetre = Tk()
Fenetre.title(parent)
Fenetre.configure(bg='grey')
Fenetre.tk_focusFollowsMouse()
nom = Label(Fenetre, text = parent, bg='grey')
reponse=StringVar()
lareponse = Entry(textvariable=reponse,
bd=5,background='white',relief='sunken', width=50)
valeur = Button(Fenetre, text = boutton,bg='grey',justify='left',
command=Fenetre.quit)
affichage = Label(Fenetre,bg='grey', width=50)
nom.pack()
lareponse.pack()
valeur.pack()
affichage.pack()
Fenetre.mainloop()
saisir=lareponse.get()
Fenetre.destroy()
return saisir
def doublette(nbd):
nomd = nbd*['']
nomj = (nbd*2)*['']
prenom=(nbd*2)*['']
global nomsdoublettes
nomsdoublettes=''
#Boucle d'assignation des noms de chaques joueurs et des doublettes
inbd =0
for inbd in range(0,(nbd)):
iterateur_fichier = 1
parent='Nom du premier joueur de la doublette '+str(inbd+1)+" ?"
boutton='suivant >'
saisir=repondre(parent,boutton)
nomj[(inbd*2)]=saisir
print nomj[(inbd*2)]
parent='Prenom du premier joueur de la doublette '+str(inbd+1)+" ?"
boutton='suivant >'
saisir=repondre(parent,boutton)
prenom[(inbd*2)]=saisir
print prenom[(inbd*2)]
#Enregistrement joueur 1
joueur_a_enregistrer = nomj[(inbd*2)]
prenom_joueur=prenom[(inbd*2)]
while
(os.path.isfile("joueur_"+prenom_joueur+"_"+joueur_a_enregistrer+str(iterateur_fichier)+".txt")
== True):
iterateur_fichier = iterateur_fichier + 1#Tant qu'il existe un fichier:
joueurX.txt
fichier_travail =
open('joueur_'+prenom_joueur+"_"+joueur_a_enregistrer+str(iterateur_fichier)+'.txt','a')#Cree
et ouvre un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(joueur_a_enregistrer+";"+prenom_joueur)#Ecrire le
joueur dans le fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
parent='Nom du second joueur de la doublette '+str(inbd+1)+" ?"
boutton='suivant >'
saisir=repondre(parent,boutton)
nomj[(inbd*2+1)]=saisir
print nomj[(inbd*2+1)]
parent='Prenom du second joueur de la doublette '+str(inbd+1)+" ?"
boutton='suivant >'
saisir=repondre(parent,boutton)
prenom[(inbd*2+1)]=saisir
print prenom[(inbd*2+1)]
#Enregistrement joueur 2
joueur_a_enregistrer = nomj[(inbd*2+1)]
prenom_joueur=prenom[(inbd*2+1)]
while
(os.path.isfile("joueur_"+prenom_joueur+"_"+joueur_a_enregistrer+str(iterateur_fichier)+".txt")
== True):
iterateur_fichier = iterateur_fichier + 1#Tant qu'il existe un fichier:
joueurX.txt
fichier_travail =
open('joueur_'+prenom_joueur+"_"+joueur_a_enregistrer+str(iterateur_fichier)+'.txt','a')#Cree
et ouvre un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(joueur_a_enregistrer+";"+prenom_joueur)#Ecrire le
joueur dans le fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
#Enregistrement doublette
nomd[inbd] = nomj[(inbd*2)]+" - "+nomj[(inbd*2+1)]
doublette_a_enregistrer = nomd[(inbd)]
nomsdoublettes=nomsdoublettes+";"+nomd[inbd]
#print nomsdoublettes
iterateur_fichier = 1
while
(os.path.isfile("doublette_"+nomd[(inbd)]+str(iterateur_fichier)+".txt")
== True):
iterateur_fichier = iterateur_fichier + 1
fichier_travail =
open('doublette_'+nomd[(inbd)]+str(iterateur_fichier)+'.txt','a')#Cree
et ouvre un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(doublette_a_enregistrer+";"+prenom[(inbd*2)]+";"+nomj[(inbd*2)]+";"+prenom[(inbd*2+1)]+";"+nomj[(inbd*2+1)]+";")#Ecrire
le joueur dans le fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
#Fin enregistrement
return nomsdoublettes
#----------Initialisation
(p1)----------
#Initialisation des
informations relatives a la competition
#raw_input ("lieu")
parent='lieu'
boutton='suivant
>'
saisir=repondre(parent,boutton)
lieu=saisir
print lieu
iterateur_fichier =
1
while
(os.path.isfile("parcours_"+lieu+str(iterateur_fichier)+".txt") ==
True):
iterateur_fichier = iterateur_fichier + 1
fichier_travail
= open('parcours_'+lieu+str(iterateur_fichier)+'.txt','a')#Cree et
ouvre un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(lieu+";")#Ecrire
le joueur dans le fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
#nbtrou = input
("nombre de trou")
parent='nombre de
trous'
boutton='suivant
>'
saisir=repondre(parent,boutton)
nbtrou=int(float(saisir))
print nbtrou
fichier_travail
= open('parcours_'+lieu+str(iterateur_fichier)+'.txt','a')#Cree et
ouvre un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(str(nbtrou)+";")#Ecrire
le joueur dans le fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
#Boucle demande
pour chaque trou le par correspondant
partr = nbtrou*['']
i=0
while i <=
nbtrou-1:
parent='par du trou '+str(i+1)
boutton='suivant >'
saisir=repondre(parent,boutton)
partr[i] = int(float(saisir))
print partr[i]
fichier_travail =
open('parcours_'+lieu+str(iterateur_fichier)+'.txt','a')#Cree et ouvre
un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(str(partr[i])+" ; ")#Ecrire le joueur dans le
fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
i=i+1
#</endwhile>
#date = raw_input
("date")
parent='date'
boutton='suivant
>'
saisir=repondre(parent,boutton)
date=saisir
print date
#nbtr_jouer = input
("nombre de trou a jouer")
parent='nombre de
trous a jouer'
boutton='suivant
>'
saisir=repondre(parent,boutton)
nbtr_jouer=int(float(saisir))
print nbtr_jouer
#notr_depart =
input ("numero de trou de depart")
parent='numero du
trou de depart'
boutton='suivant
>'
saisir=repondre(parent,boutton)
notr_depart=int(float(saisir))
print notr_depart
#Selection du mode
de jeu
#modjeu = raw_input
("mode de jeu")
root = Tk()
v = IntVar()
v.set(1)
# initializing the choice, i.e. Python
modejeu = [
("individuel",1),
("doublettes",2),
("UNSS",3)
]
def ShowChoice():
modjeu=v.get()
return modjeu
Label(root,text="""choisissez
le type de competition:""",justify = LEFT,padx = 20).pack()
for txt, val in
modejeu:
Radiobutton(root,text=txt,indicatoron = 0,width = 20,padx =
20,variable=v,command=ShowChoice,value=val).pack(anchor=W)
Button(root, text =
boutton, command=root.quit).pack()
mainloop()
root.destroy()
#----------Gestion
du mode de jeu individuel (p2)----------
modjeu=ShowChoice()
print modjeu
if modjeu == 1
:#'individuel':
#nbj = input('quel est le nombre de joueur?:')
parent='Quel est le nombre de joueurs ? '
boutton='suivant >'
saisir=repondre(parent,boutton)
nbj = int(float(saisir))
print nbj
it = 1
while (os.path.isfile("partie_"+date+str(it)+".txt") == True):
it = it + 1
fichier_travail = open('partie_'+date+str(it)+'.txt','a')#Cree et ouvre
un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write("date "+date+" ; lieu "+lieu+" ; nombre de trou
"+str(nbtr_jouer)+" ; depart "+str(notr_depart)+" ; mod de jeu
"+str(modjeu)+" ; nombre de joueur "+str(nbj))#Ecrire le joueur dans le
fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
nomj = nbj*['']
prenom =nbj*['']
#Boucle d'assignation des noms de chaques joueurs
inbd =0
for inbd in range(0,(nbj)):
iterateur_fichier = 1
#nomj[(inbd)] = raw_input ("Nom du joueur"+str(inbd+1))
parent='Nom du joueur '+str(inbd+1)+" ?"
boutton='suivant >'
saisir=repondre(parent,boutton)
nomj[(inbd)]=saisir
print nomj[(inbd)]
parent='Prenom du joueur '+str(inbd+1)+" ?"
boutton='suivant >'
saisir=repondre(parent,boutton)
prenom[(inbd)]=saisir
print prenom[(inbd)]
#Enregistrement joueur
joueur_a_enregistrer = nomj[(inbd)]
prenom_joueur=prenom[(inbd)]
while
(os.path.isfile("joueur_"+prenom_joueur+"_"+joueur_a_enregistrer+str(iterateur_fichier)+".txt")
== True):
iterateur_fichier = iterateur_fichier + 1#Tant qu'il existe un fichier:
joueurX.txt
fichier_travail =
open('joueur_'+prenom_joueur+"_"+joueur_a_enregistrer+str(iterateur_fichier)+'.txt','a')#Cree
et ouvre un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(joueur_a_enregistrer+";"+prenom_joueur)#Ecrire le
joueur dans le fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
fichier_travail = open('partie_'+date+str(it)+'.txt','a')#Cree et ouvre
un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(prenom[(inbd)]+";"+nomj[(inbd)]+";")#Ecrire le
joueur dans le fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
#</endwhile>
#</endif>
#----------Gestion
du mode de jeu doublette (p3)----------
if modjeu == 2:
parent='Quel est le nombre de doublettes ? '
boutton='suivant >'
saisir=repondre(parent,boutton)
nbd = int(float(saisir))
print nbd
nomsdoublettes=doublette(nbd)
#equipe = nomsdoublettes
it = 1
while (os.path.isfile("partie_"+date+str(it)+".txt") == True):
it = it + 1
fichier_travail = open('partie_'+date+str(it)+'.txt','a')#Cree et ouvre
un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(date+";"+lieu+";"+str(nbtr_jouer)+";"+str(notr_depart)+";"+str(modjeu)+";"+str(nbd))
fichier_travail.close()
fichier_travail = open('partie_'+date+str(it)+'.txt','a')#Cree et ouvre
un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(nomsdoublettes)#Ecrire le joueur dans le fichier,
formater joueur_a_enregistrer avant
fichier_travail.close()
#</endwhile>
#</endif>
#----------Gestion
du mode de jeu equipe unss (p4)----------
if modjeu == 3:
parent='Quel est le nombre d equipes UNSS ?'
boutton='suivant >'
saisir=repondre(parent,boutton)
nombre_equipe = int(float(saisir))
print nombre_equipe
equipe = nombre_equipe*['']
parent='De combien de doublettes sont composees les equipes ?'
boutton='suivant >'
saisir=repondre(parent,boutton)
nbde = int(float(saisir))
print nbde
it = 1
while (os.path.isfile("partie_"+date+str(it)+".txt") == True):
it = it + 1
fichier_travail = open('partie_'+date+str(it)+'.txt','a')#Cree et ouvre
un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write("date "+date+" ; lieu "+lieu+" ; nombre de joueur
"+str(nbtr_jouer)+" ; depart "+str(notr_depart)+" ; mod de jeu
"+str(modjeu)+" ; nombre d'equie "+str(nombre_equipe)+"; nombre de
doublette "+str(nbde))
fichier_travail.close()
inbe =0
for inbe in range(0,(nombre_equipe)):
it2 = 1
parent='quel est le nom de l equipe '+str(inbe+1)+'?'
boutton='suivant >'
saisir=repondre(parent,boutton)
equipe[(inbe)] = saisir
print equipe[(inbe)]
nomsdoublettes=doublette(nbde)
while (os.path.isfile("equipe_"+equipe[(inbe)]+str(it2)+".txt") ==
True):
it2 = it2 + 1
fichier_travail =
open('equipe_'+equipe[(inbe)]+str(it2)+'.txt','a')#Cree et ouvre un
fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(equipe[(inbe)]+nomsdoublettes+";")
fichier_travail.close()
fichier_travail = open('partie_'+date+str(it)+'.txt','a')#Cree et ouvre
un fichier joueurX+1, avec X dernier joueur enregistre
fichier_travail.write(equipe[(inbe)]+";")#Ecrire le joueur dans le
fichier, formater joueur_a_enregistrer avant
fichier_travail.close()
#---------------------------
Fonction de gestion d'un trou ------------------------
def
GestionTrou(numTrou):
Fenetre = Tk()
Fenetre.title("Score du trou " + str(numTrou+1))
Fenetre.configure(bg='grey')
Fenetre.tk_focusFollowsMouse()
igt=0
labelj = nbj*['']
score = nbj*['']
scoreTrou = nbj*['']
saisi = nbj*['']
for igt in range(0,(nbj)):
labelj[igt] = Label(Fenetre, text = nomj[igt]+" "+prenom[igt],
bg='grey')
score[igt]=StringVar()
scoreTrou[igt] = Entry(textvariable=score[igt],
bd=5,background='white',relief='sunken', width=50)
labelj[igt].pack()
scoreTrou[igt].pack()
valeur = Button(Fenetre, text = "Valider",bg='grey',justify='left',
command=Fenetre.quit)
affichage = Label(Fenetre,bg='grey', width=50)
valeur.pack()
affichage.pack()
Fenetre.mainloop()
for igt in range(0,(nbj)):
saisi[igt]=scoreTrou[igt].get()
Fenetre.destroy()
return saisi
#------------------------
Gestion partie ----------------------------------------
scoreTrou = nbj*['']
ijeu = 0
for ijeu in
range(0,(nbtrou)):
scoreTrou[ijeu]=GestionTrou(ijeu)
fichier_travail =
open('parcours_'+lieu+str(iterateur_fichier)+'.txt','a')#ouvre et edite
fichier_travail.write(saisi+" ; ")#Ecrire le joueur dans le fichier,
formater joueur_a_enregistrer avant
fichier_travail.close()
ijeu = ijeu+1