Commit fbb66c47 authored by FOURREAUX Mathias's avatar FOURREAUX Mathias
Browse files

creation niveau fichier

parent 93a2ab6f
......@@ -12,7 +12,8 @@ SDL_Texture* charger_image(const char* cheminFichier, SDL_Renderer* renderer, in
return image;
}
void afficher_niveau(int *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap, int xCamera, int yCamera){
void afficher_niveau(char *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap, int xCamera, int yCamera){
SDL_Rect destrect;
destrect.h = 50;
destrect.w = 50;
......@@ -21,11 +22,20 @@ void afficher_niveau(int *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap,
destrect.x = i * 50 - xCamera;
destrect.y = j * 50 - yCamera;
SDL_RenderCopy(renderer, spriteMap[0], NULL, &destrect);
for(int k = 1; k < 9; k++){
if(tab[30*j+i] == k){
SDL_RenderCopy(renderer, spriteMap[k], NULL, &destrect);
}
switch(tab[30*j+i]){
case 'H':
SDL_RenderCopy(renderer, spriteMap[1], NULL, &destrect);
break;
case 'Q':
break;
case 'V':
SDL_RenderCopy(renderer, spriteMap[3], NULL, &destrect);
break;
}
}
}
return;
......
......@@ -2,4 +2,4 @@
#include <SDL2/SDL_image.h>
SDL_Texture* charger_image(const char* fichier, SDL_Renderer* renderer, int r, int g, int b);
void afficher_niveau(int *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap, int xCamera, int yCamera);
void afficher_niveau(char *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap, int xCamera, int yCamera);
#include "listeR.h"
#include <stdio.h>
void cons_listeR(ListeR *L, SDL_Rect data){
......@@ -10,73 +11,104 @@ void cons_listeR(ListeR *L, SDL_Rect data){
}
void charger_niveau(int *tab, ListeR *L){
//on met toutes les case 0 pour dire que tout est du sol (provisoire)
for(int j = 0; j < 30; j++){
for(int i = 0; i < 30; i++){
tab[30*j+i] = 0;
}
}
void charger_niveau(char *tab, ListeR *L){
//ici lire fichier et remplacer les cases qu'il faut par 1-8 pour mettre des murs
//je mets a en attendant pour afficher des murs sur le bord de la map
for(int j = 0; j < 30; j++){
tab[30*j+0] = 3;
tab[30*j+29] = 4;
tab[30*0+j] = 1;
tab[30*29+j] = 2;
FILE* fichier = NULL;
fichier = fopen("map.txt", "r");
int caractereActuel;
if (fichier != NULL){
for(int j = 0; j < 33; j++){
for(int i = 0; i < 31; i++){
if(j < 31){
if(i==0){
//caractereActuel = fgetc(fichier);
caractereActuel = fgetc(fichier);
char tmp = caractereActuel;
// caractereActuel = fgetc(fichier);
caractereActuel = tmp;
tab[30*j+i] = caractereActuel;
printf("%c", tab[30*j+i]);
}
else{
caractereActuel = fgetc(fichier);
tab[30*j+i] = caractereActuel;
printf("%c", tab[30*j+i]);
}
}
}
}
fclose(fichier);
}
tab[30*0+0] = 5;
tab[30*0+29] = 6;
tab[30*29+0] = 7;
tab[30*29+29] = 8;
//Remplir la liste de murs
SDL_Rect rect;
for(int j = 0; j < 30; j++){
for(int i = 0; i < 30; i++){
switch(tab[30*j+i]){
case 0:
case 'S':
break;
case 1:
case 'H':
rect.x = i * 50;
rect.y = j * 50;
rect.h = 25;
rect.w = 50;
cons_listeR(L, rect);
//tab[30*j+i] = 1;
break;
case 'V':
rect.x = i * 50;
rect.y = j * 50;
rect.h = 50;
rect.w = 25;
cons_listeR(L, rect);
//tab[30*j+i] = 3;
break;
case 2:
/**
case '2':
rect.x = i * 50;
rect.y = j * 50 + 25;
rect.h = 25;
rect.w = 50;
cons_listeR(L, rect);
L = cons_listeR(L, rect);
break;
case 3:
case '3':
rect.x = i * 50;
rect.y = j * 50;
rect.h = 50;
rect.w = 25;
cons_listeR(L, rect);
L = cons_listeR(L, rect);
break;
case 4:
case '4':
rect.x = i * 50 + 25;
rect.y = j * 50;
rect.h = 50;
rect.w = 25;
cons_listeR(L, rect);
L = cons_listeR(L, rect);
break;
case 5:
case 6:
case 7:
case 8:
case '5':
case '6':
case '7':
case '8':
rect.x = i * 50;
rect.y = j * 50;
rect.h = 50;
rect.w = 50;
cons_listeR(L, rect);
L = cons_listeR(L, rect);
break;
case '0':
break;
*/
}
}
}
......
......@@ -11,5 +11,5 @@ struct s_ListeR
void cons_listeR(ListeR *L, SDL_Rect data);
void charger_niveau(int *tab, ListeR *L);
void charger_niveau(char *tab, ListeR *L);
bool detecter_collision_murs(ListeR L, SDL_Rect rect, int xCamera, int yCamera);
......@@ -12,7 +12,8 @@ int main(int argc, char *argv[])
SDL_Texture *tmp, *balleSprite, *sprites[4], *spritesMap[9];
float mouseX, mouseY;
int vitesse, tempsActuel, tempsPrecedent, tempsActuelTir, tempsActuelAnim, tempsPrecedentAnim,
xCamera, yCamera, dxCamera, dyCamera, map[30][30]; ;
xCamera, yCamera, dxCamera, dyCamera;
char map[32][30]; ;
ListeB ballesTirees;
ListeP persosListe;
ListeR mursListe;
......@@ -73,6 +74,45 @@ int main(int argc, char *argv[])
tmp = charger_image("sprites/effets/blood/blood_hitv3.png", ecran, 0, 0, -1);
sprites[3] = tmp;
/**
FILE* fichier = NULL;
fichier = fopen("map.txt", "r");
int caractereActuel;
if (fichier != NULL){
for(int j = 0; j < 33; j++){
for(int i = 0; i < 31; i++){
if(j < 31){
if(i==0){
//caractereActuel = fgetc(fichier);
caractereActuel = fgetc(fichier);
char tmp = caractereActuel;
// caractereActuel = fgetc(fichier);
caractereActuel = tmp;
map[j][i] = caractereActuel;
printf("%c", map[j][i]);
}
else{
caractereActuel = fgetc(fichier);
map[j][i] = caractereActuel;
printf("%c", map[j][i]);
}
}
}
}
fclose(fichier);
}
*/
//Sons
musique = NULL;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment