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:
mlin
Date:
Wed May 24 11:21:37 2017 +0000
Revision:
10:9d9b3b9b28b8
Parent:
9:eee503060d69
Child:
11:1da15361a35b
Working Render of states

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 10:9d9b3b9b28b8 24 void whiteboard(){
mlin 10:9d9b3b9b28b8 25 int color = 0;
mlin 10:9d9b3b9b28b8 26 int xpos = 0,ypos = 0,xp = 0,yp = 0,sw = 0;;
mlin 10:9d9b3b9b28b8 27 drawbuttons();
mlin 10:9d9b3b9b28b8 28 bool running = true;
mlin 10:9d9b3b9b28b8 29 while(running) {
mlin 10:9d9b3b9b28b8 30
mlin 10:9d9b3b9b28b8 31 xp = readX();
mlin 10:9d9b3b9b28b8 32 yp = readY();
mlin 10:9d9b3b9b28b8 33 // top chunk of the screen is the button area //
mlin 10:9d9b3b9b28b8 34 // 0<y<50 is palette area //
mlin 9:eee503060d69 35
mlin 10:9d9b3b9b28b8 36 //pc.printf("xpos=%d\t,\typo=%d",xpos,ypos);
mlin 10:9d9b3b9b28b8 37 // xp=(240*(xpos-5800))/51200;
mlin 10:9d9b3b9b28b8 38 // yp=320-(320*(ypos-3000))/58300;
mlin 10:9d9b3b9b28b8 39 if(touching == 1) pc.printf("\txp=%d\t,\typo=%d\n\r", xp, yp);
mlin 10:9d9b3b9b28b8 40 if(xp > 5 && yp > 50 && touching == 1) TFT.fillcircle(yp, xp, 2, color);
mlin 10:9d9b3b9b28b8 41 if(yp < 50) { // color buttons
mlin 10:9d9b3b9b28b8 42 sw = (int)xp / 50;
mlin 10:9d9b3b9b28b8 43 switch(sw) {
mlin 10:9d9b3b9b28b8 44 case 0:
mlin 10:9d9b3b9b28b8 45 color = 0xf800;
mlin 10:9d9b3b9b28b8 46 break;
mlin 10:9d9b3b9b28b8 47 case 1:
mlin 10:9d9b3b9b28b8 48 color = 0x07e0;
mlin 10:9d9b3b9b28b8 49 break;
mlin 10:9d9b3b9b28b8 50 case 2:
mlin 10:9d9b3b9b28b8 51 color = 0x001f;
mlin 10:9d9b3b9b28b8 52 break;
mlin 10:9d9b3b9b28b8 53 case 3:
mlin 10:9d9b3b9b28b8 54 color = 0xffff;
mlin 10:9d9b3b9b28b8 55 break;
mlin 10:9d9b3b9b28b8 56 case 4:
mlin 10:9d9b3b9b28b8 57 running = false;
mlin 10:9d9b3b9b28b8 58 color = 0x0000;
mlin 10:9d9b3b9b28b8 59 TFT.cls();
mlin 10:9d9b3b9b28b8 60 break;
mlin 10:9d9b3b9b28b8 61 }
mlin 10:9d9b3b9b28b8 62 // if(xp<50) color=0xF800;
mlin 10:9d9b3b9b28b8 63 // if(50<xp && xp<100) color=0x07e0;
mlin 10:9d9b3b9b28b8 64 // if(xp>100 && xp<150) color=0x001f;
mlin 10:9d9b3b9b28b8 65 }
mlin 10:9d9b3b9b28b8 66
mlin 10:9d9b3b9b28b8 67 wait(0.01);
mlin 10:9d9b3b9b28b8 68
mlin 10:9d9b3b9b28b8 69 }
mlin 9:eee503060d69 70 }