Personal Test Environment

Dependencies:   LCD_DISCO_F746NG TS_DISCO_F746NG mbed

Committer:
DirtyGray
Date:
Tue Mar 06 18:24:17 2018 +0000
Revision:
0:bab80a319f0d
main.cpp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DirtyGray 0:bab80a319f0d 1 void drawGame()
DirtyGray 0:bab80a319f0d 2 {
DirtyGray 0:bab80a319f0d 3 //INITIATE LCD SCREEN
DirtyGray 0:bab80a319f0d 4 LCD_DISCO_F746NG LCDscreen;
DirtyGray 0:bab80a319f0d 5 TS_DISCO_F746NG LCDtouchScreen;
DirtyGray 0:bab80a319f0d 6 TS_StateTypeDef touchStatus;
DirtyGray 0:bab80a319f0d 7 LCDtouchScreen.Init(480, 272);
DirtyGray 0:bab80a319f0d 8
DirtyGray 0:bab80a319f0d 9 //DECLARE VARIABLES
DirtyGray 0:bab80a319f0d 10 int circleDiameter = 5;
DirtyGray 0:bab80a319f0d 11 int counter = 0;
DirtyGray 0:bab80a319f0d 12 int screenColor = 1;
DirtyGray 0:bab80a319f0d 13 //unsigned short xPrint;
DirtyGray 0:bab80a319f0d 14 //unsigned short yPrint;
DirtyGray 0:bab80a319f0d 15
DirtyGray 0:bab80a319f0d 16 //SET LCD SCREEN
DirtyGray 0:bab80a319f0d 17 LCDscreen.Clear(LCD_COLOR_BLACK);
DirtyGray 0:bab80a319f0d 18 LCDscreen.SetBackColor(LCD_COLOR_BLACK);
DirtyGray 0:bab80a319f0d 19 wait(1);
DirtyGray 0:bab80a319f0d 20
DirtyGray 0:bab80a319f0d 21 while(1) {
DirtyGray 0:bab80a319f0d 22 //CLEAR THE SCREEN AND DRAW THE CIRCLES
DirtyGray 0:bab80a319f0d 23 LCDscreen.Clear(LCD_COLOR_BLACK);
DirtyGray 0:bab80a319f0d 24 LCDscreen.SetTextColor(LCD_COLOR_BLUE);
DirtyGray 0:bab80a319f0d 25 LCDscreen.FillCircle(20, 20, 20);
DirtyGray 0:bab80a319f0d 26 LCDscreen.SetTextColor(LCD_COLOR_RED);
DirtyGray 0:bab80a319f0d 27 LCDscreen.FillCircle(20, 60, 20);
DirtyGray 0:bab80a319f0d 28 LCDscreen.SetTextColor(LCD_COLOR_YELLOW);
DirtyGray 0:bab80a319f0d 29 LCDscreen.FillCircle(20, 100, 20);
DirtyGray 0:bab80a319f0d 30 LCDscreen.SetTextColor(LCD_COLOR_GREEN);
DirtyGray 0:bab80a319f0d 31 LCDscreen.FillCircle(20, 140, 20);
DirtyGray 0:bab80a319f0d 32 LCDscreen.SetTextColor(LCD_COLOR_WHITE);
DirtyGray 0:bab80a319f0d 33 LCDscreen.FillCircle(20, 180, 20);
DirtyGray 0:bab80a319f0d 34 LCDscreen.SetTextColor(LCD_COLOR_SADDLE_BROWN);
DirtyGray 0:bab80a319f0d 35 LCDscreen.FillCircle(20, 220, 20);
DirtyGray 0:bab80a319f0d 36
DirtyGray 0:bab80a319f0d 37 //WHILE COUNTER IS INCRIMENTING, CHECK FOR INPUT AND DRAW CIRCLE WHERE TOUCH IS
DirtyGray 0:bab80a319f0d 38 while(counter < 10000) {
DirtyGray 0:bab80a319f0d 39 switch (screenColor) {
DirtyGray 0:bab80a319f0d 40 case 1:
DirtyGray 0:bab80a319f0d 41 LCDscreen.SetTextColor(LCD_COLOR_BLUE);
DirtyGray 0:bab80a319f0d 42 break;
DirtyGray 0:bab80a319f0d 43 case 2:
DirtyGray 0:bab80a319f0d 44 LCDscreen.SetTextColor(LCD_COLOR_RED);
DirtyGray 0:bab80a319f0d 45 break;
DirtyGray 0:bab80a319f0d 46 case 3:
DirtyGray 0:bab80a319f0d 47 LCDscreen.SetTextColor(LCD_COLOR_YELLOW);
DirtyGray 0:bab80a319f0d 48 break;
DirtyGray 0:bab80a319f0d 49 case 4:
DirtyGray 0:bab80a319f0d 50 LCDscreen.SetTextColor(LCD_COLOR_GREEN);
DirtyGray 0:bab80a319f0d 51 break;
DirtyGray 0:bab80a319f0d 52 case 5:
DirtyGray 0:bab80a319f0d 53 LCDscreen.SetTextColor(LCD_COLOR_WHITE);
DirtyGray 0:bab80a319f0d 54 break;
DirtyGray 0:bab80a319f0d 55 case 6:
DirtyGray 0:bab80a319f0d 56 LCDscreen.SetTextColor(LCD_COLOR_SADDLE_BROWN);
DirtyGray 0:bab80a319f0d 57 break;
DirtyGray 0:bab80a319f0d 58 }
DirtyGray 0:bab80a319f0d 59
DirtyGray 0:bab80a319f0d 60 LCDtouchScreen.GetState(&touchStatus);
DirtyGray 0:bab80a319f0d 61 if (touchStatus.touchDetected) {
DirtyGray 0:bab80a319f0d 62 if ((touchStatus.touchX[0] <= 40) && (touchStatus.touchY[0] <= 40))
DirtyGray 0:bab80a319f0d 63 screenColor = 1;
DirtyGray 0:bab80a319f0d 64 else if ((touchStatus.touchX[0] <= 40) && (touchStatus.touchY[0] >= 40) && (touchStatus.touchY[0] <= 80))
DirtyGray 0:bab80a319f0d 65 screenColor = 2;
DirtyGray 0:bab80a319f0d 66 else if ((touchStatus.touchX[0] <= 40) && (touchStatus.touchY[0] >= 80) && (touchStatus.touchY[0] <= 120))
DirtyGray 0:bab80a319f0d 67 screenColor = 3;
DirtyGray 0:bab80a319f0d 68 else if ((touchStatus.touchX[0] <= 40) && (touchStatus.touchY[0] >= 120) && (touchStatus.touchY[0] <= 160))
DirtyGray 0:bab80a319f0d 69 screenColor = 4;
DirtyGray 0:bab80a319f0d 70 else if ((touchStatus.touchX[0] <= 40) && (touchStatus.touchY[0] >= 160) && (touchStatus.touchY[0] <= 200))
DirtyGray 0:bab80a319f0d 71 screenColor = 5;
DirtyGray 0:bab80a319f0d 72 else if ((touchStatus.touchX[0] <= 40) && (touchStatus.touchY[0] >= 200) && (touchStatus.touchY[0] <= 240))
DirtyGray 0:bab80a319f0d 73 screenColor = 6;
DirtyGray 0:bab80a319f0d 74 if (touchStatus.touchY[0] < circleDiameter)
DirtyGray 0:bab80a319f0d 75 counter = 0;
DirtyGray 0:bab80a319f0d 76 else if (touchStatus.touchX[0] > (480 - circleDiameter))
DirtyGray 0:bab80a319f0d 77 counter = 0;
DirtyGray 0:bab80a319f0d 78 else if (touchStatus.touchX[0] < circleDiameter)
DirtyGray 0:bab80a319f0d 79 counter = 0;
DirtyGray 0:bab80a319f0d 80 else if (touchStatus.touchY[0] > (272 - circleDiameter))
DirtyGray 0:bab80a319f0d 81 counter = 0;
DirtyGray 0:bab80a319f0d 82 else {
DirtyGray 0:bab80a319f0d 83 LCDscreen.FillCircle(touchStatus.touchX[0], touchStatus.touchY[0], circleDiameter);
DirtyGray 0:bab80a319f0d 84 counter = 0;
DirtyGray 0:bab80a319f0d 85 // xPrint = touchStatus.touchX[0];
DirtyGray 0:bab80a319f0d 86 // yPrint = touchStatus.touchY[0];
DirtyGray 0:bab80a319f0d 87 // printf("%hu %hu", xPrint, yPrint);
DirtyGray 0:bab80a319f0d 88 }
DirtyGray 0:bab80a319f0d 89 } else {
DirtyGray 0:bab80a319f0d 90 counter++;
DirtyGray 0:bab80a319f0d 91 }
DirtyGray 0:bab80a319f0d 92 }
DirtyGray 0:bab80a319f0d 93 counter = 0;
DirtyGray 0:bab80a319f0d 94 }
DirtyGray 0:bab80a319f0d 95 }