Outils pour utilisateurs

Outils du site


Panneau latéral

Navigation

Plan auto

programmation:python:prob3

Ceci est une ancienne révision du document !


Problème 2 bis

Le but de l'exercice est d'améliorer le précédent programme de devinettes.

Vous devez réaliser le programme entier par vous même, sans poser de questions à l'enseignant, afin de vous préparer aux conditions d'examen. Vous disposez de l'accès à internet et de toutes les documentations qui s'y trouvent. Le programme devra être divisé en fonctions, avec des commentaires dans le code.

Ajout d'un niveau de difficulté supplémentaire

Modifiez le précédent programme pour ajouter un niveau de difficulté supplémentaire, “moyen”, qui donne 6 tentatives.

Le choix sera donc le suivant : 1 - facile (8 tentatives) 2 - moyen (6 tentatives) 3 - difficile (4 tentatives) Vous devrez donc modifier la fonction qui permet de choisir la difficulté, mais également la fonction qui calcule le nombre de tentatives disponibles.

Calcul du score d'une partie

A la fin d'une partie, le joueur obtient un score. Ce score est calculé en cas de victoire en multipliant le nombre de tentatives restantes par N_MAX. Si le joueur n'a pas trouvé le nombre mystère, le score est égal à N_MAX - valeur_absolue(nombre_mystère - dernière_valeur_joueur)

Rappel N_MAX est la valeur maximale du nombre mystère, définie dans votre code.

Indication : Pour utiliser la valeur absolue en python, il suffit de faire

abs(valeur)

. Par exemple, abs(-1) retournera 1. Cela permet d'avoir un score positif.

De la doc en FR sur les fonctions de base de python, dont abs()

Faites donc une fonction qui permet de calculer le score en cas de victoire, et qui prend comme paramètre le nombre de tentatives restantes; Une seconde fonction qui calcule le score en cas de défaite prendra en paramètres le nombre mystère et la dernière proposition du joueur.

Partie en plusieurs manches

Nous allons maintenant modifier le déroulement de la partie, qui se déroule en plusieurs manches. Le nombre de manches est défini dans le code par une constante N_MANCHES. Dans cette variantes, on répète plusieurs manches, chaque manche consistant à deviner le nombre mystère, comme avant. A la fin d'une manche, le joueur récupère toutes ses tentatives/vies, et un nouveau nombre mystère est généré.

Quand toutes les manches sont finies, l'ordinateur indique le résultat de la partie :

  • Victoire si le joueur a gagné plus de la moitié des manches;
  • Égalité si le joueur a gagné autant de manches qu'il n'en a perdues;
  • Défaite si le joueur a gagné moins de la moitié des manches.

Le score de la partie est la somme des scores de chaque manche. Cela signifie que vous devez créer une nouvelle variable score_total qui débute à 0. Il faudra donc ajouter à cette variable score_total le score de la manche à la fin de celle ci.

Bonus et malus

Nous allons maintenant modifier le jeu pour ajouter des bonus et des malus, afin de le rendre plus intéressant.

Ajout des malus

A la fin de chaque manche perdue, N_MAX sera augmentée d'un cinquième de sa valeur. Pour

programmation/python/prob3.1542602105.txt.gz · Dernière modification: 19/11/2018 05:35 par sky99