Commit 0b5eb1df3377d5d28b4532338e59d3e7dd7d0bf4

Authored by Martin CHAUVELIERE
0 parents

1ere Version

ListeC/Liste.c 0 → 100644
  1 +++ a/ListeC/Liste.c
@@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
  1 +#include <stdio.h>
  2 +#include <stdlib.h>
  3 +#include "Liste.h"
  4 +
  5 +void creer_liste(struct liste_entite *l)
  6 +{
  7 + l = malloc(sizeof(struct liste_entite));
  8 +}
  9 +
  10 +struct entite creer_entite(int x, int y, int idd)
  11 +{
  12 + struct entite e;
  13 + e.posx=x;
  14 + e.posy=y;
  15 + e.id=idd;
  16 + return e;
  17 +}
  18 +
  19 +void ajout_tete(struct liste_entite **pL, struct entite x)
  20 +{
  21 + struct liste_entite *tmp;
  22 + tmp = malloc(sizeof(struct liste_entite));
  23 + tmp->enti = x;
  24 + tmp->suivant = *pL;
  25 + *pL = tmp;
  26 +}
  27 +
  28 +
  29 +void imprimer_liste(struct liste_entite *l)
  30 +{
  31 + struct liste_entite *p;
  32 + p = l;
  33 + while (p != NULL)
  34 + {
  35 + printf("%d -> ",p->enti.posx);
  36 + p=p->suivant;
  37 + }
  38 + printf("\n");
  39 +}
  40 +
  41 +
ListeC/Liste.h 0 → 100644
  1 +++ a/ListeC/Liste.h
@@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
  1 +#include <stdio.h>
  2 +#include <stdlib.h>
  3 +
  4 +struct entite
  5 +{
  6 + int posx;
  7 + int posy;
  8 + int id;
  9 +};
  10 +
  11 +
  12 +struct liste_entite
  13 +{
  14 + struct entite enti;
  15 + struct liste_entite *suivant;
  16 +};
  17 +
  18 +
  19 +void ajout_tete(struct liste_entite**, struct entite);
  20 +
  21 +void creer_liste(struct liste_entite*);
  22 +
  23 +struct entite creer_entite(int,int,int);
  24 +
  25 +void imprimer_liste(struct liste_entite*);
Main/Makefile 0 → 100644
  1 +++ a/Main/Makefile
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +CC=clang
  2 +TARGET=exec
  3 +CFLAGS=-g -W -Wall -Wextra
  4 +LDFLAGS=-I Graphique -l graph -L ../Graphique -l SDL -l SDL_ttf
  5 +
  6 +default: $(TARGET)
  7 +
  8 +Liste.o : ../ListeC/Liste.c ../ListeC/Liste.h
  9 + clang $(CFLAGS) -c ../ListeC/Liste.c
  10 +
  11 +Monstre.o : ../Monstre/Monstre.c ../Monstre/Monstre.h ../ListeC/Liste.h
  12 + clang $(CFLAGS) -c ../Monstre/Monstre.c
  13 +
  14 +Missile.o : ../Missile/Missile.c ../Missile/Missile.h ../ListeC/Liste.h
  15 + clang $(CFLAGS) -c ../Missile/Missile.c
  16 +
  17 +main.o : main.c ../ListeC/Liste.h
  18 + clang $(CFLAGS) -c main.c
  19 +
  20 +
  21 +$(TARGET): Liste.o main.o Monstre.o Missile.o
  22 + clang main.o Liste.o Monstre.o Missile.o -o $(TARGET) $(LDFLAGS)
  23 +
  24 +.PHONY: clean
  25 +clean:
  26 + rm -f *.o
  27 + rm -f $(TARGET)
Main/main.c 0 → 100644
  1 +++ a/Main/main.c
