Table des matières:
- Étape 1: La vue d'ensemble
- Étape 2: Prérequis
- Étape 3: "Hello World" dans Pygame Zero
- Étape 4: Dessinez votre acteur
- Étape 5: Contrôler l'acteur
- Étape 6: Construire la piste
- Étape 7: Accident de voiture
- Étape 8: Exécutez le jeu sur Raspberry Pi
- Étape 9: avez-vous gagné ?
- Étape 10: Conclusion
Vidéo: Créez votre premier jeu de course : 10 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Si vous avez fait du codage Python et que vous vouliez écrire un jeu, vous pouvez avoir à travers Pygame Zero.
Dans ce tutoriel, nous allons écrire un jeu de course simple.
Étape 1: La vue d'ensemble
Le module Pygame ajoute de nombreuses fonctions qui vous aident à écrire des jeux en Python.
Pygame Zero va encore plus loin en vous permettant de sauter le processus fastidieux de création de toutes ces boucles de jeu et de configuration de la structure de votre programme.
Pygame Zero est un excellent choix pour tous ceux qui souhaitent commencer à écrire des jeux informatiques sur Raspberry Pi ou n'importe quelle machine Linux.
Tu auras besoin:
- Machine qui exécute le système d'exploitation Linux
- Éditeur pour écrire un programme python
- Clavier
- Un peu d'imagination
Des dossiers:
github.com/AhmNouira/-Racing-Game
Étape 2: Prérequis
J'utiliserai d'abord mon ordinateur portable avec le système d'exploitation Ubuntu 18.04. Ensuite, nous exécuterons le jeu sur Raspberry Pi à l'étape 8.
Avant de poursuivre ce didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur avec des privilèges sudo.
Installation de pip pour Python 3
Commencez par mettre à jour la liste des packages à l'aide de la commande suivante:
mise à jour sudo apt
Utilisez la commande suivante pour installer pip pour Python 3:
sudo apt installer python3-pip
vérifiez l'installation en vérifiant la version pip:
pip3 --version
Installation de Pygame Zero
pip3 installer pgzero --user
Cela installera également Pygame. Paquets Pygame précompilés
La première étape de votre parcours sera donc d'ouvrir Python 3 IDLE ou votre éditeur python préféré.
Étape 3: "Hello World" dans Pygame Zero
Par défaut, la fenêtre Pygame Zero s'ouvre à une taille de 800 pixels de large sur 600 pixels de haut. Vous pouvez personnaliser
la taille de votre fenêtre, vous pouvez définir deux variables prédéfinies, si vous incluez WIDTH = 700 HIGH = 800.
Pygame zero fournit des fonctions prédéfinies pour gérer la boucle de jeu normalement exécutée:
La fonction draw()
Nous pouvons écrire cette fonction dans notre programme de la même manière que nous définirions normalement une fonction en Python.
Pygame Zero suit les mêmes règles de formatage que Python, vous devrez donc veiller à indenter correctement votre code.
#!/usr/bin/python3 # définit l'interpréteur
import pgzrun # import pgzero module WIDTH = 700 # largeur de la fenêtre HEIGHT = 800 # hauteur de la fenêtre def draw(): # pygame zero draw function screen.fill((128, 128, 128)) # remplir l'écran avec RVB color screen.draw.text("Hello World!", (270, 320), # draw "Hello World!" color = (255, 255, 255), fontsize = 40) pgzrun.go()
Tout d'abord, vous devez enregistrer votre fichier programme et lui donner un nom.
Ensuite, ouvrez une fenêtre Terminal, accédez à l'emplacement de votre fichier et tapez:
./.py
Étape 4: Dessinez votre acteur
Maintenant que nous avons notre décor, nous pouvons créer nos acteurs, ce sont des objets dynamiques dans Pygame Zero.
On peut charger un Actor en tapant en haut du programme:
voiture = Acteur("voiture de course")
Dans Pygame Zero, nos images doivent être stockées dans un répertoire appelé images, à côté de notre fichier programme. Ainsi, notre acteur rechercherait un fichier image dans le dossier images appelé racecar.png. Il peut s'agir d'un fichier GIF ou JPG, mais il est recommandé que vos images soient des fichiers-p.webp
Vous pouvez définir sa position sur l'écran en tapant:
car.pos = 350, 560
Après cela, dans notre fonction draw(), nous pouvons taper
car.draw() # dessine notre voiture de course à sa position définie
Le programme complet sera comme ceci:
#!/usr/bin/python3
import pgzrun WIDTH = 700 # largeur de la fenêtre HEIGHT = 800 # hauteur de la fenêtre car = Actor("racecar") car.pos = 350, 560 def draw(): # pygame zero draw function screen.fill((128, 128, 128)) # remplir l'écran avec car.draw() pgzrun.go()
Testez votre programme pour vous assurer que cela fonctionne.
Étape 5: Contrôler l'acteur
Une fois que nous avons le dessin de notre voiture à l'écran, l'étape suivante consiste à permettre au joueur de la déplacer.
Nous pouvons le faire en appuyant sur des touches. Nous pouvons lire l'état de ces clés dans une autre fonction prédéfinie appelée update().
La fonction update()
Cette fonction est vérifiée en permanence pendant l'exécution du jeu.
Nous devons écrire du code pour détecter les pressions sur les touches fléchées et aussi pour faire quelque chose à ce sujet.
Nous allons donc ajouter cette fonction à notre programme
mise à jour def():
si clavier.gauche: voiture.x -=2 si clavier.droit: voiture.x +=2 si clavier.haut: voiture.y -=2 si clavier.bas: voiture.y +=2
Ces lignes de code déplaceront l'acteur de la voiture vers la gauche, la droite, l'avant et l'arrière.
Étape 6: Construire la piste
Maintenant que nous avons une voiture que nous pouvons diriger, nous avons besoin d'une piste pour qu'elle puisse rouler.
Nous allons construire notre piste à partir d'acteurs, une rangée à la fois. Nous devrons faire des listes pour garder une trace des acteurs que nous créons.
Nous devrons également configurer quelques variables supplémentaires pour la piste.
Créons ensuite une nouvelle fonction appelée makeTrack(), la fonction ajoutera une piste Actor à gauche et une à droite, toutes deux utilisant l'image bare-p.webp
trackLeft = # liste pour stocker les barrières gauches
trackRight = # liste pour stocker les barrières de droite trackCount = 0 # compte le nombre de barrières trackPosition = 350 trackWidth = 150 # largeur entre les barrières gauche et droite def makeTrack(): # fonction pour faire une barrière à gauche et à droite global trackCount, trackLeft, trackRight, trackPosition, trackWidth trackLeft.append(Actor("nu", pos = (trackPosition-trackWidth, 0))) trackRight.append(Actor("nu", pos = (trackPosition + trackWidth, 0))) trackCount +=1
La prochaine chose que nous devons faire est de déplacer les sections de piste le long de l'écran vers la voiture.
Écrivons une nouvelle fonction appelée updateTrack(), cette fonction met à jour l'endroit où les blocs de piste apparaîtront. Les morceaux de piste sont créés par des nombres aléatoires, donc chaque lecture est différente.
trackDriction = False
SPEED = 4 # définit la vitesse du jeu à partir de random import randint # importe la classe randint à partir du module aléatoire def updateTrack(): global trackCount, trackPosition, trackDirection, trackWidth, SPEED b = 0 while b
Veuillez vous référer au fichier zip ci-dessous nommé "RaceGameDemo".
Si nous exécutons notre code pour le moment, nous devrions voir une piste serpenter vers la voiture. Le seul problème est que nous pouvons déplacer la voiture au-dessus des barrières de la voie et nous voulons garder la voiture à l'intérieur avec une détection de collision.
Étape 7: Accident de voiture
Nous devons nous assurer que notre voiture ne touche pas la piste Acteurs.
nous pouvons également tester les collisions en utilisant la méthode colliderect() dans notre fonction updateTrack().
Dans ce jeu, nous aurons trois états différents pour le jeu stockés dans notre variable gameStatus:
- gameStatus == 0 # le jeu est en cours d'exécution
- gameStatus == 1 # accident de voiture
- gameStatus == 2 # jeu terminé
Nous devrons changer notre fonction draw() et notre fonction update() pour répondre à la variable gameStatus.
La touche finale
Tout ce que nous devons faire maintenant est d'afficher quelque chose si gameStatus est défini sur 1 ou 2, par exemple nous devrions afficher un rouge
drapeau, si la voiture s'est écrasée. Nous pouvons le faire avec le code ci-dessous:
screen.blit("redflag", (230, 230))
Pour voir si la voiture a atteint l'arrivée, il faut compter combien de sections de piste ont été créées puis peut-être quand on arrive à 200, mettre gameStatus sur 2. Puis afficher le drapeau à damier:
screen.blit("finishflag", (230, 230))
Nous afficherons également du texte à l'écran comme le score actuel du match.
Jetez un œil à la liste complète des codes pour voir comment tout cela s'emboîte.
Étape 8: Exécutez le jeu sur Raspberry Pi
Sur Raspberry Pi, pgzero est installé par défaut depuis la sortie de Raspbian Jessie en septembre 2015.
Mettez simplement à jour votre Raspberry Pi en utilisant la commande:
sudo apt-get mise à jour
Accédez à l'emplacement de votre fichier et tapez dans le terminal.
pgzrun.py
Étape 9: avez-vous gagné ?
Vous pouvez rendre le jeu plus facile ou plus difficile en modifiant la variable trackWidth pour que la piste ait une largeur différente. Vous pouvez modifier la valeur de SPEED pour que la piste se déplace plus rapidement ou plus lentement.
Étape 10: Conclusion
Pygame Zero est un excellent choix pour tous ceux qui veulent commencer à écrire des jeux informatiques.
Si vous avez des questions, vous pouvez bien sûr laisser un commentaire. Pour en savoir plus sur mes œuvres, veuillez visiter ma chaîne:
monYouTube
mon Twitter
monLinkedin
Merci d'avoir lu cette instructable ^^ et bonne journée. À plus. Ahmed Nouira.
Conseillé:
Créez votre propre console de jeu rétro portable ! qui est également une tablette Win10 ! : 6 étapes (avec photos)
Créez votre propre console de jeu rétro portable ! …… qui est également une tablette Win10 ! : Dans ce projet, je vais vous montrer comment créer une console de jeu rétro portable qui peut également être utilisée comme tablette Windows 10. Il se composera d'un 7" LCD HDMI avec écran tactile, un LattePanda SBC, un PCB d'alimentation USB Type C PD et quelques autres complémentar
Créez votre propre jeu de pong 1D : 5 étapes (avec photos)
Créez votre propre jeu de pong 1D : pour ce projet, je vais vous montrer comment j'ai combiné une carte MDF avec des boutons de sonnerie, des LED et un Arduino Nano afin de créer un jeu de pong 1D vraiment amusant à jouer. En chemin, je vais vous montrer comment créer le circuit électronique et comment diff
Créez une console de jeu avec votre Raspberry Pi ! : 6 étapes
Créez une console de jeu avec votre Raspberry Pi ! : Voulez-vous jouer à des jeux rétro sans payer pour les vieilles consoles chères ? C'est exactement ce que vous pouvez faire avec le Raspberry Pi. Le Raspberry Pi est un "ordinateur de la taille d'une carte de crédit" qui est capable de beaucoup de choses sympas. Il existe de nombreux types différents
Contrôleur de jeu DIY basé sur Arduino - Contrôleur de jeu Arduino PS2 - Jouer à Tekken avec la manette de jeu DIY Arduino : 7 étapes
Contrôleur de jeu DIY basé sur Arduino | Contrôleur de jeu Arduino PS2 | Jouer à Tekken avec la manette de jeu DIY Arduino : Bonjour les gars, jouer à des jeux est toujours amusant, mais jouer avec votre propre contrôleur de jeu personnalisé DIY est plus amusant. Nous allons donc créer un contrôleur de jeu utilisant arduino pro micro dans cette instructables
Créez votre propre kit de jeu électronique : 7 étapes
Créez votre propre kit de jeu électronique : conçu à l'origine pour la Maker Faire par Grand Idea Studio, le "Construisez votre propre kit de jeu électronique" est un kit sur mesure destiné à vous initier au monde de l'électronique et de la soudure. Une fois assemblé avec succès, le kit devient