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
main.cpp@0:54fcf254632f, 2020-04-30 (annotated)
- Committer:
- kangulu
- Date:
- Thu Apr 30 08:19:20 2020 +0000
- Revision:
- 0:54fcf254632f
projet seconde annee
Who changed what in which revision?
User | Revision | Line number | New 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 | } |