| davidmarli | Bonjour,
bon finalement, on peut "jouer" plutôt que de faire jouer l'ordinateur.
 
 On a pondu ça : ça focntionne.
 
 Il y a certainement moyen d'optimiser.
 
 
 | Code : 
 import randomdef init_tab(nbcase):    tab=[]    for i in range(nbcase):        tab.append([0] * nbcase)    for i in range(nbcase):        for j in range(nbcase):            tab[i][j]=random.randint(1,nbcase)     return tab  def init_tab_temp(nbcase):    tab=[]    for i in range(nbcase):        tab.append([0] * nbcase)    tab[0][0]=-1    return tab    def affiche_tab(tab,t_temp,nbcase):    for i in range(nbcase):        for j in range(nbcase):            if t_temp[i][j]==-1:print('\033[1;34m',tab[i][j], end='')            else:print('\033[1;30m',tab[i][j], end='')        print('')   def nb_possible(t1,t_temp,nb_next,nbcase):    rep=False    for i in range(nbcase):        for j in range(nbcase):             if t_temp[i][j]==-1:                if i>0:                    if t1[i-1][j]==nb_next:rep=True                if i<nbcase-1:                    if t1[i+1][j]==nb_next:rep=True                if j>0:                    if t1[i][j-1]==nb_next:rep=True                if j<nbcase-1:                    if t1[i][j+1]==nb_next:rep=True       return rep   #on parcourt le tableau : pour chaque case -1 on regarde celle à côté et on regarde si elle contient un nb_next ou un -1# si c'esdt le cas on la marque sinon on passe à la suivante.def change_case_adj(t1,t_temp,nb_next,nbcase):    t2=t_temp    for i in range(nbcase):             for j in range(nbcase):                     if t_temp[i][j]==-1:                if i>0:                    if t1[i-1][j]==nb_next: t2[i-1][j]=-1 #case au dessus                                   if i<nbcase-1:                    if t1[i+1][j]==nb_next: t2[i+1][j]=-1 #case en dessous                                     if j>0:                    if t1[i][j-1]==nb_next: t2[i][j-1]=-1 #case à gauche                                   if j<nbcase-1:                    if t1[i][j+1]==nb_next: t2[i][j+1]=-1 #case à droite            t_temp=t2         for i in range(nbcase):        for j in range(nbcase):            if t2[i][j]==-1:t1[i][j]=nb_next    return (t1,t_temp)   def verif_fini(t1,nb_next):    rep=True    for i in range(len(t1)):        for j in range(len(t1)):            if t1[i][j]!=nb_next:rep=False    return rep''' Prog Principal '''#on demande à l utilisateur la taille du tableauprint("\033[1;30m" )n=int(input('Quelle taille pour le tableau ?'))#on initialise le tableau# random sur les cellulest1=init_tab(n)print('')t_temp=init_tab_temp(n)affiche_tab(t1,t_temp,n)#tableau temporaire pour marquer les cases figées# on joue tant que le tableau n'a pas toutes les cases identiquesfini=Falsecompteur=1while fini==False:    print('')    print('Essai n° : ',str(compteur))    print('')       #on demande à l'utilisateur que lnombre il choisit    nb_next=int(input('Quel nombre choisissez-vous ?'))    print('')       #on regarde si ce nombre est possible    if nb_possible(t1,t_temp,nb_next,n)==True:        change_case_adj(t1,t_temp,nb_next,n)        print('')        affiche_tab(t1,t_temp,n)        fini=verif_fini(t1,nb_next)    else:        print('Ce choix n est pas possible !')    compteur=compteur+1# le jeu est finiif fini==True:    print('')    print('Bravo')    print('Vous avez réussi en ',str(compteur),' essais')    affiche_tab(t1,t_temp,n)
 | 
  --------------- Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
 
   |