Memory

Memory

_images/titrevideo.PNG _images/blanc1.png
html video by EasyHtml5Video.com v3.9.1
OBJECTIF :Code complet du programme

La deuxième partie consiste à mettre en pratique les commandes suivantes :

  • Afficher une fenêtre, avec un titre et une icône.
  • Déterminer la dimension de la fenêtre pour qu’elle puisse afficher des textes et des images.
  • Inclure dans la fenêtre un canevas (Canvas) pour afficher des images qui peuvent se déplacer à l’aide de la souris.
  • Modifier des images à l’aide du logiciel GIMP, de façon à faire un affichage original.
  • Utiliser les tableaux et les listes pour stocker des données.

On utilise l’interface graphique tkinter,

Mode d’emploi :

Il faut créer un dossier ‘/images ‘ dans le dossier ICN pour stocker les images.

Le nom des images doit être img0.png, img1.png, img2, img3.png,…,

Il faut créer un fichier image.py dans le dossier ICN qui va contenir les fonctions qui concernent les images.

_images/image1t.png
Utilisation du module tkinter

Charger le module : Pour utiliser le module tkinter, il faut d’abord choisir un mode d’importation :

from tkinter import * charge le module tkinter.

Ouvrir une fenêtre :

Module fenetre.py

_images/image2t.png

Tk() : permet de désigner un premier objet (une fenêtre) duquel les autres dépendront.

Le nom (arbitrairement choisi) est déterminé par fenetre.

fenetre.title(titre”) : affiche le titre (chaîne de caractères) dans la fenêtre. (ligne 9)

fenetre.iconbitmap(icone): affiche un logo stocké dans un fichier image avec l’extension ”.ico” (dans le même dossier que le fichier python qui utilise l’icône). (ligne 10)

fenetre.geometry(taille) : précise une taille fixe de fenêtre. Dans le cas contraire, les dimensions de la fenêtre s’adaptent à son contenu. (Exemple :taille= ‘500x300’ , fabrique une fenêtre de 500 pixels de largeur et de 300 pixels de hauteur)

fenetre.mainloop() : lancera le gestionnaire d’événements. L’essentiel du script (sauf fonctions ou classes) doit se situer entre les deux, cela peut être considéré comme une boucle.

Dans la suite la fenêtre : fenetre=Tk()

*fenetre*.resizable(width=False,height=False)

Empêche le redimensionnement de la fenêtre.

_images/image3t.png
Créer un canevas :

Pour afficher des images ou pour déplacer des objets sur une fenêtre on peut utiliser un canevas (Canvas)

_images/canvas.PNG

Déclaration :

can=Canvas(fenetre,width=largeur,height=hauteur,bg=couleur)

Affichage : La méthode grid est disponible sur le livre

can.grid(row=0,column=0,rowspan=3,columnspan=4)

Le rectangle canevas (can) va occuper 3 lignes et 4 colonnes à partir de la ligne 0 (row =0)

et de la colonne 0 (column = 0).

_images/grid.PNG
Créer une liste d’images :

Module image.py

_images/image4t.png

Ce module utilise les listes (items= [] ligne 15) cela permet d’utiliser toutes les images dans toutes les fonctions du programme.

Remarque : pour pouvoir intégrer facilement les images dans une liste, il faut leur donner un nom qui contient un nombre entier , cela permet à une boucle for in range(..,..) : de remplir correctement la liste.

Créer un programme qui affiche les images :

Ce programme est transitoire il permet d’afficher les images proposées dans le dossier images

_images/image5t.png _images/image6t.png
Créer un programme qui modifie les images :

L’objectif est de cliquer consécutivement sur deux points d’interrogation, (ce qui fait retourner l’image)

Si les deux images sont identiques elles restent affichées.

_images/image7.png

Tout d’abord on va donner la liste des fonctions qui sont nécessaires :

_images/image8.png

Puis le programme principal

_images/image9.png
Créer les fonctions qui modifient les images :

On a besoin de trois fonctions :

  • Fonction qui gère la souris.
  • Fonction qui vérifie si les images cachées sont identiques.
  • Fonction qui mélange les images cachées à chaque début de la partie.
_images/image10t.png _images/image11t.png _images/image12t.png