• Aucun résultat trouvé

Mini-projet v

N/A
N/A
Protected

Academic year: 2022

Partager "Mini-projet v"

Copied!
1
0
0

Texte intégral

(1)

Mini-projet v

Le but de ce mini-projet est de reprendre un ancien projet inachevé, de le compléter et de l’améliorer.

Il s’agit d’un jeu de type mastermind.

Le code initial est dans un fichier placé dans les espace de partage du réseau.

1. Lancer le programme une ou deux fois pour voir son fonctionnement et observer ce qui fonctionne, ce qui ne fonctionne pas.

2. Lire le code et s’assurer de bien comprendre l’ensemble (il y a certains éléments inutiles) ; 3. Modifier alors le code et apporter les améliorations suivantes :

• Ne permettre de colorier que la ligne à remplir ;

• Permettre de prendre les couleurs de n’importe quel endroit colorié (en dehors de la ligne courante).

Pour cela on pourra utiliser des tags sur les éléments de la zone de dessin ;

• Ne pas obliger à reprendre une couleur, pour permettre de colorier d’une même couleur rapidement ;

• Vérifier que toute la ligne a été coloriée avant d’accepter de vérifier (sinon afficher une information) ;

• Ne pas utiliser la fonction print pour afficher le résultat mais colorier les disques (en rouge, blanc, noir) de la zone vérification ;

• Afficher la solution tout en haut (à la place des rouges, blancs et noirs habituels) en fin de partie (en cas de victoire ou d’échec) ;

• Commenter les lignes de code pour expliquer chaque étape des algorithmes.

On pensera à éviter tout message d’erreur dans l’interpréteur, ce qui peut arriver selon les modification apportées.

4. Voici des suggestions d’améliorations supplémentaires.

La note du mini-projet tiendra compte du nombre de suggestions qui auront été suivies.

• Corriger les fautes d’orthographe, simplifier l’explication de la règle ;

• Empêcher l’utilisateur de modifier la taille de la fenêtre de jeu ;

• N’afficher la règle qu’une fois ;

• Simplifier le code quand cela est possible, en particulier supprimer les fonctions et les variables inutiles ;

• Définir toutes les variables globales dont la valeur ne change pas, la fenêtre principale et les boutons après la ligne «if __name__ == "__main__":» ;

• On peut ne définir que trois fonctions :

∗ init()qui initialise la zone de dessin et les variables ;

∗ verif_ligne() qui vérifie la ligne jouée et continue ou termine le jeu ;

∗ coloration() qui gère les choix et applications de couleur.

• Ajouter un disque montrant la couleur sélectionnée courante ;

• Déplacer le bouton de vérification dans la zone de jeu, toujours à droite de la ligne à remplir, pour éviter les déplacements du curseur de la souris ;

• Empêcher le joueur d’appuyer sur le bouton de vérification et de modifier des couleurs une fois la partie terminée ;

• Respecter la règle du mastermind initiale :

aucune couleur ne doit être répétée, ni dans le code à chercher, ni dans les propositions ;

• Toute idée supplémentaire d’amélioration est la bienvenue.

On pourra exécuter le programme situé dans les dossiers de partage pour avoir une idée de l’apparence du programme une fois ces améliorations et suggestions réalisées.

Références

Documents relatifs

• une amélioration de la protection en cas d'incapacité de travail. Mi-2020, le Comité ajoutait à cela l’aide qu’il convient d’apporter, aussi longtemps que la nécessité

La commande :Input “A=”,A affiche A= à l’écran, attend une réponse et stocke cette valeur dans A La commande :Prompt A n’affiche rien à l’écran, attend une réponse et

Si l’on veut définir une fonction réutilisable dans différents programmes, on peut aussi l’enregistrer dans un fichier et l’importer ensuite dans chaque programme

change_parcelle : étant donnés les coordonnées (x,y) d’une case et un numéro de couleur ( v ), change la couleur de la case en conséquence ;. get_xy : donne les coordonnées

Important : Pour cet exercice, notre programme utilise deux autres fichiers StdDraw.java et Turtle.java qu’il vous faut aussi télécharger et enregistrez dans votre répertoire

Pouvez-vous utiliser une partie de ce pro- gramme (en la copiant-collant), pour que dans le fichier ligne.py, le programme demande combien de dièses afficher sur une ligne et

Type 2 : Erreurs d’exécution : Après que la compilation soit faite sans erreur, il peut se trouver que le travail fait par le programme soit erroné, par exemple : division par

Ecrire un programme qui simule 20 lancers d'une pièce équilibré et qui calcule la fréquence d'apparition du Pile.. Exécuter 5 fois ce programme et relever les