tom strehle / Mbed 2 deprecated projetv2

Dependencies:   mbed

Committer:
guibouu
Date:
Mon Mar 28 17:50:41 2022 +0000
Revision:
11:0b85a680ad28
Parent:
10:6f9340af7926
projet2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
guibouu 11:0b85a680ad28 1 int ext;
guibouu 11:0b85a680ad28 2 int temps=0;
guibouu 11:0b85a680ad28 3 int effet[2]={14,14};
guibouu 11:0b85a680ad28 4 int effet1[2]={14,14};
guibouu 11:0b85a680ad28 5 int effet2[2]={14,14};
guibouu 11:0b85a680ad28 6 int effet3[2]={14,14};
guibouu 11:0b85a680ad28 7 int effet4[2]={14,14};
guibouu 11:0b85a680ad28 8 //tir
guibouu 11:0b85a680ad28 9 int tir=0;
guibouu 11:0b85a680ad28 10 int tir2=0;
guibouu 11:0b85a680ad28 11 int tirx;
guibouu 11:0b85a680ad28 12 int tirx2;
guibouu 11:0b85a680ad28 13
guibouu 11:0b85a680ad28 14 int autoritir1=1;
guibouu 11:0b85a680ad28 15 int autoritir2=1;
guibouu 11:0b85a680ad28 16
guibouu 11:0b85a680ad28 17 //menu variable
dujardin 4:6a1fff2aa293 18
guibouu 11:0b85a680ad28 19 int menubleu=0;
guibouu 11:0b85a680ad28 20 int menub=0;
guibouu 11:0b85a680ad28 21 int menurouge=0;
guibouu 11:0b85a680ad28 22 int menur=0;
guibouu 11:0b85a680ad28 23 int zeno=1;
guibouu 11:0b85a680ad28 24
guibouu 11:0b85a680ad28 25 //mob
guibouu 11:0b85a680ad28 26 int mvie =100;
guibouu 11:0b85a680ad28 27 int xmob1 =20;
guibouu 11:0b85a680ad28 28 int ymob1=20;
guibouu 11:0b85a680ad28 29 int xdepm=0;
guibouu 11:0b85a680ad28 30 int ydepm=0;
guibouu 11:0b85a680ad28 31 //mob 2
guibouu 11:0b85a680ad28 32 int mvie2=100;
guibouu 11:0b85a680ad28 33 int xmob2=13;
guibouu 11:0b85a680ad28 34 int ymob2=25;
guibouu 11:0b85a680ad28 35 int xdepm2=6;
guibouu 11:0b85a680ad28 36 int ydepm2=0;
guibouu 11:0b85a680ad28 37 //deplacement mob
guibouu 11:0b85a680ad28 38
guibouu 11:0b85a680ad28 39 int timedep=0;
guibouu 11:0b85a680ad28 40 int timetab=0;
guibouu 11:0b85a680ad28 41 int tabdep[18]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};
guibouu 11:0b85a680ad28 42
guibouu 11:0b85a680ad28 43
guibouu 11:0b85a680ad28 44
guibouu 11:0b85a680ad28 45 //menu
dujardin 7:315630fad89f 46 void draw() // ici vous exprimez vos dessins (jamais de delai dans cette boucle)
guibouu 11:0b85a680ad28 47 { // DEBUT de vos dessins
guibouu 11:0b85a680ad28 48 if(zeno==1)
guibouu 11:0b85a680ad28 49 {
guibouu 11:0b85a680ad28 50 if(ccy*1.4>=3 && ccx<4 && ccx>-4 && ccy*1.4<11)
guibouu 11:0b85a680ad28 51 {
guibouu 11:0b85a680ad28 52 menubleu=menubleu+1;
guibouu 11:0b85a680ad28 53 if(menubleu>=20)
guibouu 11:0b85a680ad28 54 {
guibouu 11:0b85a680ad28 55 menubleu=menubleu-20;
guibouu 11:0b85a680ad28 56 menub=menub+1;
guibouu 11:0b85a680ad28 57 }
guibouu 11:0b85a680ad28 58
guibouu 11:0b85a680ad28 59 }
guibouu 11:0b85a680ad28 60 //bleu moins
guibouu 11:0b85a680ad28 61 if(ccy<=0)
guibouu 11:0b85a680ad28 62 {
guibouu 11:0b85a680ad28 63 menubleu=menubleu+1;
guibouu 11:0b85a680ad28 64 if(menubleu>=10&&menub>0)
guibouu 11:0b85a680ad28 65 {
guibouu 11:0b85a680ad28 66 menubleu=menubleu-10;
guibouu 11:0b85a680ad28 67 menub=menub+-1;
guibouu 11:0b85a680ad28 68 }
guibouu 11:0b85a680ad28 69
guibouu 11:0b85a680ad28 70 }
guibouu 11:0b85a680ad28 71
guibouu 11:0b85a680ad28 72 //rouge plus
guibouu 11:0b85a680ad28 73 if(ccy*1.4<=-4 && ccx<4 && ccx>-4 && ccy*1.4>-11)
guibouu 11:0b85a680ad28 74 {
guibouu 11:0b85a680ad28 75 menurouge=menurouge+1;
guibouu 11:0b85a680ad28 76 if(menurouge>=20)
guibouu 11:0b85a680ad28 77 {
guibouu 11:0b85a680ad28 78 menurouge=menurouge-20;
guibouu 11:0b85a680ad28 79 menur=menur+1;
guibouu 11:0b85a680ad28 80 }
guibouu 11:0b85a680ad28 81
guibouu 11:0b85a680ad28 82 }
guibouu 11:0b85a680ad28 83 //bleu moins
guibouu 11:0b85a680ad28 84 if(ccy>=0)
guibouu 11:0b85a680ad28 85 {
guibouu 11:0b85a680ad28 86 menurouge=menurouge+1;
guibouu 11:0b85a680ad28 87 if(menurouge>=10&&menur>0)
guibouu 11:0b85a680ad28 88 {
guibouu 11:0b85a680ad28 89 menurouge=menurouge-10;
guibouu 11:0b85a680ad28 90 menur=menur+-1;
guibouu 11:0b85a680ad28 91 }
guibouu 11:0b85a680ad28 92
guibouu 11:0b85a680ad28 93 }
guibouu 11:0b85a680ad28 94 carre(0,16,menub,16,1,0,0);
guibouu 11:0b85a680ad28 95 carre(0,0,menur,16,0,0,1);
guibouu 11:0b85a680ad28 96
guibouu 11:0b85a680ad28 97
guibouu 11:0b85a680ad28 98 carre(13,6,7,7,1,1,1);
guibouu 11:0b85a680ad28 99 carre(15,18,3,7,1,1,1);
guibouu 11:0b85a680ad28 100 carre(13,20,7,3,1,1,1);
guibouu 11:0b85a680ad28 101 carre(14,19,5,5,1,1,1);
guibouu 11:0b85a680ad28 102 if(menub>=35)
guibouu 11:0b85a680ad28 103 {
guibouu 11:0b85a680ad28 104 zeno=0;
guibouu 11:0b85a680ad28 105 }
guibouu 11:0b85a680ad28 106 pix(16+ccx,15+ccy*1.4,1,1,0);
guibouu 11:0b85a680ad28 107
guibouu 11:0b85a680ad28 108 pix(16+ccx,14+ccy*1.4,0,1,0);
guibouu 11:0b85a680ad28 109 pix(16+ccx,16+ccy*1.4,0,1,0);
guibouu 11:0b85a680ad28 110 pix(15+ccx,15+ccy*1.4,0,1,0);
guibouu 11:0b85a680ad28 111 pix(17+ccx,15+ccy*1.4,0,1,0);
guibouu 11:0b85a680ad28 112 }
guibouu 11:0b85a680ad28 113
guibouu 11:0b85a680ad28 114 //variables
guibouu 11:0b85a680ad28 115 int ccxx=ccx*1.3;
guibouu 11:0b85a680ad28 116 int ccyy=ccy*1.3;
guibouu 11:0b85a680ad28 117 int vaisseaux = 15;
guibouu 11:0b85a680ad28 118 int vaisseauy =10;//lieu de base du vaisseau
guibouu 11:0b85a680ad28 119
guibouu 11:0b85a680ad28 120
guibouu 11:0b85a680ad28 121
guibouu 11:0b85a680ad28 122
guibouu 11:0b85a680ad28 123
guibouu 11:0b85a680ad28 124
guibouu 11:0b85a680ad28 125
guibouu 11:0b85a680ad28 126 if(zeno==0)
guibouu 11:0b85a680ad28 127 {
guibouu 11:0b85a680ad28 128 //mob
guibouu 11:0b85a680ad28 129 mob(xmob1,ymob1,mvie);
guibouu 11:0b85a680ad28 130 mob(xmob2,ymob2,mvie2);
guibouu 11:0b85a680ad28 131 //dégats mobs
guibouu 11:0b85a680ad28 132 hitmob(xmob1,ymob1,mvie,15+vaisseauy+ccyy+tir2/4,vaisseauy+ccyy+tir/4,tirx2,tirx,autoritir2,autoritir1);
guibouu 11:0b85a680ad28 133 hitmob2(xmob2,ymob2,mvie2,15+vaisseauy+ccyy+tir2/4,vaisseauy+ccyy+tir/4,tirx2,tirx,autoritir2,autoritir1);
guibouu 11:0b85a680ad28 134 //déplacement
guibouu 11:0b85a680ad28 135 timedep=timedep+1;
guibouu 11:0b85a680ad28 136 timetab=timetab+1;
guibouu 11:0b85a680ad28 137 if(timetab>17)
guibouu 11:0b85a680ad28 138 {
guibouu 11:0b85a680ad28 139 timetab=timetab-17;
guibouu 11:0b85a680ad28 140 }
guibouu 11:0b85a680ad28 141 //mouvement
guibouu 11:0b85a680ad28 142 if(timedep>15)
guibouu 11:0b85a680ad28 143 {
guibouu 11:0b85a680ad28 144 timedep=timedep-15;
guibouu 11:0b85a680ad28 145 //mob1
guibouu 11:0b85a680ad28 146 if(xdepm>0)
guibouu 11:0b85a680ad28 147 {
guibouu 11:0b85a680ad28 148 xmob1=xmob1+1;
guibouu 11:0b85a680ad28 149 xdepm=xdepm-1;
guibouu 11:0b85a680ad28 150 }
guibouu 11:0b85a680ad28 151
guibouu 11:0b85a680ad28 152 if(xdepm<0)
guibouu 11:0b85a680ad28 153 {
guibouu 11:0b85a680ad28 154 xmob1=xmob1-1;
guibouu 11:0b85a680ad28 155 xdepm=xdepm+1;
guibouu 11:0b85a680ad28 156 }
guibouu 11:0b85a680ad28 157 //mob2
guibouu 11:0b85a680ad28 158 if(xdepm2>0)
guibouu 11:0b85a680ad28 159 {
guibouu 11:0b85a680ad28 160 xmob2=xmob2+1;
guibouu 11:0b85a680ad28 161 xdepm2=xdepm2-1;
guibouu 11:0b85a680ad28 162 }
guibouu 11:0b85a680ad28 163
guibouu 11:0b85a680ad28 164 if(xdepm2<0)
guibouu 11:0b85a680ad28 165 {
guibouu 11:0b85a680ad28 166 xmob2=xmob2-1;
guibouu 11:0b85a680ad28 167 xdepm2=xdepm2+1;
guibouu 11:0b85a680ad28 168 }
guibouu 11:0b85a680ad28 169 }
guibouu 11:0b85a680ad28 170
guibouu 11:0b85a680ad28 171 //deplacement incrementation
guibouu 11:0b85a680ad28 172 //mob1
guibouu 11:0b85a680ad28 173 if(xdepm==0)
guibouu 11:0b85a680ad28 174 {
guibouu 11:0b85a680ad28 175 if (xmob1>=15)
guibouu 11:0b85a680ad28 176 {
guibouu 11:0b85a680ad28 177 xdepm=xdepm-tabdep[timetab];
guibouu 11:0b85a680ad28 178 }
guibouu 11:0b85a680ad28 179 else
guibouu 11:0b85a680ad28 180 {
guibouu 11:0b85a680ad28 181 xdepm=xdepm+tabdep[timetab];
guibouu 11:0b85a680ad28 182 }
guibouu 11:0b85a680ad28 183 }
guibouu 11:0b85a680ad28 184 //mob2
guibouu 11:0b85a680ad28 185 if(xdepm2==0)
guibouu 11:0b85a680ad28 186 {
guibouu 11:0b85a680ad28 187 if (xmob2>=15)
guibouu 11:0b85a680ad28 188 {
guibouu 11:0b85a680ad28 189 xdepm2=xdepm2-tabdep[timetab];
guibouu 11:0b85a680ad28 190 }
guibouu 11:0b85a680ad28 191 else
guibouu 11:0b85a680ad28 192 {
guibouu 11:0b85a680ad28 193 xdepm2=xdepm2+tabdep[timetab];
guibouu 11:0b85a680ad28 194 }
guibouu 11:0b85a680ad28 195 }
guibouu 11:0b85a680ad28 196 //effets vaisseau
guibouu 11:0b85a680ad28 197 temps=temps+1;
guibouu 11:0b85a680ad28 198 if(temps>=30)
guibouu 11:0b85a680ad28 199 {
guibouu 11:0b85a680ad28 200 temps=temps-30;
guibouu 11:0b85a680ad28 201 effet[0]=vaisseaux+ccxx;
guibouu 11:0b85a680ad28 202 effet[1]=vaisseauy+ccyy;
guibouu 11:0b85a680ad28 203 }
guibouu 11:0b85a680ad28 204 if(temps==5)
guibouu 11:0b85a680ad28 205 {
guibouu 11:0b85a680ad28 206 effet1[0]=vaisseaux+ccxx;
guibouu 11:0b85a680ad28 207 effet1[1]=vaisseauy+ccyy;
guibouu 11:0b85a680ad28 208 }
guibouu 11:0b85a680ad28 209 if(temps==10)
guibouu 11:0b85a680ad28 210 {
guibouu 11:0b85a680ad28 211 effet2[0]=vaisseaux+ccxx;
guibouu 11:0b85a680ad28 212 effet2[1]=vaisseauy+ccyy;
guibouu 11:0b85a680ad28 213 }
guibouu 11:0b85a680ad28 214 if(temps==15)
guibouu 11:0b85a680ad28 215 {
guibouu 11:0b85a680ad28 216 effet3[0]=vaisseaux+ccxx;
guibouu 11:0b85a680ad28 217 effet3[1]=vaisseauy+ccyy;
guibouu 11:0b85a680ad28 218 }
guibouu 11:0b85a680ad28 219 if(temps==20)
guibouu 11:0b85a680ad28 220 {
guibouu 11:0b85a680ad28 221 effet4[0]=vaisseaux+ccxx;
guibouu 11:0b85a680ad28 222 effet4[1]=vaisseauy+ccyy;
guibouu 11:0b85a680ad28 223 }
guibouu 11:0b85a680ad28 224
guibouu 11:0b85a680ad28 225
guibouu 11:0b85a680ad28 226 pix ( effet[0], effet[1],0,0,1);
guibouu 11:0b85a680ad28 227 pix ( effet1[0], effet1[1],0,0,1);
guibouu 11:0b85a680ad28 228 pix ( effet2[0], effet2[1],0,0,1);
guibouu 11:0b85a680ad28 229 pix ( effet3[0], effet3[1],0,0,1);
guibouu 11:0b85a680ad28 230 pix ( effet4[0], effet4[1],0,0,1);
guibouu 11:0b85a680ad28 231 //tir1
guibouu 11:0b85a680ad28 232 tir=tir+1;
guibouu 11:0b85a680ad28 233 if(tir>=120)
guibouu 11:0b85a680ad28 234 {
guibouu 11:0b85a680ad28 235 tir=tir-120;
guibouu 11:0b85a680ad28 236 tirx=vaisseaux+ccxx;
guibouu 11:0b85a680ad28 237 autoritir1=1;
guibouu 11:0b85a680ad28 238 }
guibouu 11:0b85a680ad28 239 if(vaisseauy+ccyy+tir/4<=32 && autoritir1==1)
guibouu 11:0b85a680ad28 240 {
guibouu 11:0b85a680ad28 241 pix(tirx,vaisseauy+ccyy+tir/4,1,0,1);
guibouu 11:0b85a680ad28 242 }
guibouu 11:0b85a680ad28 243 //tir2
guibouu 11:0b85a680ad28 244 tir2=tir2+1;
guibouu 11:0b85a680ad28 245 if(tir2>=60)
guibouu 11:0b85a680ad28 246 {
guibouu 11:0b85a680ad28 247 tir2=tir2-120;
guibouu 11:0b85a680ad28 248 tirx2=vaisseaux+ccxx;
guibouu 11:0b85a680ad28 249 autoritir2=1;
guibouu 11:0b85a680ad28 250 }
guibouu 11:0b85a680ad28 251 if(15+vaisseauy+ccyy+tir2/4<=32 && autoritir2==1)
guibouu 11:0b85a680ad28 252 {
guibouu 11:0b85a680ad28 253 pix(tirx2,15+vaisseauy+ccyy+tir2/4,1,0,1);
guibouu 11:0b85a680ad28 254 }
guibouu 11:0b85a680ad28 255
guibouu 11:0b85a680ad28 256 //vaisseau
guibouu 11:0b85a680ad28 257
guibouu 11:0b85a680ad28 258 pix ( vaisseaux+ccxx, vaisseauy+ccyy,1,1,1);
guibouu 11:0b85a680ad28 259 pix ( vaisseaux+ccxx, vaisseauy+1+ccyy,1,1,1);
guibouu 11:0b85a680ad28 260 pix ( vaisseaux+ccxx, vaisseauy-1+ccyy,1,1,1);
guibouu 11:0b85a680ad28 261 pix ( vaisseaux+1+ccxx, vaisseauy-1+ccyy,1,1,1);
guibouu 11:0b85a680ad28 262 pix ( vaisseaux-1+ccxx, vaisseauy-1+ccyy,1,1,1);
guibouu 11:0b85a680ad28 263
guibouu 11:0b85a680ad28 264 }
guibouu 11:0b85a680ad28 265 /*
guibouu 11:0b85a680ad28 266 serie.printf("D%dX \r\n",ccxx+15) ; // envoyer un texte en liaison serie
guibouu 11:0b85a680ad28 267 serie.printf("D%dY \r\n",ccyy+15) ;
guibouu 11:0b85a680ad28 268 charr(14, 18 , ext);
guibouu 11:0b85a680ad28 269 */
guibouu 11:0b85a680ad28 270 }
guibouu 11:0b85a680ad28 271
guibouu 11:0b85a680ad28 272
guibouu 11:0b85a680ad28 273
guibouu 11:0b85a680ad28 274
guibouu 11:0b85a680ad28 275
guibouu 11:0b85a680ad28 276
guibouu 11:0b85a680ad28 277
guibouu 11:0b85a680ad28 278
guibouu 11:0b85a680ad28 279
guibouu 11:0b85a680ad28 280
guibouu 11:0b85a680ad28 281
guibouu 11:0b85a680ad28 282
guibouu 11:0b85a680ad28 283
guibouu 11:0b85a680ad28 284
guibouu 11:0b85a680ad28 285
guibouu 11:0b85a680ad28 286
guibouu 11:0b85a680ad28 287
guibouu 11:0b85a680ad28 288
guibouu 11:0b85a680ad28 289
guibouu 11:0b85a680ad28 290
guibouu 11:0b85a680ad28 291 // FIN de vos dessins
dujardin 6:edb27e228558 292
dujardin 8:cfcf73c16fab 293 // fonctions et variables deja créées
dujardin 1:95a7e179a181 294
dujardin 2:1af4d847d589 295 // pix ( x , y , r , v , b ) dessine un pixel de couleur en xy
dujardin 8:cfcf73c16fab 296 // x et y position du pixel à dessiner ( 0 à 31 )
dujardin 8:cfcf73c16fab 297 // r v b quantité de r v b codée de 0 à 7 , 7 c'est lumineux
dujardin 6:edb27e228558 298
dujardin 6:edb27e228558 299 // ptnum(x, y , nombre ) écrit un nombre en rouge en x y
dujardin 8:cfcf73c16fab 300 // x et y position ou ecrire ( 0 a 31) ... couleur obligée ROUGE
dujardin 8:cfcf73c16fab 301 // nombre ou variable .. un entier compris entre 0 et 99
dujardin 1:95a7e179a181 302
dujardin 6:edb27e228558 303 // circle( x , y , r ) dessine un cercle de centre xy rayon r
dujardin 8:cfcf73c16fab 304 // x et y position du centre ( 0 à 31)
dujardin 8:cfcf73c16fab 305 // r rayon du cercle
dujardin 8:cfcf73c16fab 306 // la couleur est prédéfinie ( 0 à 7) dans br bv bb
dujardin 6:edb27e228558 307
dujardin 7:315630fad89f 308 // charr( x , y , "char') ecrit carractère en x y avec br bv bb
dujardin 8:cfcf73c16fab 309 // tous les carractères n'existent pas
dujardin 8:cfcf73c16fab 310
dujardin 8:cfcf73c16fab 311 // ccx ccy variables portant l'accéleration X et Y +-75 pour +- 3G
dujardin 8:cfcf73c16fab 312 // accx accy variables portant l'accélération X et Y +-100 pour +- 1G
dujardin 6:edb27e228558 313
dujardin 6:edb27e228558 314
dujardin 6:edb27e228558 315