@@ -0,0 +1,63 @@ @@ -0,0 +1,63 @@
  1 +#include <stdio.h>
  2 +#include <unistd.h>
  3 +#include <SDL/SDL.h>
  4 +#include "../Graphique/libgraph.h"
  5 +#include "../ListeC/Liste.h"
  6 +#include "../Monstre/Monstre.h"
  7 +#include "../Missile/Missile.h"
  8 +
  9 +#define TailleX 500
  10 +#define TailleY 500
  11 +//clang Try.c -I Graphique -l graph -L Graphique -l SDL -l SDL_ttf
  12 +
  13 +
  14 +char touche()
  15 +{
  16 + char touche;
  17 + evenement even;
  18 + lireEvenement (&even,&touche,NULL);
  19 + return touche;
  20 +}
  21 +
  22 +int main()
  23 +{
  24 + struct liste_entite *enemies = NULL;
  25 + creer_liste(enemies);
  26 + ajout_tete(&enemies,creer_entite(50,50,0));
  27 + ajout_tete(&enemies,creer_entite(150,50,0));
  28 + ajout_tete(&enemies,creer_entite(250,50,0));
  29 + imprimer_liste(enemies);
  30 + int sens=1;
  31 + int *psens=&sens;
  32 +
  33 + struct entite joueur;
  34 + joueur.posx=225;
  35 + joueur.posy=470;
  36 + int canon = chargerLutin("../../Lutins/invader_canon.bmp",COULEUR_NOIR);
  37 +
  38 + struct liste_entite *tires = NULL;
  39 + creer_liste(tires);
  40 + //ajout_tete(&tires,creer_entite(225,470,0));
  41 + Tirer(joueur,&tires);
  42 + imprimer_liste(tires);
  43 + int missile = chargerLutin("../../Lutins/invader_missile.bmp",COULEUR_NOIR);
  44 +
  45 + char Nom[20]="PremiereFenetre";
  46 + creerSurface(TailleX,TailleY,Nom);
  47 + int lulu = chargerLutin("../../Lutins/invader_monstre1_1.bmp",COULEUR_NOIR);
  48 +
  49 + while(1)
  50 + {
  51 + afficherLutin(canon,joueur.posx,joueur.posy);
  52 + DeplacementLutin(lulu,enemies,psens,1);
  53 +
  54 + char c = touche();
  55 + printf("%c",c);
  56 + DeplacementTire(missile,tires);
  57 +
  58 + majSurface();
  59 + rectanglePlein(0,0,TailleX,TailleY,COULEUR_NOIR);
  60 + SDL_Delay(20);
  61 + }
  62 + return 0;
  63 +}
Missile/Missile.c 0 → 100644
  1 +++ a/Missile/Missile.c
@@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
  1 +#include <stdio.h>
  2 +#include <stdlib.h>
  3 +#include "../Graphique/libgraph.h"
  4 +#include "../ListeC/Liste.h"
  5 +#include "Missile.h"
  6 +
  7 +
  8 +void Tirer(struct entite joueur, struct liste_entite **pl)
  9 +{
  10 + ajout_tete(pl,creer_entite(joueur.posx+18,joueur.posy-5,0));
  11 +}
  12 +
  13 +
  14 +void DeplacementTire(int tire,struct liste_entite *l)
  15 +{
  16 + struct liste_entite *ml=l;
  17 + while(ml != NULL)
  18 + {
  19 + ml->enti.posy-=5;
  20 + afficherLutin(tire,ml->enti.posx,ml->enti.posy);
  21 + ml=ml->suivant;
  22 + }
  23 +}
Missile/Missile.h 0 → 100644
  1 +++ a/Missile/Missile.h
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +#include <stdio.h>
  2 +#include <stdlib.h>
  3 +
  4 +void Tirer(struct entite, struct liste_entite**);
  5 +
  6 +void DeplacementTire(int,struct liste_entite*);
Monstre/Monstre.c 0 → 100644
  1 +++ a/Monstre/Monstre.c
@@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
  1 +#include <stdio.h>
  2 +#include <stdlib.h>
  3 +#include "../Graphique/libgraph.h"
  4 +#include "../ListeC/Liste.h"
  5 +#include "Monstre.h"
  6 +
  7 +//sens 1 = Va vers la droite
  8 +void DeplacementLutin(int lutin,struct liste_entite *l, int *psens, int speed)
  9 +{
  10 + int ind=0;
  11 + struct liste_entite *ml=l;
  12 + while(ml != NULL)
  13 + {
  14 + if (*psens==1)
  15 + {
  16 + ml->enti.posx+=speed;
  17 + if(ml->enti.posx>=450)ind=1;
  18 + afficherLutin(lutin,ml->enti.posx,ml->enti.posy);
  19 + }
  20 + else
  21 + {
  22 + ml->enti.posx-=speed;
  23 + if(ml->enti.posx<=50)ind=2;
  24 + afficherLutin(lutin,ml->enti.posx,ml->enti.posy);
  25 + }
  26 + ml=ml->suivant;
  27 + }
  28 + if (ind==1)
  29 + {
  30 + *psens=0;
  31 + struct liste_entite *ml2=l;
  32 + while(ml2 != NULL)
  33 + {
  34 + ml2->enti.posy+=30;
  35 + ml2=ml2->suivant;
  36 + }
  37 + }
  38 + else if (ind==2)
  39 + {
  40 + *psens=1;
  41 + struct liste_entite *ml2=l;
  42 + while(ml2 != NULL)
  43 + {
  44 + ml2->enti.posy+=30;
  45 + ml2=ml2->suivant;
  46 + }
  47 + }
  48 +}
  49 +
Monstre/Monstre.h 0 → 100644
  1 +++ a/Monstre/Monstre.h
@@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
  1 +#include <stdio.h>
  2 +#include <stdlib.h>
  3 +
  4 +void DeplacementLutin(int,struct liste_entite*,int*,int);