Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.
 
 
 
 
 
 

2.1 KiB

Implémentation du jeu Marvel

Introduction

De nombreux personnages sur developper.marvel.com n’ont pas de description. En revanche, ils ont tous une petite image (ou thumbnail en Anglais).

Le jeu consistera donc à:

  • choisir un personnage au hasard
  • montrer l’URL de l’image
  • demander au joueur le nom du personnage correspondant
  • le joueur aura droit à 3 essais maximum

Étape 1: préparation

  • Créez un compte sur developper.marvel.com et une clé d’API
  • Créez le fichier api-keys.txt avec le bon format
  • Récupérez le fichier marvel.py sur git.e2li.org
  • Vérfiez que le code fonctionne: python3 marvel.py character-description Hulk

Étape 2: Rajouter une nouvelle requête

  • Rajoutez une nouvelle classe CharacterThumbnail, dérivée de Query
  • Vérifiez que l’url de l’image fonctionne, en l’ouvrant dans un navigateur

Étape 3: Le deux clients

  • Renommez la classe Client en MarvelClient.
  • Rajoutez une clase abstraite BaseClient. Elle devra contenir les méthodes get_all_characters() et get_character_thumbnail()
  • Créez une classe FakeClient qui dérive de BaseClient. Astuce:
class FakeClient(BaseClient):
    characters = {
        "Hulk": "http://marvel/hulk.jpg",
        "Captain America": "https://marvel.com/captain.jpg",
    }

    def get_all_characters():
    	...
  • Rajoutez la méthode get_all_characters() dans BaseClient et implémentez-là dans FakeClient et MarvelClient.
  • Note: Pour des raisons pratiques, on va limiter le nombre de personnages possibles (sinon le jeu serait bien trop difficile!). Utilisez le fichier famous.txt dans MarvelClient.get_all_characters().

Étape 4: Le jeu

Vous êtes maintenant prêts à implémenter le jeu lui-même.

Astuces:

  • La classe Game prendra un client en paramètre de __init__().
  • Dans la fonction main(), utilisez la présence ou nom de la chaîne de charactères “--test” dans sys.argv pour choisir le client à utiliser (FakeClient ou MarvelClient)