
#creation d'un jeu
def nouveauJeu():
    t=['.']*9
    return tuple(t)

jeu=nouveauJeu()
print(jeu)

#afficher un jeu
def affiche(jeu):
    print (jeu[0],jeu[1],jeu[2])
    print (jeu[3],jeu[4],jeu[5])
    print (jeu[6],jeu[7],jeu[8])

affiche(jeu)

#retourner les coups
# tous les non '.'
def coupPossible(jeu):
    res=[];
    for i in range(9):
        if (jeu[i]=='.'):
            res+=[i]
    return(res)

print(coupPossible(nouveauJeu()))

#trouver le joueur
#en fonction de la difference 'X', 'O'
def joueur(jeu):
    joueurX=0
    joueurO=0
    for i in range(9):
        if (jeu[i]=='X'):
            joueurX=joueurX+1
    for i in range(9):
        if (jeu[i]=='O'):
            joueurO=joueurO+1
    if (joueurX==joueurO):
        return('X')
    else:
        return('O')
    
    
# jouer un coup
def jouer(jeu,num):
    res=list(jeu)
    coups=coupPossible(jeu)
    if (num in coups):
        res[num]=joueur(jeu)
    return(tuple(res))


jeu2=jouer(jeu,2)
print("*****jeu****")
affiche(jeu)
print("*****jeu2****")
affiche(jeu2)
print("*****jeu3****")
jeu3=jouer(jeu2,1)
affiche(jeu3)
    
print(coupPossible(jeu3))

#gagner/perdre
def resultat(jeu):
    res='.'
    if (jeu [0]!= '.' and jeu [0]== jeu [3]== jeu [6]):
        res=jeu [0]
    if (jeu [1]!= '.' and jeu [1]== jeu [4]== jeu [7]):
        res=jeu [1]
    if (jeu [2]!= '.' and jeu [2]== jeu [5]== jeu [8]):
        res=jeu [2]
    if (jeu [0]!= '.' and jeu [0]== jeu [1]== jeu [2]):
        res=jeu [0]
    if (jeu [4]!= '.' and jeu [4]== jeu [5]== jeu [3]):
        res=jeu [3]
    if (jeu [7]!= '.' and jeu [7]== jeu [8]== jeu [6]):
        res=jeu [6]
    if (jeu [0]!= '.' and jeu [0]== jeu [4]== jeu [8]):
        res=jeu [0]
    if (jeu [2]!= '.' and jeu [2]== jeu [4]== jeu [6]):
        res=jeu [2]
    if (res == 'O'):
        return ( -1)
    else:
        if res =='X':
            return (1)
    return (0)
    

