Beispiel #1
0
void affiche_appel(n_appel *n)
{
  char *fct = "appel";
  affiche_balise_ouvrante(fct, trace_abs);
  affiche_texte( n->fonction, trace_abs);
  affiche_l_exp(n->args);
  affiche_balise_fermante(fct, trace_abs);
}
Beispiel #2
0
void affiche_foncDec(n_dec *n)
{
  char *fct = "foncDec";
  affiche_balise_ouvrante(fct, trace_abs);
  affiche_texte( n->nom, trace_abs );
  affiche_l_dec(n->u.foncDec_.param);
  affiche_l_dec(n->u.foncDec_.variables);
  affiche_instr(n->u.foncDec_.corps);
  affiche_balise_fermante(fct, trace_abs);
}
Beispiel #3
0
/*
   Affiche les informations utiles sur l'interface utilisateur (bandeau en bas de l'écran)
*/
void texte(SDL_Renderer *s, map_t * m) {
    SDL_Rect rect;
    int i,j;

      for(i= NOM_CASES_VISIBLES_HAUTEUR ; i<NOM_CASES_VISIBLES_HAUTEUR +  (HAUTEUR_INTERFACE/SIZE)+2; i++) {
        for(j=0; j<NOM_CASES_VISIBLES_LARGEUR; j++) {
            // Crée un rectangle d'une certaine taille : une tuile qu'on va afficher sur la carte
            rect.w=SIZE;
            rect.h=SIZE;

            // Position de la tuile sur la carte
            rect.x=j*SIZE;
            rect.y=i*SIZE;

            // On affiche la tuile sur la carte, en indiquant le sprite à utiliser
            SDL_RenderCopy(s, tile[BROUILLARD_32], NULL, &rect);
        }
    }


    char txt[100];

    // SCORE DES ÉQUIPES
    sprintf(txt, "Score : %d VS %d", m->score_equipe_joueur, m->score_equipe_adverse);
    affiche_texte(s, m, 0, 0, txt, WHITE);

    // Bonus puissance
    if(m->tanks[m->num_tank_joueur].bonus == BONUS_PUISSANCE) {
        sprintf(txt, "Bonus tir : + %d", m->tanks[m->num_tank_joueur].valeur_bonus);
        affiche_texte(s, m, 0, 1, txt, GREEN);
    }
    else {
         affiche_texte(s, m, 0, 1, "Bonus tir : 0", WHITE);
    }


    // POINTS DE VIE
    int vie =m->tanks[m->num_tank_joueur].point_vie_tank;
    int color;
    if(vie > 75) {
        color=GREEN;
    }
    else if(vie > 25) {
        color=ORANGE;
    }
    else {
        color=RED;
    }
    sprintf(txt, "Vie : %d", m->tanks[m->num_tank_joueur].point_vie_tank);
    affiche_texte(s, m, 0, 2, txt, color);

    // SCORE JOUEUR
    sprintf(txt, "Score perso : %d", m->tanks[m->num_tank_joueur].score);
    affiche_texte(s, m, 1, 0, txt, WHITE);


   // Bonus Blindage
    if(m->tanks[m->num_tank_joueur].bonus == BONUS_BLINDAGE) {
        sprintf(txt, "Bonus blindage : + %d", m->tanks[m->num_tank_joueur].valeur_bonus);
        affiche_texte(s, m, 1, 1, txt, GREEN);
    }
    else {
         affiche_texte(s, m, 1, 1, "Bonus blindage : 0", WHITE);
    }

    // NOMBRE TANKS RESTANTS
    sprintf(txt, "%d allies / %d ennemis", m->nb_tank_allies_restants, m->nb_tank_advserses_restants);
    affiche_texte(s, m, 1, 2, txt, WHITE);
}
Beispiel #4
0
/*-------------------------------------------------------------------------*/
void affiche_opExp(n_exp *n)
{
  char *fct = "opExp";
  affiche_balise_ouvrante(fct, trace_abs);
  if(n->u.opExp_.op == plus) affiche_texte("plus", trace_abs);
  else if(n->u.opExp_.op == moins) affiche_texte("moins", trace_abs);
  else if(n->u.opExp_.op == fois) affiche_texte("fois", trace_abs);
  else if(n->u.opExp_.op == divise) affiche_texte("divise", trace_abs);
  else if(n->u.opExp_.op == egal) affiche_texte("egal", trace_abs);
  else if(n->u.opExp_.op == diff) affiche_texte("diff", trace_abs);
  else if(n->u.opExp_.op == inf) affiche_texte("inf", trace_abs);
  else if(n->u.opExp_.op == infeg) affiche_texte("infeg", trace_abs);
  else if(n->u.opExp_.op == ou) affiche_texte("ou", trace_abs);
  else if(n->u.opExp_.op == et) affiche_texte("et", trace_abs);
  else if(n->u.opExp_.op == non) affiche_texte("non", trace_abs);  
  if( n->u.opExp_.op1 != NULL ) {
    affiche_exp(n->u.opExp_.op1);
  }
  if( n->u.opExp_.op2 != NULL ) {
    affiche_exp(n->u.opExp_.op2);
  }
  affiche_balise_fermante(fct, trace_abs);
}