pong game added to the main sketch

Dependencies:   RTC-DS1307 SPI_TFT_ILI9341 TFT_fonts mbed tsi_sensor

Fork of MainSketch by IoT Ox

Revision:
10:9d9b3b9b28b8
Parent:
9:eee503060d69
Child:
11:1da15361a35b
--- a/render.h	Wed May 24 03:11:29 2017 +0000
+++ b/render.h	Wed May 24 11:21:37 2017 +0000
@@ -1,50 +1,70 @@
-#include "stdio.h"
-#include "SPI_TFT_ILI9341.h"
+
 #include "string"
 #include "Arial12x12.h"
 #include "Arial24x23.h"
 #include "Arial28x28.h"
 #include "font_big.h"
 
-// example to test the TFT Display from Mikroelectronika
-
-
-
-
-
-
-
-
-// the display has a backlight switch on board
-//DigitalOut LCD_LED(PTA4);   // may not be needed on mikroelectronika board
-//DigitalOut pwr(PTD7); // ditto
-
-// the TFT is connected to SPI pin 5-7
-//SPI_TFT_ILI9341 TFT(p5, p6, p7, p8, p9, p10,"TFT"); // mosi, miso, sclk, cs, reset, dc for lpc1768
-SPI_TFT_ILI9341 TFT(PTD6, PTD7, PTD5, PTD2, PTD4, PTA13,"TFT"); // mosi, miso, sclk, cs, reset, dc for frdmkl25z
-//NB better combination to use a coherent 2x4 block for lcd
-//   SPI_TFT_ILI9341 TFT(PTD2, PTD3, PTD1, PTA16, PTA17, PTC16,"TFT"); // mosi, miso, sclk, cs, reset, dc for frdmkl25z
-//   DigitalOut LCD_LED(PTC17);
-int touching=0;
-
-// Subroutine to read the x location of the touch point
-// need to set x+ to 3V and ground x- then read analogue voltage on ym
-//nb need to add a check for actual touch as opposed to random crap
-
-
 
 
 void drawbuttons()
 {
-  TFT.fillrect(0,0,50,50,Red);
-    TFT.fillrect(0,50,50,100,Green);
-    TFT.fillrect(0,100,50,150,Blue);
-    TFT.fillrect(0,150,50,200,White);
-    TFT.fillrect(0,200,50,250,Black);
+    TFT.fillrect(0, 0, 50, 50, Red);
+    TFT.fillrect(0, 50, 50, 100, Green);
+    TFT.fillrect(0, 100, 50, 150, Blue);
+    TFT.fillrect(0, 150, 50, 200, White);
+    TFT.fillrect(0, 200, 50, 250, Black);
+
+    TFT.rect(0, 0, 50, 50, White);
+    TFT.rect(0, 50, 50, 100, White);
+    TFT.rect(0, 100, 50, 150, White);
+    TFT.rect(0, 150, 50, 200, White);
+    TFT.rect(0, 200, 50, 250, White);
+}
+void whiteboard(){
+    int color = 0;
+    int xpos = 0,ypos = 0,xp = 0,yp = 0,sw = 0;;
+    drawbuttons();
+    bool running = true;
+    while(running) {
+      
+        xp = readX();
+        yp = readY();
+        // top chunk of the screen is the button area //
+        // 0<y<50 is palette area //
 
-    TFT.rect(0,0,50,50,White);
-    TFT.rect(0,50,50,100,White);
-    TFT.rect(0,100,50,150,White);
-    TFT.rect(0,150,50,200,White);
-    TFT.rect(0,200,50,250,White);
+        //pc.printf("xpos=%d\t,\typo=%d",xpos,ypos);
+       // xp=(240*(xpos-5800))/51200;
+       // yp=320-(320*(ypos-3000))/58300;
+        if(touching == 1) pc.printf("\txp=%d\t,\typo=%d\n\r", xp, yp);
+        if(xp > 5 && yp > 50 && touching == 1) TFT.fillcircle(yp, xp, 2, color);
+        if(yp < 50) { // color buttons
+            sw = (int)xp / 50;
+            switch(sw) {
+                case 0:
+                    color = 0xf800;
+                    break;
+                case 1:
+                    color = 0x07e0;
+                    break;
+                case 2:
+                    color = 0x001f;
+                    break;
+                case 3:
+                    color = 0xffff;
+                    break;
+                case 4:
+                    running = false;
+                    color = 0x0000;
+                    TFT.cls();
+                    break;
+            }
+            //  if(xp<50) color=0xF800;
+            //   if(50<xp && xp<100) color=0x07e0;
+            // if(xp>100 && xp<150) color=0x001f;
+        }
+
+        wait(0.01);
+
+    }
 }
\ No newline at end of file