Programme carte strategie (disco)

Dependencies:   mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac

Committer:
Sitkah
Date:
Tue May 01 13:25:42 2018 +0000
Revision:
35:742dc6b200b0
Child:
36:6dd30780bd8e
bug turn

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sitkah 35:742dc6b200b0 1 #include "Evitement.h"
Sitkah 35:742dc6b200b0 2
Sitkah 35:742dc6b200b0 3 #include <stdlib.h>
Sitkah 35:742dc6b200b0 4 #include <string.h>
Sitkah 35:742dc6b200b0 5 #include <math.h>
Sitkah 35:742dc6b200b0 6
Sitkah 35:742dc6b200b0 7
Sitkah 35:742dc6b200b0 8
Sitkah 35:742dc6b200b0 9
Sitkah 35:742dc6b200b0 10
Sitkah 35:742dc6b200b0 11 /////////////////////LISTE DES OBSTACLES/////////////////////////////////
Sitkah 35:742dc6b200b0 12 S_obstacle bloc1{
Sitkah 35:742dc6b200b0 13 500, //x
Sitkah 35:742dc6b200b0 14 800, //y
Sitkah 35:742dc6b200b0 15 2, //largeur axe X
Sitkah 35:742dc6b200b0 16 2, //longueur axe Y
Sitkah 35:742dc6b200b0 17 1, //danger
Sitkah 35:742dc6b200b0 18 0, //rayonnement distance à laquelle il y a un possible danger
Sitkah 35:742dc6b200b0 19 };
Sitkah 35:742dc6b200b0 20
Sitkah 35:742dc6b200b0 21 S_obstacle bloc2{
Sitkah 35:742dc6b200b0 22 500, //x
Sitkah 35:742dc6b200b0 23 2150, //y
Sitkah 35:742dc6b200b0 24 2, //largeur axe X
Sitkah 35:742dc6b200b0 25 2, //longueur axe Y
Sitkah 35:742dc6b200b0 26 1, //danger
Sitkah 35:742dc6b200b0 27 0, //rayonnement distance à laquelle il y a un possible danger
Sitkah 35:742dc6b200b0 28 };
Sitkah 35:742dc6b200b0 29
Sitkah 35:742dc6b200b0 30 S_obstacle bloc3{
Sitkah 35:742dc6b200b0 31 1100, //x
Sitkah 35:742dc6b200b0 32 200, //y
Sitkah 35:742dc6b200b0 33 2, //largeur axe X
Sitkah 35:742dc6b200b0 34 2, //longueur axe Y
Sitkah 35:742dc6b200b0 35 10, //danger
Sitkah 35:742dc6b200b0 36 0, //rayonnement distance à laquelle il y a un possible danger
Sitkah 35:742dc6b200b0 37 };
Sitkah 35:742dc6b200b0 38
Sitkah 35:742dc6b200b0 39 S_obstacle bloc4{
Sitkah 35:742dc6b200b0 40 1100, //x
Sitkah 35:742dc6b200b0 41 2600, //y
Sitkah 35:742dc6b200b0 42 2, //largeur axe X
Sitkah 35:742dc6b200b0 43 2, //longueur axe Y
Sitkah 35:742dc6b200b0 44 1, //danger
Sitkah 35:742dc6b200b0 45 0, //rayonnement distance à laquelle il y a un possible danger
Sitkah 35:742dc6b200b0 46 };
Sitkah 35:742dc6b200b0 47
Sitkah 35:742dc6b200b0 48 S_obstacle bloc5{
Sitkah 35:742dc6b200b0 49 1400, //x
Sitkah 35:742dc6b200b0 50 1000, //y
Sitkah 35:742dc6b200b0 51 2, //largeur axe X
Sitkah 35:742dc6b200b0 52 2, //longueur axe Y
Sitkah 35:742dc6b200b0 53 1, //danger
Sitkah 35:742dc6b200b0 54 0, //rayonnement distance à laquelle il y a un possible danger
Sitkah 35:742dc6b200b0 55 };
Sitkah 35:742dc6b200b0 56
Sitkah 35:742dc6b200b0 57 S_obstacle bloc6{
Sitkah 35:742dc6b200b0 58 1400, //x
Sitkah 35:742dc6b200b0 59 1800, //y
Sitkah 35:742dc6b200b0 60 2, //largeur axe X
Sitkah 35:742dc6b200b0 61 2, //longueur axe Y
Sitkah 35:742dc6b200b0 62 1, //danger
Sitkah 35:742dc6b200b0 63 0, //rayonnement distance à laquelle il y a un possible danger
Sitkah 35:742dc6b200b0 64 };
Sitkah 35:742dc6b200b0 65 /*void initialisation_du_tableau(unsigned char **Table) //TABLEAU DE MERDE
Sitkah 35:742dc6b200b0 66 {
Sitkah 35:742dc6b200b0 67 short i = 0;
Sitkah 35:742dc6b200b0 68
Sitkah 35:742dc6b200b0 69 Table = (char*)malloc(sizeof(char**) * 2);
Sitkah 35:742dc6b200b0 70
Sitkah 35:742dc6b200b0 71 /*Table = calloc(1, sizeof(*char) );
Sitkah 35:742dc6b200b0 72
Sitkah 35:742dc6b200b0 73 while(i < (TAILLE_TABLE_Y/TAILLE_CELLULE) )
Sitkah 35:742dc6b200b0 74 {
Sitkah 35:742dc6b200b0 75 Table[i] = calloc((TAILLE_TABLE_X/TAILLE_CELLULE), sizeof(*char));
Sitkah 35:742dc6b200b0 76 i++;
Sitkah 35:742dc6b200b0 77 }
Sitkah 35:742dc6b200b0 78 int i;
Sitkah 35:742dc6b200b0 79 int * tableauDePtr[30];
Sitkah 35:742dc6b200b0 80 int (*tableau)[4];
Sitkah 35:742dc6b200b0 81
Sitkah 35:742dc6b200b0 82 tableau = malloc(5 * sizeof(*tableau));
Sitkah 35:742dc6b200b0 83
Sitkah 35:742dc6b200b0 84
Sitkah 35:742dc6b200b0 85 //---Allocation-----
Sitkah 35:742dc6b200b0 86 for(i=0 ; i < 5 ; i++){
Sitkah 35:742dc6b200b0 87 tableauDePtr[i] = malloc(20 * sizeof(tableau[0]));
Sitkah 35:742dc6b200b0 88 if(tableauDePtr[i] == NULL){ //En cas d'erreur d'allocation
Sitkah 35:742dc6b200b0 89 //N'oubliez pas de notifier l'erreur
Sitkah 35:742dc6b200b0 90 for(i=i-1 ; i >= 0 ; i--) //Libération de l'espace déjà alloué
Sitkah 35:742dc6b200b0 91 free(tableauDePtr[i]);
Sitkah 35:742dc6b200b0 92
Sitkah 35:742dc6b200b0 93 exit(EXIT_FAILURE);
Sitkah 35:742dc6b200b0 94 }
Sitkah 35:742dc6b200b0 95 }
Sitkah 35:742dc6b200b0 96
Sitkah 35:742dc6b200b0 97 //---Libération en cas d'allocation réussie-----
Sitkah 35:742dc6b200b0 98 for(i=0 ; i < 5 ; i++){
Sitkah 35:742dc6b200b0 99 free(tableauDePtr[i]);
Sitkah 35:742dc6b200b0 100 }
Sitkah 35:742dc6b200b0 101
Sitkah 35:742dc6b200b0 102 }*/
Sitkah 35:742dc6b200b0 103 void Terrain_clear(char **Table){
Sitkah 35:742dc6b200b0 104 int x,y;
Sitkah 35:742dc6b200b0 105 for(x=0;x<TAILLE_TABLE_X/TAILLE_CELLULE;x++){
Sitkah 35:742dc6b200b0 106 for(y=0;y<TAILLE_TABLE_Y/TAILLE_CELLULE;y++){
Sitkah 35:742dc6b200b0 107 Table[x][y]=0;
Sitkah 35:742dc6b200b0 108 }
Sitkah 35:742dc6b200b0 109 }
Sitkah 35:742dc6b200b0 110 }
Sitkah 35:742dc6b200b0 111 void Terrain_init(char **Table, struct S_obstacle *liste_objet){
Sitkah 35:742dc6b200b0 112 int x,y,i;
Sitkah 35:742dc6b200b0 113
Sitkah 35:742dc6b200b0 114 /*for(y=0;y<TAILLE_TABLE_Y/TAILLE_CELLULE;y++){
Sitkah 35:742dc6b200b0 115 for(x=0;x<TAILLE_TABLE_YxTAILLE_CELLULE;x++){
Sitkah 35:742dc6b200b0 116 if(liste_objet[i].x==x && liste_objet[i].y==y){
Sitkah 35:742dc6b200b0 117 while(y<(y+largeur)){
Sitkah 35:742dc6b200b0 118 */
Sitkah 35:742dc6b200b0 119 for(i=0; i<nb_objets;i++){
Sitkah 35:742dc6b200b0 120 while(x<(x+liste_objet[i].largeur)){
Sitkah 35:742dc6b200b0 121 while(y<(y+liste_objet[i].longueur)){
Sitkah 35:742dc6b200b0 122 Table[x][y]=liste_objet[i].danger;
Sitkah 35:742dc6b200b0 123 y++;
Sitkah 35:742dc6b200b0 124 }
Sitkah 35:742dc6b200b0 125 x++;
Sitkah 35:742dc6b200b0 126 }
Sitkah 35:742dc6b200b0 127 }
Sitkah 35:742dc6b200b0 128
Sitkah 35:742dc6b200b0 129
Sitkah 35:742dc6b200b0 130
Sitkah 35:742dc6b200b0 131
Sitkah 35:742dc6b200b0 132
Sitkah 35:742dc6b200b0 133 }