Projet de seconde annee Création d'un jeu de labyrinthe 3D sur une STM32F74NG

Dependencies:   mbed GAME_ENGINE LCD_DISCO_F746NG BSP_DISCO_F746NG

Committer:
kangulu
Date:
Thu Apr 30 08:22:10 2020 +0000
Revision:
1:272b79f9b56c
Parent:
0:54fcf254632f
Projet de seconde annee

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kangulu 0:54fcf254632f 1 #include "mbed.h"
kangulu 0:54fcf254632f 2 #include "LCD_DISCO_F746NG.h"
kangulu 0:54fcf254632f 3 #include "GAME_ENGINE.h"
kangulu 0:54fcf254632f 4
kangulu 0:54fcf254632f 5 int main()
kangulu 0:54fcf254632f 6 {
kangulu 0:54fcf254632f 7 srand( (unsigned int) time(0) );
kangulu 0:54fcf254632f 8 inputState iS;
kangulu 0:54fcf254632f 9 clock_t start_t, end_t;
kangulu 0:54fcf254632f 10
kangulu 0:54fcf254632f 11 minimap mini;
kangulu 0:54fcf254632f 12 worldmap world;
kangulu 0:54fcf254632f 13 createMap(mini, world);
kangulu 0:54fcf254632f 14
kangulu 0:54fcf254632f 15 int i = 0;
kangulu 0:54fcf254632f 16 int j = 0;
kangulu 0:54fcf254632f 17 int verifi = 0;
kangulu 0:54fcf254632f 18 int verifj = 0;
kangulu 0:54fcf254632f 19 int fin;
kangulu 0:54fcf254632f 20
kangulu 0:54fcf254632f 21 gerenatePosition(&i, &j, world);
kangulu 0:54fcf254632f 22 generateSortie(i, j, world);
kangulu 0:54fcf254632f 23
kangulu 0:54fcf254632f 24 position pos ={(i*64 + 32),(j*64 + 32)};
kangulu 0:54fcf254632f 25 double vx =0,vy=10;
kangulu 0:54fcf254632f 26 if (BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize()) != TS_OK)
kangulu 0:54fcf254632f 27 {
kangulu 0:54fcf254632f 28 BSP_LCD_Clear(LCD_COLOR_BLACK);
kangulu 0:54fcf254632f 29 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
kangulu 0:54fcf254632f 30 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
kangulu 0:54fcf254632f 31 BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT FAIL", CENTER_MODE);
kangulu 0:54fcf254632f 32 } else
kangulu 0:54fcf254632f 33 {
kangulu 0:54fcf254632f 34 BSP_LCD_Clear(LCD_COLOR_BLACK);
kangulu 0:54fcf254632f 35 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
kangulu 0:54fcf254632f 36 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
kangulu 0:54fcf254632f 37 BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"Nouvelle Partie", CENTER_MODE);
kangulu 0:54fcf254632f 38 }
kangulu 0:54fcf254632f 39 HAL_Delay(1000);
kangulu 0:54fcf254632f 40 //rotation(&vx,&vy,M_PI/3)
kangulu 0:54fcf254632f 41
kangulu 0:54fcf254632f 42 while(1)
kangulu 0:54fcf254632f 43 {
kangulu 0:54fcf254632f 44 start_t = clock();
kangulu 0:54fcf254632f 45 if(getInputState(&iS)==1)
kangulu 0:54fcf254632f 46 {
kangulu 0:54fcf254632f 47 if(iS.y>211)
kangulu 0:54fcf254632f 48 {
kangulu 0:54fcf254632f 49 arrow_down(&pos, vx, vy);
kangulu 0:54fcf254632f 50 }
kangulu 0:54fcf254632f 51 else if(iS.y<61)
kangulu 0:54fcf254632f 52 {
kangulu 0:54fcf254632f 53 arrow_up(&pos, vx, vy);
kangulu 0:54fcf254632f 54 }
kangulu 0:54fcf254632f 55 else if(iS.x>280)
kangulu 0:54fcf254632f 56 {
kangulu 0:54fcf254632f 57 rotation(&vx,&vy,2*M_PI-M_PI/45);
kangulu 0:54fcf254632f 58 }
kangulu 0:54fcf254632f 59 else if(iS.x<200)
kangulu 0:54fcf254632f 60 {
kangulu 0:54fcf254632f 61 rotation(&vx,&vy,M_PI/45);
kangulu 0:54fcf254632f 62 }
kangulu 0:54fcf254632f 63 else
kangulu 0:54fcf254632f 64 {
kangulu 0:54fcf254632f 65 }
kangulu 0:54fcf254632f 66
kangulu 0:54fcf254632f 67 display(pos,vx,vy,world);
kangulu 0:54fcf254632f 68 }
kangulu 0:54fcf254632f 69 else
kangulu 0:54fcf254632f 70 {
kangulu 0:54fcf254632f 71 display(pos,vx,vy,world);
kangulu 0:54fcf254632f 72 }
kangulu 0:54fcf254632f 73
kangulu 0:54fcf254632f 74 do
kangulu 0:54fcf254632f 75 {
kangulu 0:54fcf254632f 76 end_t=clock();
kangulu 0:54fcf254632f 77 }
kangulu 0:54fcf254632f 78 while(((double)(end_t - start_t) / CLOCKS_PER_SEC)<((double)1/TICKS_PER_SEC));
kangulu 0:54fcf254632f 79
kangulu 0:54fcf254632f 80 fin = verificationFin(pos, world);
kangulu 0:54fcf254632f 81 if(fin == 1)
kangulu 0:54fcf254632f 82 {
kangulu 0:54fcf254632f 83 do
kangulu 0:54fcf254632f 84 {
kangulu 0:54fcf254632f 85 BSP_LCD_Clear(LCD_COLOR_BLACK);
kangulu 0:54fcf254632f 86 BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
kangulu 0:54fcf254632f 87 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
kangulu 0:54fcf254632f 88 BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"Victoire", CENTER_MODE);
kangulu 0:54fcf254632f 89 }
kangulu 0:54fcf254632f 90 while(1);
kangulu 0:54fcf254632f 91 }
kangulu 0:54fcf254632f 92 }
kangulu 0:54fcf254632f 93 }