예제 #1
0
    def __init__(self, nom_fichier=None):
        """
        Méthode d'initialisation d'une partie. On initialise 4 membres:
        - planche: contient la planche de la partie, celui-ci contenant le dictionnaire de pièces.
        - couleur_joueur_courant: le joueur à qui c'est le tour de jouer.
        - tour_precedent_passe: un booléen représentant si le joueur précédent a passé son tour parce qu'il
           n'avait aucun coup disponible.
        - deux_tours_passes: un booléen représentant si deux tours ont été passés de suite, auquel cas la partie
           devra se terminer.
        - coups_possibles : une liste de tous les coups possibles en fonction de l'état actuel de la planche,
           initialement vide.

        On initialise ensuite les joueurs selon la paramètre nom_fichier. Si l'utilisateur a précisé un nom_fichier,
        on fait appel à la méthode self.charger() pour charger la partie à partir d'un fichier. Sinon, on fait appel
        à self.initialiser_joueurs(), qui va demander à l'utilisateur quels sont les types de joueurs qu'il désire.
        """
        self.planche = Planche()

        self.couleur_joueur_courant = "noir"

        self.tour_precedent_passe = False

        self.deux_tours_passes = False

        self.coups_possibles = []

        if nom_fichier is not None:
            self.charger(nom_fichier)
        else:
            self.initialiser_joueurs()
    def __init__(self):
        super().__init__()
        self.planche = Planche()
        self.partie = Partie()

        # decommenter si on veut charger une partie et inserer le nom du fichier texte.

        #self.partie = Partie('partie_un_tour_a_passer.txt')

        # Nom de la fenêtre.
        self.title("Othello")

        # La position sélectionnée.
        self.position_selectionnee = None

        # Truc pour le redimensionnement automatique des éléments de la fenêtre.
        self.grid_columnconfigure(0, weight=1)
        self.grid_rowconfigure(0, weight=1)

        # Création du canvas_planche.
        self.canvas_planche = CanvasPlanche(self, 60)
        self.canvas_planche.grid(sticky=NSEW)

        # Ajout d'une étiquette d'information.
        self.messages = Label(self)
        self.messages.grid()

        # On lie un clic sur canvas_planche à une méthode.
        self.canvas_planche.bind('<Button-1>', self.selectionner)
        self.canvas_planche.pieces = self.convertir_case_a_piece()
예제 #3
0
    def __init__(self):
        self.planche = Planche()

        self.couleur_joueur_courant = "noir"

        self.tour_precedent_passe = False

        self.deux_tours_passes = False

        self.coups_possibles = []

        self.initialiser_joueurs()
예제 #4
0
from othello.planche import Planche
from othello.planche import Piece
import ast

planche_de_jeu = Planche()
print(planche_de_jeu)

for col in planche_de_jeu.cases.values():
    print(col.est_noir())

# planche_de_jeu.jouer_coup((5,4), "noir")
# print(planche_de_jeu)

# chaine = planche_de_jeu.convertir_en_chaine()
# print(chaine)
# chaine_en_liste = chaine.split("\n")[:-1]
# print(chaine_en_liste)
# print(chaine_en_liste[0][4:])
# compteur_blanc = 0
# compteur_noir = 0
# i = 0
# while i <= len(chaine_en_liste) - 1:
#     if chaine_en_liste[i][4:] == "noir":
#         compteur_noir += 1
#     elif chaine_en_liste[i][4:] == "blanc":
#         compteur_blanc += 1
#     i += 1
# print(compteur_blanc)
# print(compteur_noir)

# x = 3, 5, 5