Comment coder votre propre jeu d'aventure en Python

Le Raspberry Pi est une technologie formidable, mais beaucoup de personnes ne l'utilisent pas pleinement. Avec votre Raspberry Pi, vous pouvez créer tout ce que vous voulez - un robot qui détecte son environnement, un centre multimédia pour regarder des films ou un monde imaginaire et aventureux créé à partir de simples lignes de code et beaucoup d'imagination de votre part.

Dans les années 1980, l’infographie en était encore à ses balbutiements, avec des personnages de jeux épars et une palette de couleurs limitée. Il était très courant que les jeux d'aventure et de jeu de rôles soient entièrement basés sur le texte, le joueur utilisant son imagination pour créer des visions du monde du jeu..

Des jeux tels que Zork ont ​​créé des mondes riches, avec des histoires et des personnages captivants, mais avec très peu de graphiques pour illustrer les environnements. Cela resta le cas jusqu'à la fin des années 1980 et au début des années 90 et ne fut modifié que par un travail fantastique de LucasArts, qui créa une collection de jeux d'aventure graphiques classiques tels que Loom, Monkey Island et Full Throttle..

  • Découvrez notre collection de projets fantastiques Raspberry Pi

Pour ce tutoriel, nous utiliserons notre Raspberry Pi et un langage de programmation appelé Python pour créer notre propre aventure de texte, avec notre propre monde de jeu et des personnages pour habiter ce monde. Et tout cela sera créé en utilisant du code Python et quelques concepts de programmation.

Python est un langage de programmation facile à apprendre, qui est devenu un favori des utilisateurs et des écoles de Raspberry Pi à travers le Royaume-Uni..

Alors, quel est Python?

Python est un langage de programmation textuel, et nous entendons par là qu'il est saisi dans un éditeur. Python utilise une syntaxe très compréhensive et est très facile à lire, ce qui rend l'apprentissage du code une expérience des plus agréables..

Sur le Raspberry Pi, nous avons déjà un excellent éditeur de code installé en standard: il s’appelle IDLE et nous allons l’utiliser pour construire notre jeu. Vous pouvez trouver un lien vers IDLE sur le bureau Raspberry Pi.

Python est livré préinstallé sur chaque Raspberry Pi qui exécute le système d’exploitation Raspbian. Si Raspbian n'est pas installé sur votre Pi, vous pouvez en obtenir un exemplaire sur le site Web de Raspberry Pi..

Il fait partie de l'archive NOOBS (Nouveau logiciel sortant de la boîte) facile à utiliser, qui peut être téléchargée puis extraite sur une carte SD vierge de 4 Go (ou supérieure)..

Actuellement, deux versions de Python sont disponibles: les versions 2.7 et 3. Pour ce didacticiel, nous utiliserons la version 2.7, car elle bénéficie de la plus grande quantité de support et de documentation. Python 3 est un excellent langage à apprendre. C’est certainement son avenir, mais il est actuellement en pleine mutation et ne devrait être utilisé que par des programmeurs Python expérimentés..

Créer un récit

Notre jeu a besoin de deux choses: une histoire pour divertir le joueur et une logique pour contrôler le déroulement de l'histoire. Pour notre histoire, nous créons le monde de Narule, où magie et aventure sont à chaque coin de rue. Et nous créons un héros - vous - qui doit parcourir la terre, visiter de nouveaux villages et colonies, et parler aux gens pour en savoir plus sur cette terre et son ombre noire.

Pour démarrer notre projet, nous avons créé un récit que vous pourrez développer. N'hésitez pas à personnaliser votre histoire, c'est tout l'intérêt de ce didacticiel. C'est ton jeu. Pour vous aider à démarrer, nous avons créé du code qui servira de modèle de départ. Vous pouvez télécharger une copie gratuite ici.

Téléchargez le code, puis ouvrez-le en utilisant IDLE ('Fichier> Ouvrir' et naviguez jusqu'à l'endroit où vous avez téléchargé le code). Examinez maintenant le code et portez une attention particulière aux lignes commençant par un #, car ce sont des commentaires dans le code, qui ont été ajoutés pour vous aider à comprendre ce que le code fait à ce moment-là..

Actuellement, notre code a une histoire de base à développer, et nous le ferons au cours de ce tutoriel. Notre histoire se déroule à travers des blocs de texte qui forment notre récit, et vous verrez que chaque bloc ressemble à ceci:

chapter1 = "C'était une nuit froide et la pluie a balayé de

l'Occident avec une férocité connue seulement des dieux "

Celles-ci s'appellent des variables et nous permettent de stocker beaucoup de texte ou de nombres. Nous les utilisons pour contenir notre histoire, puis lorsque nous voulons les utiliser, nous utilisons la fonction print comme ceci:

