Puissance 4 python tkinter
Résolu/Fermé
SchweppesTheBest
Messages postés
3
Date d'inscription
mercredi 5 février 2020
Statut
Membre
Dernière intervention
5 février 2020
-
Modifié le 7 févr. 2020 à 09:09
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 7 févr. 2020 à 09:27
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 7 févr. 2020 à 09:27
A voir également:
- Puissance 4 tkinter
- Test puissance pc - Guide
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Python est introuvable. exúcutez sans argument pour procúder ó l - Forum Python
- Puissance wifi - Guide
- \R python ✓ - Forum Python
1 réponse
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
7 févr. 2020 à 09:27
7 févr. 2020 à 09:27
Bonjour
Plusieurs conseils préalables
Passons à ta question
Moi j'aurais par exemple écrit :
Exemples :
Bonne chance
Plusieurs conseils préalables
- Concernant le message, soigne l'orthographe et utilise les balises de code (4e bouton) afin de le mettre en forme
- N'utilise pas de variable globale. C'est une très mauvaise habitude de programmation. Passe simplement tes variables globales actuelles comme des paramètres de fonction
- Suis les conventions PEP8 (autant prendre les bonnes habitudes) pour avoir un programme propre. Si tu utilises pycharm il te guidera.
- Pas réellement besoin d'avoir une interface Tk pour expliquer ton problème (tu aurais pu faire un puissance 4 en mode texte). Généralement il est bon de séparer le moteur du jeu (qui stocke le placement des pions, les règles...) du rendu (en mode texte, en mode graphique).
Passons à ta question
- La manière dont tu installes un pion sur le plateau est améliorable / incomplète. Un while serait plus approprié. À colonne donnée, tant que la case est occupée, on monte d'un cran. Si la case ne dépasse pas le haut du plateau, alors on peut installer le pion dans cette case. Sinon, on refuse le placement du jeton.
- La recherche de victoire consiste à chercher une ligne / colonne / diagonale peut se faire de plusieurs façon. Déjà il n'est utile de faire cette recherche que pour le joueur courant. La manière la plus simple de procéder en python est d'utiliser l'inclusion. Il suffit d'appliquer le raisonnement suivant. Pour chaque ligne (resp. colonne, resp. diagonale), tu extraies la liste
l
de cases correspondantes. Cela te donne une liste d'entiers. En admettant que le joueur courant soitj = 1
, le problème revient à chercher la sous-liste[j, j, j, j]
dansl
. Pour cela tu peux chercher comment faire sur internet (par exemple cette page) ou écrire toi-même une petite boucle.
Moi j'aurais par exemple écrit :
def find_sublist(sl, l): n = len(sl) for i in range(len(l)): if sl == l[i:i+n]: return True return False
Exemples :
In [3]: find_sublist([1, 1, 1, 1], [0, 0, 1, 1, 1, 1, 0, 0])
Out[3]: True
In [4]: find_sublist([1, 1, 1, 1], [0, 0, 1, 1, 0, 1, 0, 0])
Out[4]: False
Bonne chance