pong game added to the main sketch
Dependencies: RTC-DS1307 SPI_TFT_ILI9341 TFT_fonts mbed tsi_sensor
Fork of MainSketch by
render.h@11:1da15361a35b, 2017-05-24 (annotated)
- Committer:
- mlin
- Date:
- Wed May 24 13:27:07 2017 +0000
- Revision:
- 11:1da15361a35b
- Parent:
- 10:9d9b3b9b28b8
updated things;
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 | 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 | } |