Blame view

Main/main.c 1.92 KB
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
1
  #include <stdio.h>
590ac30b   Martin CHAUVELIERE   Debut Collision
2
  #include <stdlib.h>
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
3
4
5
6
7
  #include <unistd.h>
  #include <SDL/SDL.h>
  #include "../Graphique/libgraph.h"
  #include "../ListeC/Liste.h"
  #include "../Monstre/Monstre.h"
590ac30b   Martin CHAUVELIERE   Debut Collision
8
9
  #include "../Interactif/Interactif.h"
  #include "init.h"
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
10
11
12
  
  #define TailleX 500
  #define TailleY 500
590ac30b   Martin CHAUVELIERE   Debut Collision
13
  #define Sol 475
66b129e5   Martin CHAUVELIERE   Collisions Sbires...
14
  #define ErreurHitbox 2
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
15
  
590ac30b   Martin CHAUVELIERE   Debut Collision
16
  int main()
65adbf2e   Martin CHAUVELIERE   1ere Version tierce
17
  {
590ac30b   Martin CHAUVELIERE   Debut Collision
18
      creerSurface(TailleX,TailleY,Nom);
65adbf2e   Martin CHAUVELIERE   1ere Version tierce
19
  
590ac30b   Martin CHAUVELIERE   Debut Collision
20
      initialiser();
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
21
22
23
24
      
      
      struct liste_entite *enemies = NULL;
      struct liste_entite *tires = NULL;
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
25
      struct liste_entite *bombes = NULL;
65adbf2e   Martin CHAUVELIERE   1ere Version tierce
26
  
590ac30b   Martin CHAUVELIERE   Debut Collision
27
      char texte[15]="SCORE : ";
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
28
      int Score = lutinTexte(texte,COULEUR_BLANC);
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
29
      
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
30
      
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
31
      LigneSbire(&enemies,8,3);
590ac30b   Martin CHAUVELIERE   Debut Collision
32
      int SensVague=1;
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
33
  
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
34
35
36
      int compteur=0;
      int DropAlea=0;
      int CheckAlea=0;
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
37
38
39
40
41
      
      if (pagedemarrage() != 'j')
      {
          return 0;
      }
66b129e5   Martin CHAUVELIERE   Collisions Sbires...
42
      
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
43
44
      
      //Bouble principale
590ac30b   Martin CHAUVELIERE   Debut Collision
45
      while(input!='m')
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
46
      {
590ac30b   Martin CHAUVELIERE   Debut Collision
47
48
          rectanglePlein(0,0,TailleX,TailleY,COULEUR_NOIR);
          rectanglePlein(0,Sol,TailleX,2,COULEUR_VERT);
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
49
          afficherLutin(Score,0,Sol+ErreurHitbox);
590ac30b   Martin CHAUVELIERE   Debut Collision
50
          
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
51
52
53
          afficherLutin(canon,joueur.posx - hitboxcanonL/2 + ErreurHitbox,joueur.posy);
  
          if (DropAlea == 0)
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
54
          {
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
55
              DropAlea = rand() % 31 + 100;
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
56
          }
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
57
58
59
60
61
62
63
64
65
          if (CheckAlea == DropAlea)
          {
              MakeBombeDroppable(enemies,&bombes);
              DropAlea=0;
              CheckAlea=0;
          }
          
          AfficherSbire(sbire,hitboxsbireL,hitboxsbireH,enemies);
          
590ac30b   Martin CHAUVELIERE   Debut Collision
66
67
68
          input = touche();
          action(&joueur,input,&tires);
  
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
69
70
71
72
73
74
          if (compteur==10)
          {
              DeplacementSbire(enemies,&SensVague,1);
              compteur=0;
          } 
  
66b129e5   Martin CHAUVELIERE   Collisions Sbires...
75
          DeplacementTire(missile,&tires);
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
76
          
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
77
78
          DeplacementBombe(bombe,&bombes);
          
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
79
          SupprimerEntitesEnCollision(&tires,hitboxmissileL,hitboxmissileH,&enemies,hitboxsbireL,hitboxsbireH);
65adbf2e   Martin CHAUVELIERE   1ere Version tierce
80
          
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
81
          majSurface();
590ac30b   Martin CHAUVELIERE   Debut Collision
82
          
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
83
          SDL_Delay(20);
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
84
          
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
85
86
          compteur+=1;
          CheckAlea+=1;
2fd95d7e   Martin CHAUVELIERE   1ere Version bis
87
88
89
      }
      return 0;
  }