Fonctions en action

Description

Ce programme est divisée en deux: dans la 1ere partie on peut faire sauter Mario grâce a l'utilisation d'une fonction carre du type : "a*x*x+b*x+c". On peut aussi modifier certains paramètres de cette dernière pour que Mario saute plus haut ou plus vite.
Ensuite, dans la seconde partie du programme, il est possible de générer des disques toujours grâce à une fonction mais du "type": a*sqrt(b-(x*x)) avec b= "carre du rayon du disque".
Et je vous conseille de jeter un coup d ?il a ma capture d?écran qui montre (je trouve) assez bien le fonctionnement des 2 parties du programme.
Ce programme a ete créé avec la SDL et son extension SDL_image.

Source / Exemple :


 
Voici les fonctions utilisées pour les 2 parties du programme. 

#pour le saut de Mario: 

double fonctionCarree(double x, double a, double b, double c, int quoi) 
{ 
  if(quoi==TROUVER_Y) 
  { 
    double y=0; 
    y=(a*x*x)+(b*x)+c; 
    return y; 
  }//"TROUVER_X" ne renvoie que la + petite somlution 
  else 
  { 
    double delta=0, racine_1=0, racine_2=0, racineInf=0, racineSup=0; 
    delta=b*b-4*a*c; 
    if(0<=delta) 
    { 
      racine_1=(-b-(sqrt(delta)))/(2*a); 
      racine_2=(-b+(sqrt(delta)))/(2*a); 
    } 
    if(racine_1<racine_2) 
    { 
      racineInf=racine_1; 
      racineSup=racine_2; 
    } 
    else 
    { 
      racineSup=racine_1; 
      racineInf=racine_2; 
    } 
    return racineInf; 
  } 
} 

#pour genererDisques: 

double fonctionDemiCercle(double x, double a, int b) 
{ 
  double y=0; 

  //verifie que la somme des termes sous la racine ne soit pas negative ("sqrt(x<0)"->impossible!) 
  if(0<=fonctionCarree(x, -1, 0, a, TROUVER_Y)) 
  { 
    printf("fonctionDemiCercle:OK!\n"); 
    y=b*sqrt(a-(x*x));//la formule magique! 
    return y; 
  } 
  else 
  { 
    printf("valeur sous la racine inferieure a 0!\n"); 
  } 
} 

Conclusion :


J espère que vous avez bien compris le déroulement du programme mais si vous êtes en première ou au-delà il ne doit pas avoir de soucis. Vous aurez surement remarquez aussi que j'ai essaye de créer une fonction Accélération qui est sensé faire en sorte que Mario coure de manière "harmonieuse". Je l'ai peu ou pas commente mais ce n'est pas une fonction très importante de toute façon.

Sinon merci d'avoir pris le temps de lire mon code et n hésitez pas à laisser des commentaires bonnes ou mauvaises sur cela.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.