.. _f-puzzle2: module ``special.puzzle_2`` =========================== .. inheritance-diagram:: ensae_teaching_cs.special.puzzle_2 Short summary +++++++++++++ module ``ensae_teaching_cs.special.puzzle_2`` Fonctions, classes pour résoudre un puzzle à 8 pièces disposé de façon non conventionnelle. Voir :ref:`l-puzzle_2`. :githublink:`%|py|7` Classes +++++++ +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+ | class | truncated documentation | +=========================================================================+=========================================================================================================+ | :class:`Puzzle2 ` | Définition d'une classe puzzle, elle contient simplement une liste de 9 pièces dont les positions sont: | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+ | :class:`Puzzle2Bord ` | Définition d'un bord ou côté d'une pièce, il possède deux couleurs. | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+ | :class:`Puzzle2Piece ` | Définition d'une pièce du puzzle, celle-ci inclut : | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+ Functions +++++++++ +--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+ | function | truncated documentation | +============================================================================================+===========================================================================================+ | :func:`display_puzzle_2 ` | Affiche les pièces sur l'écran, en plus petit pour celles qui ne sont pas encore placées. | +--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+ | :func:`display_puzzle_2_piece ` | Affiche la pièce en tenant compte de sa position et de son orientation. | +--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+ | :func:`pygame_simulation ` | Simulation graphique. Illuste la résolution du puzzle | +--------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+ Methods +++++++ +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | method | truncated documentation | +======================================================================================+==========================================================================================================================+ | :py:meth:`__init__ ` | On définit le puzzle à partir des informations contenues dans le répertoire *data* de ce module qui doit contenir ... | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :py:meth:`__init__ ` | | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :py:meth:`__init__ ` | On définit la pièce: | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :py:meth:`__str__ ` | Ce qu'on doit afficher lorsqu'on exécute l'instruction print avec un objet de type :class:`Puzzle2`. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :py:meth:`__str__ ` | Cette méthode est appelée lorsqu'on exécute l'instruction print avec un objet de type :class:`Puzzle2Bord`. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :py:meth:`__str__ ` | Définition ce qu'on doit afficher lorsqu'on exécute l'instruction print avec un objet de type :class:`Puzzle2Piece`. ... | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`angle_possible ` | Retourne l'ensemble des angles possibles pour une pièce donnée. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`bord_angle ` | Retourne le bord connaissant l'orientation de la pièce, le bord demandé est celui correspondant à : | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`compatible ` | Dit si deux bords sont compatibles, ils ont les mêmes couleurs mais inversées. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`ensemble_voisin ` | Retourne les positions voisins de la position i. Retourne toujours quatre voisins, 0 si la case est hors-jeu. ... | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`load_image ` | Charge l'image pour une simulation graphique. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`load_images ` | Charge les images pour une simulation graphique. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`meilleure_piece ` | Retourne la prochaine pièce à placer sur le puzzle, dans un premier temps, on peut prend la première qui vient, ... | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`nb_place ` | Retourne le nombre de places vides. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`piece_position ` | Recherche la piece associée à la position pi. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`pixel ` | Retourne en fonction de la position (1 à 8) de la pièce sa position sur l'écran, soit deux coordonnées. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`solution ` | Résoud le puzzle de façon récursive : on pose une pièce puis on résoud le puzzle restant (une pièce en moins, ... | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ | :meth:`voisin_possible ` | Détermine si la pièce *self* peut être voisine avec la pièce *p* tournée de l'angle *a*. | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+ Documentation +++++++++++++ .. automodule:: ensae_teaching_cs.special.puzzle_2 :members: :special-members: __init__ :show-inheritance: