.. _f-puzzlegirafe: module ``special.puzzle_girafe`` ================================ .. inheritance-diagram:: ensae_teaching_cs.special.puzzle_girafe Short summary +++++++++++++ module ``ensae_teaching_cs.special.puzzle_girafe`` Fonctions, classes pour résoudre un puzzle à 9 pièces disposé en carré 3x3. Voir :ref:`l-puzzle_girafe`. :githublink:`%|py|6` Classes +++++++ +----------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+ | class | truncated documentation | +========================================================================================+========================================================================================================+ | :class:`PuzzleGirafe ` | définition d'une classe puzzle, elle contient simplement une liste de 9 pièces dont les positions sont | +----------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+ | :class:`PuzzleGirafeBord ` | Définition d'un bord ou côté d'une pièce, il possède : | +----------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+ | :class:`PuzzleGirafePiece ` | Définition d'une pièce du puzzle, celle-ci inclut : | +----------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+ Functions +++++++++ +-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | function | truncated documentation | +===========================================================================================================+==========================================================================================+ | :func:`display_puzzle_girafe ` | affiche les pièces sur l'écran, en plus petit pour celles qui ne sont pas encore placées | +-----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :func:`display_puzzle_girafe_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:`PuzzleGirafe`. | +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | :py:meth:`__str__ ` | Cette méthode est appelée lorsqu'on exécute l'instruction print avec un objet de type :class:`PuzzleGirafeBord`. ... | +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | :py:meth:`__str__ ` | définition ce qu'on doit afficher lorsqu'on exécute l'instruction print avec un objet de type :class:`PuzzleGirafePiece`. ... | +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | :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, c'est à dire de la même couleur et de partie différente | +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | :meth:`ensemble_voisin ` | retourne les positions voisins de la position i | +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | :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 à 9) 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, une ... | +-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------+ | :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_girafe :members: :special-members: __init__ :show-inheritance: