'''
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