Problme langage c joueur objectif

badboys54 -  
 Utilisateur anonyme -
Bonjour,
je suis en train de realiser mon petit jeu en 2d et je voudrais que si le personnage se trouve sur la meme case qu'un objectif le jeux affiche un message bravo et que sa passe au niveau superieur mais je ne sais pas comment faire pour afficher un message si le joueur et sur la meme case que un objectif .
merci
A voir également:

22 réponses

Utilisateur anonyme
 
Ben c'est quand meme pas compliqué....

voila une fonction que tu devras appeler a chaque tour de boucle du jeu:
J'ai supposé que la position de mario et celle de l'objectif sont des variables globales

//Au debut du code

SDL_Rect positionMario;
SDL_Rect positionObjectif;

positionObjectif.x = ici tu complete avec la place en X de l'obj.
positionObjectif.y = ici tu complete avec la place en Y de l'obj.


//declaration dela fonction
bool objectifAtteint(SDL_Rect positionJoueur)
{
if(positionJoueur.x==positionObjectif.x && positionJoueur.y==positionObjectif.y){
return true;
}
else
{
return false;
}
}

//utilisation dela fonction a chaque tour de boucle
//tu passe en argument la position de mario

if(objectifAtteint(positionMario)
continuer = 0;

et pas de case OBJECTIF ou je ne sais pas trop quoi....
0
badboys54
 
ok j'ai reussi avec un code beaucoup plus simple .
if([positionjoueur.x] [positionjoueur.y]==OBJECTIF )
continue = o ;
mais je me suis rendu compte que je ne savait pas ecrire un message qui dissparer au bout de 10 secondes
0
Utilisateur anonyme
 
if([positionjoueur.x] [positionjoueur.y]==OBJECTIF )
continue = o ;


Parce que tu veux me faire croire que ce machin la fonctionne ???

Pour le message tu fais apparaitre l'image, avec sdl_blitsurface, apres tu met un sdl_delay(3000) et apres t'enchaine sur le niveau suivant
0