imprimer le chapitre 1

La fonction print regarde à l'intérieur de la variable et affiche son contenu à l'écran, ce qui est très pratique et signifie que nous n'avons qu'à écrire l'histoire une seule fois et que nous pouvons la réutiliser autant de fois que nous le souhaitons..

Précédent Page 1 sur 15 Suivant Précédent Page 1 sur 15 Suivant

Concepts de programmation

Python est un très bon langage à apprendre, car il est très facile à comprendre. Une fois que vous maîtrisez les concepts de la logique de programmation avec Python, vous serez sur la bonne voie pour développer de plus grandes applications..

Peu importe la langue que vous utilisez, les concepts sous-jacents de codage fournissent une base solide qui peut être utilisée dans de nombreuses langues. Les concepts principaux sont:

Des séquences

Une série de tâches doit être accomplie dans un certain ordre. Par exemple, les étapes nécessaires pour résoudre un labyrinthe.

Boucles

Une façon de répéter une séquence. Peut être exécuté pour toujours (tant que True) ou contrôlé en utilisant une instruction for (pour x dans la plage (0,3)).

Parallélisme

Exécution de plusieurs séquences de code en même temps.

Événements

Un événement est un déclencheur qui démarre une séquence de code et l'événement le plus visible du jeu que nous créons est la saisie du nom de notre héros pour démarrer le jeu..

Les données

Nous utilisons une variable pour stocker la valeur du nom de notre héros, puis nous pouvons ensuite extraire et manipuler la variable pour afficher le nom du joueur tout au long du jeu, en personnalisant l'expérience de jeu..

Les conditions

Les conditions constituent la base de notre logique et nous fournissent une méthode pour comparer les données avec les données fournies par le joueur. Nous avons utilisé des conditions dans notre jeu pour comparer la réponse donnée à la réponse attendue. S'ils correspondaient, dans la logique booléenne, cela serait classé comme TRUE.

Les opérateurs

Ce sont les règles mathématiques de base que nous avons apprises à l'école. Nous pouvons appliquer des opérateurs au texte et aux nombres, ce qui nous permet d’effectuer des calculs dans notre code et d’itérer des données si nécessaire..

Précédent Page 2 sur 15 Suivant Précédent Page 2 sur 15 Suivant

1. Jouer le jeu

IDLE a deux fenêtres pour travailler avec: l'éditeur, contenant notre code, et un shell, où notre jeu est joué. Pour lancer le jeu, dans l'éditeur, cliquez sur "Exécuter", puis sur "Exécuter le module"..

La fenêtre shell apparaît devant toutes les autres fenêtres et notre jeu commence à jouer..

Précédent Page 3 sur 15 Suivant Précédent Page 3 sur 15 Suivant

2. Modules d'importation

Les modules créés par d'autres codeurs peuvent être importés dans votre code. Nous importons deux modules: Random, qui contient du code nous permettant d’utiliser un choix aléatoire pour notre personnage; and Time, qui nous permet de travailler avec le temps et de mettre le jeu en pause.

Précédent Page 4 sur 15 Suivant Précédent Page 4 sur 15 Suivant

3. Créer des fonctions

Vous pouvez grouper beaucoup de code dans une fonction. Pour en créer un, nous utilisons def name (): - cela crée une fonction appelée nom, et nous pouvons appeler la fonction comme bon nous semble.

Nous appuyons sur [Entrée] et Python met notre code en retrait de quatre espaces et attend que le code soit exécuté dans cette fonction.

Précédent Page 5 sur 15 Suivant Précédent Page 5 sur 15 Suivant

4. Utiliser des variables

Nous utilisons des variables pour stocker des informations que nous pourrons utiliser plus tard. Par exemple, nous sauvegardons notre récit et le réutilisons plusieurs fois. Pensez aux variables comme des cases vides - on peut y mettre n'importe quoi et écrire leur nom de côté.

Vous verrez le terme 'global' utilisé avec certains noms de variables; cela nous permet de les utiliser à l'intérieur et à l'extérieur des fonctions.

Précédent Page 6 sur 15 Suivant Précédent Page 6 sur 15 Suivant

5. Obtenir des commentaires

Une entrée brute est le moyen utilisé par Python pour demander l’entrée du joueur. Nous l'utilisons pour capturer le nom du joueur et pour capturer ses décisions dans le jeu..

Les entrées brutes saisissent les entrées au clavier sous forme de chaîne de texte. Par conséquent, tous les nombres capturés doivent être convertis en un entier ou en un nombre flottant, ce qui peut être fait à l'aide des fonctions d'assistance int () et float ()..

Précédent Page 7 de 15 Suivant Précédent Page 7 de 15 Suivant

