pong game added to the main sketch

Dependencies:   RTC-DS1307 SPI_TFT_ILI9341 TFT_fonts mbed tsi_sensor

Fork of MainSketch by IoT Ox

Committer:
Owenmatthewmcgowan
Date:
Wed May 24 16:15:04 2017 +0000
Revision:
13:50289d0ac834
Parent:
11:1da15361a35b
Added Settings page

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mlin 10:9d9b3b9b28b8 1
mlin 9:eee503060d69 2 #include "string"
mlin 9:eee503060d69 3 #include "Arial12x12.h"
mlin 9:eee503060d69 4 #include "Arial24x23.h"
mlin 9:eee503060d69 5 #include "Arial28x28.h"
mlin 9:eee503060d69 6 #include "font_big.h"
mlin 9:eee503060d69 7
mlin 9:eee503060d69 8
mlin 9:eee503060d69 9
mlin 9:eee503060d69 10 void drawbuttons()
mlin 9:eee503060d69 11 {
mlin 10:9d9b3b9b28b8 12 TFT.fillrect(0, 0, 50, 50, Red);
mlin 10:9d9b3b9b28b8 13 TFT.fillrect(0, 50, 50, 100, Green);
mlin 10:9d9b3b9b28b8 14 TFT.fillrect(0, 100, 50, 150, Blue);
mlin 10:9d9b3b9b28b8 15 TFT.fillrect(0, 150, 50, 200, White);
mlin 10:9d9b3b9b28b8 16 TFT.fillrect(0, 200, 50, 250, Black);
mlin 10:9d9b3b9b28b8 17
mlin 10:9d9b3b9b28b8 18 TFT.rect(0, 0, 50, 50, White);
mlin 10:9d9b3b9b28b8 19 TFT.rect(0, 50, 50, 100, White);
mlin 10:9d9b3b9b28b8 20 TFT.rect(0, 100, 50, 150, White);
mlin 10:9d9b3b9b28b8 21 TFT.rect(0, 150, 50, 200, White);
mlin 10:9d9b3b9b28b8 22 TFT.rect(0, 200, 50, 250, White);
mlin 10:9d9b3b9b28b8 23 }
mlin 11:1da15361a35b 24 void draw_clockface(int x0, int y0, int r, int markerlength, int color)
mlin 11:1da15361a35b 25 {
mlin 11:1da15361a35b 26 TFT.circle(x0, y0, r, White);
mlin 11:1da15361a35b 27 //for ( int n = 0; n < 13; n++) {
mlin 11:1da15361a35b 28 // int x1, y1, x2, y2= 0;
mlin 11:1da15361a35b 29 // double angle = n * 2 * M_PI / 12;
mlin 11:1da15361a35b 30 // x2 = r * cos(angle) + x0;
mlin 11:1da15361a35b 31 // y2 = r * sin(angle) + y0;
mlin 11:1da15361a35b 32 // x1 = (r - markerlength) * cos(angle) + x0;
mlin 11:1da15361a35b 33 // y2 = (r - markerlength) * sin(angle) + y0;
mlin 11:1da15361a35b 34 // TFT.line(x1, y1, x2, y2, color);
mlin 11:1da15361a35b 35 //}
mlin 11:1da15361a35b 36 }
mlin 11:1da15361a35b 37 void whiteboard()
mlin 11:1da15361a35b 38 {
mlin 10:9d9b3b9b28b8 39 int color = 0;
mlin 10:9d9b3b9b28b8 40 int xpos = 0,ypos = 0,xp = 0,yp = 0,sw = 0;;
mlin 10:9d9b3b9b28b8 41 drawbuttons();
mlin 10:9d9b3b9b28b8 42 bool running = true;
mlin 10:9d9b3b9b28b8 43 while(running) {
mlin 11:1da15361a35b 44
mlin 10:9d9b3b9b28b8 45 xp = readX();
mlin 10:9d9b3b9b28b8 46 yp = readY();
mlin 10:9d9b3b9b28b8 47 // top chunk of the screen is the button area //
mlin 10:9d9b3b9b28b8 48 // 0<y<50 is palette area //
mlin 9:eee503060d69 49
mlin 10:9d9b3b9b28b8 50 //pc.printf("xpos=%d\t,\typo=%d",xpos,ypos);
mlin 11:1da15361a35b 51 // xp=(240*(xpos-5800))/51200;
mlin 11:1da15361a35b 52 // yp=320-(320*(ypos-3000))/58300;
mlin 10:9d9b3b9b28b8 53 if(touching == 1) pc.printf("\txp=%d\t,\typo=%d\n\r", xp, yp);
mlin 10:9d9b3b9b28b8 54 if(xp > 5 && yp > 50 && touching == 1) TFT.fillcircle(yp, xp, 2, color);
mlin 10:9d9b3b9b28b8 55 if(yp < 50) { // color buttons
mlin 10:9d9b3b9b28b8 56 sw = (int)xp / 50;
mlin 10:9d9b3b9b28b8 57 switch(sw) {
mlin 10:9d9b3b9b28b8 58 case 0:
mlin 10:9d9b3b9b28b8 59 color = 0xf800;
mlin 10:9d9b3b9b28b8 60 break;
mlin 10:9d9b3b9b28b8 61 case 1:
mlin 10:9d9b3b9b28b8 62 color = 0x07e0;
mlin 10:9d9b3b9b28b8 63 break;
mlin 10:9d9b3b9b28b8 64 case 2:
mlin 10:9d9b3b9b28b8 65 color = 0x001f;
mlin 10:9d9b3b9b28b8 66 break;
mlin 10:9d9b3b9b28b8 67 case 3:
mlin 10:9d9b3b9b28b8 68 color = 0xffff;
mlin 10:9d9b3b9b28b8 69 break;
mlin 10:9d9b3b9b28b8 70 case 4:
mlin 10:9d9b3b9b28b8 71 running = false;
mlin 10:9d9b3b9b28b8 72 color = 0x0000;
mlin 10:9d9b3b9b28b8 73 TFT.cls();
mlin 10:9d9b3b9b28b8 74 break;
mlin 10:9d9b3b9b28b8 75 }
mlin 10:9d9b3b9b28b8 76 // if(xp<50) color=0xF800;
mlin 10:9d9b3b9b28b8 77 // if(50<xp && xp<100) color=0x07e0;
mlin 10:9d9b3b9b28b8 78 // if(xp>100 && xp<150) color=0x001f;
mlin 10:9d9b3b9b28b8 79 }
mlin 10:9d9b3b9b28b8 80
mlin 10:9d9b3b9b28b8 81 wait(0.01);
mlin 10:9d9b3b9b28b8 82
mlin 10:9d9b3b9b28b8 83 }
mlin 9:eee503060d69 84 }