![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
main.cpp@0:b2eb0dabd8e4, 2009-12-09 (annotated)
- Committer:
- Kaikestu
- Date:
- Wed Dec 09 13:36:09 2009 +0000
- Revision:
- 0:b2eb0dabd8e4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kaikestu | 0:b2eb0dabd8e4 | 1 | #include "mbed.h" |
Kaikestu | 0:b2eb0dabd8e4 | 2 | #include "MobileLCD.h" |
Kaikestu | 0:b2eb0dabd8e4 | 3 | |
Kaikestu | 0:b2eb0dabd8e4 | 4 | MobileLCD lcd (5,6,7,12,13); |
Kaikestu | 0:b2eb0dabd8e4 | 5 | AnalogIn left (20); |
Kaikestu | 0:b2eb0dabd8e4 | 6 | AnalogIn right (19); |
Kaikestu | 0:b2eb0dabd8e4 | 7 | |
Kaikestu | 0:b2eb0dabd8e4 | 8 | int r; |
Kaikestu | 0:b2eb0dabd8e4 | 9 | int le; |
Kaikestu | 0:b2eb0dabd8e4 | 10 | |
Kaikestu | 0:b2eb0dabd8e4 | 11 | int ball_x = 64; |
Kaikestu | 0:b2eb0dabd8e4 | 12 | int ball_y = 64; |
Kaikestu | 0:b2eb0dabd8e4 | 13 | int ball_tempX = 64; |
Kaikestu | 0:b2eb0dabd8e4 | 14 | int ball_tempY = 64; |
Kaikestu | 0:b2eb0dabd8e4 | 15 | int dir = 1 ; |
Kaikestu | 0:b2eb0dabd8e4 | 16 | |
Kaikestu | 0:b2eb0dabd8e4 | 17 | |
Kaikestu | 0:b2eb0dabd8e4 | 18 | void moveBall(void); |
Kaikestu | 0:b2eb0dabd8e4 | 19 | |
Kaikestu | 0:b2eb0dabd8e4 | 20 | int main() { |
Kaikestu | 0:b2eb0dabd8e4 | 21 | |
Kaikestu | 0:b2eb0dabd8e4 | 22 | lcd.background(0x000000); |
Kaikestu | 0:b2eb0dabd8e4 | 23 | while(1) { |
Kaikestu | 0:b2eb0dabd8e4 | 24 | lcd.cls(); |
Kaikestu | 0:b2eb0dabd8e4 | 25 | |
Kaikestu | 0:b2eb0dabd8e4 | 26 | le = left * 100 + 8; |
Kaikestu | 0:b2eb0dabd8e4 | 27 | r = right * 100 + 8; |
Kaikestu | 0:b2eb0dabd8e4 | 28 | |
Kaikestu | 0:b2eb0dabd8e4 | 29 | //center line |
Kaikestu | 0:b2eb0dabd8e4 | 30 | lcd.fill(65,0,1,130,0xffffff); |
Kaikestu | 0:b2eb0dabd8e4 | 31 | |
Kaikestu | 0:b2eb0dabd8e4 | 32 | //left paddle |
Kaikestu | 0:b2eb0dabd8e4 | 33 | lcd.fill(4,le,4,16,0xffffff); |
Kaikestu | 0:b2eb0dabd8e4 | 34 | |
Kaikestu | 0:b2eb0dabd8e4 | 35 | //right paddle |
Kaikestu | 0:b2eb0dabd8e4 | 36 | lcd.fill(120,r,4,16,0xffffff); |
Kaikestu | 0:b2eb0dabd8e4 | 37 | |
Kaikestu | 0:b2eb0dabd8e4 | 38 | //ball |
Kaikestu | 0:b2eb0dabd8e4 | 39 | moveBall(); |
Kaikestu | 0:b2eb0dabd8e4 | 40 | lcd.locate(3,5); |
Kaikestu | 0:b2eb0dabd8e4 | 41 | lcd.printf("%.0f",dir); |
Kaikestu | 0:b2eb0dabd8e4 | 42 | lcd.locate(3,7); |
Kaikestu | 0:b2eb0dabd8e4 | 43 | lcd.printf("%.0f",le); |
Kaikestu | 0:b2eb0dabd8e4 | 44 | //wait(0.3); |
Kaikestu | 0:b2eb0dabd8e4 | 45 | } |
Kaikestu | 0:b2eb0dabd8e4 | 46 | } |
Kaikestu | 0:b2eb0dabd8e4 | 47 | |
Kaikestu | 0:b2eb0dabd8e4 | 48 | void moveBall(){ |
Kaikestu | 0:b2eb0dabd8e4 | 49 | |
Kaikestu | 0:b2eb0dabd8e4 | 50 | ball_tempX = ball_x; |
Kaikestu | 0:b2eb0dabd8e4 | 51 | ball_tempY = ball_y; |
Kaikestu | 0:b2eb0dabd8e4 | 52 | |
Kaikestu | 0:b2eb0dabd8e4 | 53 | if (dir == 1 && ball_x > 5 && ball_y > 5){ |
Kaikestu | 0:b2eb0dabd8e4 | 54 | |
Kaikestu | 0:b2eb0dabd8e4 | 55 | if( ball_x == 5 && ball_y >= le && ball_y <= le + 8){ |
Kaikestu | 0:b2eb0dabd8e4 | 56 | dir = rand() % 2 + 3; |
Kaikestu | 0:b2eb0dabd8e4 | 57 | }else{ |
Kaikestu | 0:b2eb0dabd8e4 | 58 | ball_x--; |
Kaikestu | 0:b2eb0dabd8e4 | 59 | ball_y--; |
Kaikestu | 0:b2eb0dabd8e4 | 60 | } |
Kaikestu | 0:b2eb0dabd8e4 | 61 | |
Kaikestu | 0:b2eb0dabd8e4 | 62 | } else if (dir == 2 && ball_x > 30 && ball_y < 5){ |
Kaikestu | 0:b2eb0dabd8e4 | 63 | |
Kaikestu | 0:b2eb0dabd8e4 | 64 | if( ball_x == 6 && ball_y >= le && ball_y <= le + 8){ |
Kaikestu | 0:b2eb0dabd8e4 | 65 | dir = rand() % 2 + 3; |
Kaikestu | 0:b2eb0dabd8e4 | 66 | }else{ |
Kaikestu | 0:b2eb0dabd8e4 | 67 | ball_x--; |
Kaikestu | 0:b2eb0dabd8e4 | 68 | ball_y++; |
Kaikestu | 0:b2eb0dabd8e4 | 69 | } |
Kaikestu | 0:b2eb0dabd8e4 | 70 | |
Kaikestu | 0:b2eb0dabd8e4 | 71 | } else if (dir == 3 && ball_x < 130 && ball_y > 5){ |
Kaikestu | 0:b2eb0dabd8e4 | 72 | |
Kaikestu | 0:b2eb0dabd8e4 | 73 | if( ball_x + 5 == 120 && ball_y >= r && ball_y <= r + 20){ |
Kaikestu | 0:b2eb0dabd8e4 | 74 | dir = rand() % 1 + 2; |
Kaikestu | 0:b2eb0dabd8e4 | 75 | }else{ |
Kaikestu | 0:b2eb0dabd8e4 | 76 | ball_x++; |
Kaikestu | 0:b2eb0dabd8e4 | 77 | ball_y--; |
Kaikestu | 0:b2eb0dabd8e4 | 78 | } |
Kaikestu | 0:b2eb0dabd8e4 | 79 | |
Kaikestu | 0:b2eb0dabd8e4 | 80 | } else if (dir == 4 && ball_x < 130 && ball_y < 475){ |
Kaikestu | 0:b2eb0dabd8e4 | 81 | |
Kaikestu | 0:b2eb0dabd8e4 | 82 | if( ball_x + 5 == 120 && ball_y >= r && ball_y <= r + 20){ |
Kaikestu | 0:b2eb0dabd8e4 | 83 | dir = rand() % 1 + 2; |
Kaikestu | 0:b2eb0dabd8e4 | 84 | }else{ |
Kaikestu | 0:b2eb0dabd8e4 | 85 | ball_x++; |
Kaikestu | 0:b2eb0dabd8e4 | 86 | ball_y++; |
Kaikestu | 0:b2eb0dabd8e4 | 87 | } |
Kaikestu | 0:b2eb0dabd8e4 | 88 | |
Kaikestu | 0:b2eb0dabd8e4 | 89 | } else { |
Kaikestu | 0:b2eb0dabd8e4 | 90 | |
Kaikestu | 0:b2eb0dabd8e4 | 91 | if (dir == 1 || dir == 3) dir++; |
Kaikestu | 0:b2eb0dabd8e4 | 92 | else if (dir == 2 || dir == 4) dir--; |
Kaikestu | 0:b2eb0dabd8e4 | 93 | |
Kaikestu | 0:b2eb0dabd8e4 | 94 | } |
Kaikestu | 0:b2eb0dabd8e4 | 95 | |
Kaikestu | 0:b2eb0dabd8e4 | 96 | lcd.fill (ball_x,ball_y,4,4,0xffffff); |
Kaikestu | 0:b2eb0dabd8e4 | 97 | } |