![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
pong game added to the main sketch
Dependencies: RTC-DS1307 SPI_TFT_ILI9341 TFT_fonts mbed tsi_sensor
Fork of MainSketch by
render.h@10:9d9b3b9b28b8, 2017-05-24 (annotated)
- 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?
User | Revision | Line number | New 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 | } |