/* Création du plateau de jeu avec les pastilles et le serpent written by Yann KERAUDREN and Titouan LERICHE*/ #include #include #include #define LIGNES 40 #define COLONNES 60 #define NBR_POMME 5 #define TAILLE_SERPENT 10 int* plateau_init(void) { int ligne_pomme, colonne_pomme, i, j; int* plateau_tete_queue = NULL; int* tete = NULL; int* queue = NULL; int** plateau = NULL; srand(time(NULL)); /* allocation du tableau qui renvoie les addresses du plateau, de la tete et de la queue */ plateau_tete_queue = malloc(3 * sizeof(long double)); tete = malloc(2*sizeof(short int)); queue = malloc(2*sizeof(short int)); /* allocation du tableau dans le tas */ plateau = calloc(LIGNES, sizeof(double)); for ( i = 0; i < LIGNES; i++) { plateau[i] = calloc(COLONNES, sizeof(int)); } /* positionnement du serpent et marquage de la tete et la queue */ tete[0] = (LIGNES/2)-5 ; tete[1] = COLONNES/2 ; queue[0] = ((LIGNES/2)-5)+TAILLE_SERPENT-1; queue[1] = COLONNES/2; for (i = 0; i < TAILLE_SERPENT ; i++) { plateau[((LIGNES/2)-5)+i][COLONNES/2] = 1; } /* positionnement alétoire des pommes */ for ( i = 0; i < NBR_POMME; i++) { ligne_pomme = rand() % 40; colonne_pomme = rand() % 60; /* teste pour faire apparaitre exactement 5 pommes */ while (plateau[ligne_pomme][colonne_pomme] == 2 || plateau[ligne_pomme][colonne_pomme] == 1) { ligne_pomme = rand() % 40; colonne_pomme = rand() % 60; } /* le chiffre "2" definit une pomme */ plateau[ligne_pomme][colonne_pomme] = 2; } plateau_tete_queue[0] = **plateau; plateau_tete_queue[1] = *tete; plateau_tete_queue[2] = *queue; return plateau_tete_queue; }