Blame view

Monstre/Monstre.c 1.57 KB
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
1
2
3
4
5
6
  #include <stdio.h>
  #include <stdlib.h>
  #include "../Graphique/libgraph.h"
  #include "../ListeC/Liste.h"
  #include "Monstre.h"
  
590ac30b   Martin CHAUVELIERE   Debut Collision
7
8
9
  #define TailleX 500
  #define TailleY 500
  
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
10
  //sens 1 = Va vers la droite
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
11
  void DeplacementSbire(struct liste_entite *l, int *psens, int speed)
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
12
13
14
15
16
17
18
19
  {
      int ind=0;
      struct liste_entite *ml=l;
      while(ml != NULL)
      {
          if (*psens==1)
          {
              ml->enti.posx+=speed;
590ac30b   Martin CHAUVELIERE   Debut Collision
20
              if(ml->enti.posx>=9*TailleX/10)ind=1;
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
21
22
23
24
          }
          else
          {
              ml->enti.posx-=speed;
590ac30b   Martin CHAUVELIERE   Debut Collision
25
              if(ml->enti.posx<=TailleX/10)ind=2;
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
          }
          ml=ml->suivant;
      }
      if (ind==1)
      {
          *psens=0;
          struct liste_entite *ml2=l;
          while(ml2 != NULL)
          {
              ml2->enti.posy+=30;
              ml2=ml2->suivant;
          }
      }
      else if (ind==2)
      {
          *psens=1;
          struct liste_entite *ml2=l;
          while(ml2 != NULL)
          {
              ml2->enti.posy+=30;
              ml2=ml2->suivant;
          }
      }
  }
  
590ac30b   Martin CHAUVELIERE   Debut Collision
51
  
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
52
53
54
55
56
57
58
59
60
61
62
63
64
65
  
  void AfficherSbire(int lutin,struct liste_entite *l)
  {
      struct liste_entite *ml=l;
      while(ml != NULL)
      {
          afficherLutin(lutin,ml->enti.posx,ml->enti.posy);
          ml=ml->suivant;
      }
  }
  
  
  
  void LigneSbire(struct liste_entite **enemies,int nbr_enemies, int nbr_rangee)
590ac30b   Martin CHAUVELIERE   Debut Collision
66
  {
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
67
      for (int j=1; j<=nbr_rangee; j++)
590ac30b   Martin CHAUVELIERE   Debut Collision
68
      {
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
69
70
71
72
73
74
75
          int compteurY=j*TailleY/10;
          int compteurX=TailleX/nbr_enemies;
          for (int i=0; i<nbr_enemies; i++)
          {
              ajout_tete(enemies,creer_entite(compteurX,compteurY,j));
              compteurX +=2*TailleX/(3*nbr_enemies);
          }   
590ac30b   Martin CHAUVELIERE   Debut Collision
76
77
      }
  }