Les meilleurs développeurs C++ freelances sont sur Codeur.com
Fermé·Moins de 500 €·4 offres·328 vues·5 interactions
SNAKE GAME in C++
Dans ce TP. vous allez créer un jou Snako on utilinant le C**. Le jeu Snake est un jeu classique et populnire dans lequel lo jouour contrôle un serpent qui se déplace sur l'écran. essayant de manger de la nourriture ot d'éviter d'entrer en collision avec les murs ou avec sa propre queue. Vous pnsserez en revuo lo processus étape par étape et expliquerez les fonctions et paramétres nécessairos utilisós dans lo code.
Conditions préalables
Avant de commencer à coder, assurez-vous d'avoir une compréhension de base du langage de programmation C++ et des concepts de variables, de boucles et de fonctions.
Assurez vous également qu'un compilateur C++ est installé sur votre système. Vous pouvez choisir n'importe quel compilateur populaire tel que GCC ou. Microsoft Visual C+*.
Configurez votre environnement de développement en installant le compilateur et un environnement de développement intégré (IDE) approprié tel que Code:Blocks ou Visual
Studio
Mise en place du jeu du serpent
Vous commencerez par mettre en place la structure de base du jeu Snake. Vous définirez le variables necessaires et initialiserez lotnt initial du sou
Finclude ciostream?
Finclude cconio. h»
Finclude «stdio.h>
#include <Windows.h?
Dans le code ci dessus, vous allez déclarer les variables nécessaires au jeu qui :
• Permet de savoir si le jeu est terminé ou non.
• Définit les dimensions de l'écran de jeu).
• Représente la position actuelle du sérpent.
• Représente la position du fruit que le serpent doit manger.
• Stocke le score du joueur.
• Permet de stocker les positions de la queue du serpent.
• Garde une trace de la longueur de la queue du serpent.
• Représente le caractère utilisé pour afficher le fruit à l'écran.
Représente les directions possibles dane lesquelles le xerpent peut se déplacer.
Tracer une limite pour le jeu du serpent
Ensuite, vous implementerez. -
La fonction qui sera responsable du rendu de l'écran de jeu et de l'affichage du serpent, du fruit et du score. Cette fonction utilisera une combinaison de boucles et d'instructions conditionnelles pour dessiner chnque élément du jeu sur l'écran de la console.
Voici ce que fait chaque partie du code
Efface l'écran de la console.
La première boucle imprime la bordure supérieure de l'écran de jeu, composée
caractense.n
• La deuxième boucle parcourt chaque ligne de l'écran de jeu.
a boucle imbriquée parcourt chaque colonne de lecran de jeu
Si la position actuelle corrospond à la tote du serpent (x. y). ll imprime sO » pour
représenter la tête du serpent.
• Si la position actuelle correspond à la position du fruit (fruitX, fruitY), il imprime le caractère du fruit.
Si la position actuelle correspond à un segment de la queue du serpent, un « o» est imprimé pour représenter la queue du serpent.
Si aucune des conditions ci-dessus n'est remplie, il imprime un espace vide.
• Après chaque ligne, une nouvelle ligne est imprimée.
• Enfin, la bordure inférieure et le score du joueur sont affichés.
Gestion des entrées utilisateur dans Snake Game
• Maintenant, implémentez la fonction InputO, qui sera chargée de gérer les entrées de l'utilisateur et de mettre à jour la direction du serpent en conséquence.
• La fonction InputO utilise les fonctions _kbhitO et _getch0 de la bibliothèque conio.h pour détecter la saisie au clavier. Voici ce que fait chaque partie du code :
_kbhit0: Vérifie si une touche est actuellement enfoncée.
_getchO : Récupère le caractère de la touche enfoncée.
• L'instruction switch vérifie la valeur de la touche enfoncée et met à jour la variable dir en conséquence. Les directions possibles sont :o *: GAUCHE o *': DROITE
o Y: HAUT
• T: BAS
"*: Quittez le jeu
Mise à jour de la logique du jeu Snako
La fonction Logiel sera chargée de mettre à jour la logique du jeu, notamment le déplacement du serpent. la détection des collisions et la mise à jour du score.
Voici ce que fera chaque partie du code :
Stocker la position précédente de la tête du serpent dans prevX et prevY.
Mettre à jour le premier élément des tableaux tail (tailX(o) et tailY(0)) avec la nouvelle position de la tête du serpent (x et y).
• Mettre à jour le reste de la queue en déplaçant les positions précédentes vers l'avant.
Mettre à jour la position de la tête du serpent en fonction de la direction actuelle.
Vérifer si le serpent a heurté le mur. Si c'est le cas, vous définissons gameOver sur
crue et affichons un message de fin de partie.
• Vérifier si le serpent est entré en collision avec sa propre queue. Si c'est le cas, vous définirez gameOver sur true et afficherez un message de fin de partie.
On vérifie si le serpent a mangé le fruit. Si c'est le cas, vous augmenterez le score. augmenterez la longueur de la queue et générerez une nouvelle position aléatoire pour le
fruit
Mettre tous ensemble
Maintenant que vous allez implémenter toutes les fonctions nécessaires, écrivez la fonction main0 pour tout mettre en place et exécuter le jeu.
Dans la fonction main0, vous allez appeler la fonction Setup0 pour initialiser le jeu. Ensuite. vous entrez dans une boucle de jeu qui continue jusqu'à ce que gameOver soit vrai. A T'intérieur de la boucle, vous appellerez los fonctions Draw0, Input0 et Logic0 pour mettre à jour et restituer le jeu. Vous ajouteroz ógalement un petit délai entro chaque image en utilisant la fonction SleepO pour contrôler la vitonso du jeu
Budget indicatif : Moins de 500 €
Publication : 11 décembre 2023 à 22h14
Profils recherchés : Développeur C++ freelance
4 freelances ont répondu à ce projet
4 propositions de devis en moins de 2h
Votre navigateur Web n’est plus à jour. Il ne permet pas d’afficher correctement le site Codeur.com.
Nous vous invitons à mettre à jour votre navigateur ou à utiliser un autre navigateur plus récent.