Bonsoir,
Fait attention avec la "méthode fibo.", il ne faut pas seulement chercher le plus grand nombre de fibonacci Fk inférieur à N (nbre d'allumettes), il faut écrire N comme une somme de nombres de fibonnacci (en n'en prenant pas deux de suite) et regarder le plus petit de la somme (c'est pour cela qu'a programmer, c'est pas si facile que ca...)
Pour revenir au programme lui-même, personellement, je considèrerais une bonne fois pour toute que le programme que je tape ne marche que pour un nombre d'allumettes N<N_MAX fixé d'avance. Honétement, N_MAX=100 me parraitrait largement suffisant. Le programme demandant alors à l'utilisateur (ou tire au hasard) le nombre d'allumettes de début entre 5 (faut pas déconner) et N_MAX.
(L'une des raison en est que la plupart des langages de programation attendent une constante dans les dimentionnements des tableaux)
Dans le programme lui même, avant de faire quoi que ce soit d'autre, je remplirais le tableau qui permettra à l'ordinateur de jouer :
Si tu regarde tout les posts d'avant, il y a en fait 3 méthodes :
1) Un tableau T de 100x100 de 'G' ou 'P' pour dire si donner à l'autre la situation (n,p) est gagnant ou perdant.
2) Une amélioration du 1) proposée par doraki : un tableau S de 100 tel que (n,p) soit gagnante lorsque p<S[n]
3) Un tableau F d'environ 20 (c'est suffisant pour N<100) contenant les 20 premiers nombres de fibonacci.
A ta place, je commencerais par le 1) : c'est le plus "bourrin" mais, s'il n'y avait pas l'astuce "fibo" ce serait à peu prés la seule solution.
Essaye de faire, dans un premier temps, la partie du programme qui rempli le tableau et vérifie qu'elle marche avec les valeurs que j'ai donné dans un post. précédent.
Si tu veut faire le 2), c'est (au niveau programation) assez proche du 1.
Si tu veut faire le 3), le "remplissage" du tableau est beaucoup plus simple, mais la partie qui va utiliser le tableau pour savoir quoi jouer durant le jeu est nettement plus compliquée que dans les cas 1) et 2)