// Includes ! #include #include //Boucle qui va afficher l'image correspondante à l'emplacement dans le tableau 'map' void tile(int* map, image_t** img, image_t** sup); void perso(int* tp, image_t** perso); int main(void) { int tp[2]={0, 0}; key_event_t touche; int boucle = 0; //Importation de BEAUCOUPS d'images extern image_t img_t0; extern image_t img_t1; extern image_t img_t2; extern image_t img_t3; extern image_t img_t4; extern image_t img_t5; extern image_t img_t6; extern image_t img_t7; extern image_t img_t8; extern image_t img_t9; extern image_t img_t10; extern image_t img_t11; extern image_t img_t12; extern image_t img_t13; extern image_t img_t14; extern image_t img_t15; extern image_t img_Porte; extern image_t img_Vitesse; extern image_t img_Rebond; extern image_t img_1; extern image_t img_2; extern image_t img_3; extern image_t img_4; extern image_t img_5; extern image_t img_6; extern image_t img_7; extern image_t img_8; extern image_t img_9; extern image_t img_10; extern image_t img_11; extern image_t img_12; extern image_t img_13; extern image_t img_14; extern image_t img_15; extern image_t img_G; extern image_t img_D; extern image_t img_N; //16: Porte //17: Rien //1xx: Vitesse //2xx: Rebond //{, , , , , , , , , , , , , , , } //La carte de l'ecran pour les tiles int map[128] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 115, 215, 315, 415, 515, 615, 715, 815, 915, 1015, 1115, 1215, 1315, 1415, 1515, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 6, 1614, 1714, 12, 16, 17, 6, 14, 14, 14, 14, 14, 14, 14, 14, 12, 7, 15, 15, 115, 14, 14, 815, 15, 15, 15, 15, 15, 15, 15, 15, 13, 3, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 9, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17}; //Les pointeurs des images image_t* p_img[17] = {&img_t0, &img_t1, &img_t2, &img_t3, &img_t4, &img_t5, &img_t6, &img_t7, &img_t8, &img_t9, &img_t10, &img_t11, &img_t12, &img_t13, &img_t14, &img_t15, &img_Porte}; image_t* p_sup[17] = {&img_1, &img_2, &img_3, &img_4, &img_5, &img_6, &img_7, &img_8, &img_9, &img_10, &img_11, &img_12, &img_13, &img_14, &img_15, &img_Vitesse, &img_Rebond}; image_t* p_perso[3] = {&img_G, &img_N, &img_D}; //Le dessin ^^ while (boucle == 0) { dclear(C_WHITE); tile(map, p_img, p_sup); perso(tp, p_perso); //L'affichage dupdate(); touche = pollevent(); switch (touche.key) { case KEY_LEFT: if (touche.type == KEYEV_DOWN) tp[0] = 1; else tp[0] = 0; break; case KEY_RIGHT: if (touche.type == KEYEV_DOWN) tp[1] = 1; else tp[1] = 0; break; case KEY_MENU: boucle = 1; break; } } //La fin de la fin return 1; } void tile(int* map, image_t** img, image_t** sup) { for (int i = 0 ; i <= 7 ; i++) { for (int j = 0 ; j <= 15 ; j++) { if (map[16*i + j] != 17) { dimage(8*j, 8*i, img[map[16*i+j]-(map[16*i+j]/100)*100]); if (map[16*i+j] > 99) { dimage(8*j, 8*i, sup[(map[16*i+j]/100)-1]); } } } } } void perso(int* tp, image_t** perso) { if (tp[0] == 1) dimage(2, 18, perso[0]); else if (tp[1] == 1) dimage(2, 18, perso[2]); else dimage(2, 18, perso[1]); }