6. Faites des choix

Les instructions conditionnelles sont des choix logiques. nous les utilisons pour contrôler le déroulement du jeu - par exemple, dans quelle direction allez-vous?

Nous stockons la direction dans laquelle le joueur souhaite aller sous forme de variable appelée déplacer, puis comparons la valeur stockée dans la variable avec la touche sur laquelle nous avons demandé à l'utilisateur d'appuyer. Si les deux correspondent, le code associé est exécuté.

Précédent Page 8 sur 15 Suivant Précédent Page 8 sur 15 Suivant

7. Sinon et sinon si

Si… elif… sinon Sont d'autres instructions conditionnelles et fonctionnent comme suit: la première condition est examinée et, si cela est correct (ou vrai en Python), le code situé sous cette condition est exécuté. Sinon si (elif) cette condition est vraie, le code est exécuté pour cette instruction.

Sinon, toutes les conditions ci-dessus sont fausses, alors cela doit être vrai, donc ce code est exécuté.

Précédent Page 9 de 15 Suivant Précédent Page 9 de 15 Suivant

8. Utilisez des listes

Les listes sont de grands conteneurs pouvant contenir beaucoup de données. Considérez-les comme un classeur rempli de documents. Dans notre jeu, nous avons utilisé une liste pour stocker notre inventaire d'objets (notre épée et notre bouclier).

Nous créons d’abord une liste vide en utilisant:

"armes = []"

Tout comme les variables, nous pouvons donner à notre liste le nom de notre choix. Pour ajouter à notre liste, nous utilisons:

arms.append ("épée")

Précédent Page 10 sur 15 Suivant Précédent Page 10 sur 15 Suivant

9. Choisissez un numéro

Les nombres aléatoires aident notre héros à être complètement unique. Pour sélectionner ces nombres de manière aléatoire, nous utilisons le module random, en particulier une fonction appelée randint, ou un entier aléatoire..

Pour utiliser randint, nous devons lui indiquer la plage de nombres à utiliser, en procédant comme suit:

randint (5,20)

Cela crée une plage entre 5 et 20, et demande à randint de choisir un nombre aléatoire dans cette plage..

Précédent Page 11 sur 15 Suivant Précédent Page 11 sur 15 Suivant

10. Présenter les gens

Notre jeu a besoin d'interlocuteurs intéressants, créons-en un. Vous verrez à la ligne 57 du code que nous avons une nouvelle fonction qui gère un villageois aléatoire.

Leur nom est aléatoire et est choisi dans une liste, mais d'abord nous mélangeons la liste, puis nous sélectionnons le premier élément de la liste, qui en Python est toujours égal à 0 (zéro) ou npcnamechoice [0].

Précédent Page 12 sur 15 Suivant Précédent Page 12 sur 15 Suivant

11. élargir l'histoire

Ajouter du nouveau contenu à votre jeu est facile. Si vous souhaitez ajouter de nouveaux personnages ou villageois, le meilleur moyen est de créer une nouvelle fonction. Ainsi, le code de chaque nouvelle entrée est contenu dans sa propre fonction, mais peut être facilement utilisé dans votre jeu..

Votre récit devrait rassembler ces fonctions et fournir une histoire linéaire à suivre par le joueur..

Précédent Page 13 sur 15 Suivant Précédent Page 13 sur 15 Suivant

12. Choisissez un combat

Qu'en est-il du combat? Les ennemis peuvent être créés de la même manière que les villageois, mais vous voudriez peut-être leur attribuer des points de santé et des points magiques attribués au hasard (HP et MP parlent de l'aventure), tout comme vous avez donné à votre héros..

Créez une nouvelle fonction contenant un ennemi et placez-la dans votre code à un point de consigne, puis testez votre code.

Précédent Page 14 sur 15 Suivant Précédent Page 14 sur 15 Suivant

13. Joindre des chaînes et des nombres

Lorsque vous travaillez avec du texte ou, en Python, des chaînes, nous souhaitons peut-être joindre une chaîne et un nombre. Si nous essayons de le faire comme ceci:

imprimer "Bonjour" + 1

Python génère une erreur indiquant que les deux ne peuvent pas être joints. Mais si nous encapsulons l'entier dans une fonction d'assistance appelée str (), nous pourrons les associer comme suit:

affiche "Bonjour" + str (1)

  • Apprécié cet article? Développez vos connaissances sur Linux, tirez le meilleur parti de votre code et découvrez les derniers développements open source au sein du format Linux. Lisez notre échantillonneur aujourd'hui et profitez de l'offre à l'intérieur.
Précédent Page 15 sur 15 Suivant Précédent Page 15 sur 15 Suivant
Actions