Le déconfinement nous permet progressivement un retour à la normale. Bonne reprise à tous.

Jeu de rôle

Introduction

Dans ce projet, tu vas dessier et coder ton propre jeu de rôle et de labyrinthe. L’objectif du jeu sera de collectionner des objets et d’échapper de la masion, en tentant d’éviter tous le monstres !

Introduction :

Ce projet apprend comment dessiner un jeu à travers le développement d’un jeu de rôle et de labyrinthe. Dans ce jeu, je joueur doit ramasser des objets dans une maison et se retrouve dans une pièce en particulier, tout en évitant les monstres qui traînent dans certaines des pièces. Ce jeu sera réalisé grâce à la manipulation de dictionnaires et de listes.

Ressources en ligne

Ce projet utilise Python 3. Nous vous conseillons d’utiliser trinket pour écrire du Python en ligne. Ce projet contient les Trinkets suivants :

Il y a également un trinket qui contient le projet fini :

Ressources hors-ligne

Ce projet peut être complété hors-ligne i préférable. Vous pouvez accéder aux ressources du projet en cliquant sur ‘Matériaux du Projet’. Ce lien contient une section ‘Ressources du projet’, y compris vers des ressources dont les enfants auraient besoin pour compléter le projet hors-ligne. Vérifiez que chaque enfant a accès à une copie de ces ressources. Cette section comporte le fichier suivant :

  • rpg/rpg.py

Vous pouvez aussi trouver une version finalisée des défis de ce projet dans la section ‘Ressources du volontaire’, qui contient :

  • rpg-finished/rpg.py

(Toutes les ressources ci-dessus sont également téléchargeables comme des fichiers .zip pour le projet et les volontaires.)

Objectifs pédagogiques

  • Dessin de jeu ;
  • Édition :
    • Listes ;
    • Dictionaires.
  • Des expressions Booléenes.

Ce projet couvre des élements des parcours suivants du Programme de Créativité Numérique Raspberry Pi :

Défis

  • Ajoute de nouvelles pièces ;
  • Ajoute des nouveaux articles ;
  • Ajoute des adversaires à éviter ;
  • Développer ton propre jeu.

  • Peut-être les enfants auraient besoin d’être rappelés que les éléments d’un dictionnaire/liste sont séparés par des virgules. Par exemple, quand on ajoute une nouvelle pièce au dictionnaire ‘rooms’, une virgule doit être insérée entre la nouvelle pièce ajoutée et la précédente.
  • Quand on ajoute une nouvelle pièce, les enfants pourraient oublier de relier la pièce existants et la nouvelle qui vient d’être créée. Ça pourrait dire que les enfants peuvent sortir de la pièce mais pas entrer !
  • Le code pour vérifier si le joueur a gagné ou a perdu doit être décalé, afin de s’assure que la contrôle se fait à chaque entrée dans une nouvelle pièce. Si le code n’est pas décalé, cette partie reste à l’extérieur de la boucle principale du jeu et ne s’exécute jamais.

Ajouter de nouvelles pièces

  • Une partie du code pour ce jeu a été déjà mis à ta disposition. Ouvre ce trinket : jumpto.cc/rpg-go.
  • Ceci est un jeu de rôle assez simple qui contient seulement 2 pièces. Il y a un plan du jeu :

    Tu peux taper go south pour te déplacer du couloir dans la cuisine, puis go north pour retourner dans le couloir !

  • Que se passe-t-il quand tu tapes une direction dans laquelle tu ne peux pas te déplacer ? Tape go west dans le couloir et tu recevras un joli petit message d’erreur.

  • Si tu trouves la variable rooms, tu peux voir que le plan est codé comme un dictionnaire de pièces :

  • Ajoutons une salle à manger à notre plan, à l’est du couloir.

    Tu as besoin d’ajouter une 3ème pièce, qui s’appelle dining room (salle à manger). Tu as également besoin de la relier au couloir à l’ouest. Tu dois aussi ajouter des données au couloir, pour pouvoir te déplacer dans la salle à manger vers l’est.

  • Essaie le jeu avec ta nouvelle salle à manger :

    Si tu n’arrives pas à entrer et sortir de la salle à manger, vérifie simplement que tu as bien ajouté tout le code ci-dessus (y compris les virgules supplémentaires dans les lignes ci-dessus).


Défi : Ajoute de nouvelles pièces

Saurais-tu ajouter plus de pièces à ton jeu ? Par exemple, tu pourrais créer un salon vers le sud de la salle à manger. Pense à ajouter une porte d’accès entre cette pièce et une des autres salles !


Ajoute des articles à ramasser

Laissons traîner des articles dans les pièces pour que le joueur puisse les collectionner au fer et à mèsure qu’il se déplace dans le labyrinthe.

  • Pour ajouter des articles dans une pièce, c’est facile, il suffit de les ajouter dans le dictionnaire de la pièce. Mettons une clé dans le couloir.

    Pense à mettre une virgule après la ligne au-dessus du nouvel article, sinon ton code ne pourra pas s’exécuter !

  • Si tu exécutes ton jeu après avoir ajouté le code ci-dessus, tu verras désormais une clé dans le couloir, et tu pourras même la ramasser (en tapant get key), ce qui l’ajoute à ton inventaire !


Défi : Ajoute des nouveaux articles

Ajoute un article dans certaines pièces de ton jeu. Tu peux ajouter n’importe quel objet que tu trouves utile pour arriver à sortir de la maison ! Par exemple, un bouclier ou une potion magique.


Ajoute des adversaires

Ce jeu est trop facile ! Ajoutons des adversaires dans certaines des pièces que le joueur devrait éviter.

  • Ajouter un adversaire dans une pièce est aussi simple qu’ajouter tout autre article. Ajoutons un monstre affamé dans la cuisine :

  • Tu devrais aussi vérifier que le jeu se termine si le joueur entre dans une pièce qui contient un monstre. Tu peux faire ceci avec le code suivant, que tu devrais ajouter à la fin du jeu :

    Ce code vérifie s’il y a un article dans la pièce, et si oui, si cet article s’agit d’un monstre. À noter que ce code est décalé, pour que ça s’aligne avec le code en-dessus. Ça veut dire que le jeu vérifie s’il y a un monstre chaque fois que le joueur se déplace dans une autre pièce.

  • Teste ton code en passant dans la cuisine, qui contient désormais un monstre.


Défi : Ajoute plus de monstres

Ajoute d’autres monstres à ton jeu, pour rendre le challenge plus difficile pour sortir de la maison !


Pour gagner le jeu

Donnons une mission à ton joueur, qui doit être réalisée afin de completer le jeu.

  • Donnons une mission à ton joueur, qui doit être réalisée afin de completer le jeu.

  • D’abord, tu auras besoin d’ajouter un jardin au sud de la salle à manger. Pense à ajouter les portes, pour la relier avec les autres pièces de la maison.

  • Ajoute une potion dans la salle à manger (ou dans une autres pièce de la maison).

  • Ajoute ce code afin de permettre au joueur de gagner le jeu quand il arrive dans le jardin avec la clé et la potion magique :

    Vérifie que le code soit correctement décalé, bien aligné avec le code en-dessus. Ce code signifie que le message You escaped the house...YOU WIN! sera affiché si le joueur est dans pièce numéro 4 (le jardin) et si la clé et la potion sont bien présentes dans l’inventaire.

    Si tu as plus de 4 pièces, tu auras peut-être besoin d’utiliser un autre chiffre pour ton jardin dans le code ci-dessus.

  • Teste ton jeu pour vérifier que ton joueur peut bien gagner !

  • Enfin, ajoutons quelques instructions à ton jeu, pour que le joeur sache quoi faire. Édite la fonction showInstructions() pour inclure d’autres informations.

    Tu auras besoin d’ajouter des instructions afin de dire à l’utilisateur quels articles qu’ils doivent collectionner, et ceux qu’ils doivent éviter à tout prix !

  • Teste ton jeu et tu devrais voir tes nouvelles instructions.


Défi : Développer ton propre jeu

Utilise ce que tu as appris afin de créer ton propre jeu. Ajoute plein de pièces, des monstres à éviter et des articles à ramasser. Pense à modifier le code pour que joueur gagne quand il arrive jusqu’à dans une certaine pièce en possession des articles dans leur inventaire. Ça pourrait être utile de faire un ébauche sur papier du plan avant de commencer à coder !

Tu pourrais même ajouter des escaliers à ta carte et accèder ainsi à plus d’une étage des pièces, en tapant go up et go down.

Produit ajouté avec succès à la comparaison des produits