createTile and genNewArena basic function
This commit is contained in:
parent
2e9ce5ddab
commit
0539ec2bb3
@ -5,14 +5,87 @@
|
|||||||
#include <SDL2/SDL_thread.h>
|
#include <SDL2/SDL_thread.h>
|
||||||
#include <SDL2/SDL_mutex.h>
|
#include <SDL2/SDL_mutex.h>
|
||||||
|
|
||||||
int initResources(tilesList) {
|
int initResources() {
|
||||||
resOpen();
|
//resOpen();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void genNewArena(int w, int h, ARENA_TILE* a[][]) {
|
ARENA_H_TILE* createHTile(ARENA_H_TILE* prevHTile) {
|
||||||
a = malloc(sizeof(ARENA_TILE) * w * h);
|
ARENA_H_TILE* tile_h = NULL;
|
||||||
|
|
||||||
for
|
if (prevHTile == NULL) {
|
||||||
|
tile_h = calloc(1,sizeof(ARENA_H_TILE)); //Using calloc because of resetting all memory allocated to 0
|
||||||
|
tile_h->type_id = 0;
|
||||||
|
tile_h->isGround = 1;
|
||||||
|
tile_h->canBeMined = 0;
|
||||||
|
tile_h->nextRow = NULL;
|
||||||
|
tile_h->nextColumn = NULL;
|
||||||
|
|
||||||
|
return tile_h;
|
||||||
|
} else if (prevHTile != NULL) {
|
||||||
|
tile_h = calloc(1,sizeof(ARENA_H_TILE));
|
||||||
|
prevHTile->nextRow = tile_h;
|
||||||
|
tile_h->type_id = 0;
|
||||||
|
tile_h->isGround = 1;
|
||||||
|
tile_h->canBeMined = 0;
|
||||||
|
tile_h->nextRow = NULL;
|
||||||
|
tile_h->nextColumn = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ARENA_W_TILE* createWTile(ARENA_H_TILE* prevHTile, ARENA_W_TILE* prevWTile) {
|
||||||
|
ARENA_W_TILE* tile_w = NULL;
|
||||||
|
|
||||||
|
if (prevHTile != NULL && prevWTile == NULL) {
|
||||||
|
tile_w = calloc(1,sizeof(ARENA_W_TILE));
|
||||||
|
prevHTile->nextColumn = tile_w;
|
||||||
|
tile_w->type_id = 0;
|
||||||
|
tile_w->isGround = 1;
|
||||||
|
tile_w->canBeMined = 0;
|
||||||
|
tile_w->nextColumn = NULL;
|
||||||
|
|
||||||
|
return tile_w;
|
||||||
|
} else if (prevHTile == NULL && prevWTile != NULL) {
|
||||||
|
tile_w = calloc(1,sizeof(ARENA_W_TILE));
|
||||||
|
prevWTile->nextColumn = tile_w;
|
||||||
|
tile_w->type_id = 0;
|
||||||
|
tile_w->isGround = 1;
|
||||||
|
tile_w->canBeMined = 0;
|
||||||
|
tile_w->nextColumn = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ARENA_H_TILE* genNewArena(int w, int h) {
|
||||||
|
ARENA_H_TILE* arenaOrigin = NULL;
|
||||||
|
ARENA_H_TILE* TmpCursor_h = NULL;
|
||||||
|
ARENA_W_TILE* TmpCursor_w = NULL;
|
||||||
|
int i,j;
|
||||||
|
|
||||||
|
for(i=0;i<h;i++){
|
||||||
|
if (i==0) {
|
||||||
|
arenaOrigin = createHTile(NULL);
|
||||||
|
TmpCursor_h = arenaOrigin;
|
||||||
|
} else {
|
||||||
|
createHTile(TmpCursor_h);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(j=0;j<w;j++){
|
||||||
|
if (j==0) {
|
||||||
|
TmpCursor_w = createWTile(TmpCursor_h, NULL);
|
||||||
|
} else {
|
||||||
|
createWTile(NULL, TmpCursor_w);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (j!=0) TmpCursor_w = TmpCursor_w->nextColumn;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i!=0) TmpCursor_h = TmpCursor_h->nextRow;
|
||||||
|
}
|
||||||
|
|
||||||
|
return arenaOrigin;
|
||||||
}
|
}
|
||||||
|
@ -9,16 +9,25 @@ typedef struct items{
|
|||||||
//texture?
|
//texture?
|
||||||
int isFlat;
|
int isFlat;
|
||||||
int minedId;
|
int minedId;
|
||||||
struct items;
|
struct items *nextItem;
|
||||||
}ITEMS;
|
}ITEMS;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct a_tile{
|
typedef struct arena_h_tile{ //Rows chained list
|
||||||
int type_id;
|
int type_id;
|
||||||
//texture?
|
//texture?
|
||||||
int isFlat;
|
int isGround;
|
||||||
int canBeMined;
|
int canBeMined;
|
||||||
//struct a_tile nextTile;
|
struct arena_h_tile *nextRow;
|
||||||
}ARENA_TILE;
|
struct arena_w_tile *nextColumn;
|
||||||
|
}ARENA_H_TILE;
|
||||||
|
|
||||||
|
typedef struct arena_w_tile{ //Columns chained list
|
||||||
|
int type_id;
|
||||||
|
//texture?
|
||||||
|
int isGround;
|
||||||
|
int canBeMined;
|
||||||
|
struct arena_w_tile *nextColumn;
|
||||||
|
}ARENA_W_TILE;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -10,11 +10,6 @@ void initDisplayLib() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int createMainWindows() {
|
int createMainWindows() {
|
||||||
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
|
|
||||||
printf("Erreur chargement librairie SDL ! %s\n",SDL_GetError());
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
SDL_Window *main_test;
|
SDL_Window *main_test;
|
||||||
main_test = SDL_CreateWindow("My test windows", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 320, 140, SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS);
|
main_test = SDL_CreateWindow("My test windows", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 320, 140, SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS);
|
||||||
SDL_Delay(5000);
|
SDL_Delay(5000);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user