Eric Wieser
/
Sierpinski
main.cpp@0:9311b440e62b, 2009-09-01 (annotated)
- Committer:
- EricWieser
- Date:
- Tue Sep 01 16:42:21 2009 +0000
- Revision:
- 0:9311b440e62b
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
EricWieser | 0:9311b440e62b | 1 | #include "mbed.h" |
EricWieser | 0:9311b440e62b | 2 | #include "MobileLCD.h" |
EricWieser | 0:9311b440e62b | 3 | |
EricWieser | 0:9311b440e62b | 4 | #define PI 3.1415926535897 |
EricWieser | 0:9311b440e62b | 5 | MobileLCD lcd(5, 6, 7, 8, 9); |
EricWieser | 0:9311b440e62b | 6 | struct point |
EricWieser | 0:9311b440e62b | 7 | { |
EricWieser | 0:9311b440e62b | 8 | int x; |
EricWieser | 0:9311b440e62b | 9 | int y; |
EricWieser | 0:9311b440e62b | 10 | }; |
EricWieser | 0:9311b440e62b | 11 | |
EricWieser | 0:9311b440e62b | 12 | point points[3]; |
EricWieser | 0:9311b440e62b | 13 | point current; |
EricWieser | 0:9311b440e62b | 14 | |
EricWieser | 0:9311b440e62b | 15 | int main() |
EricWieser | 0:9311b440e62b | 16 | { |
EricWieser | 0:9311b440e62b | 17 | for(int i=0; i<3; i++) |
EricWieser | 0:9311b440e62b | 18 | { |
EricWieser | 0:9311b440e62b | 19 | points[i].x = 65+60*sin(2*PI*i/3); |
EricWieser | 0:9311b440e62b | 20 | points[i].y = 65+60*cos(2*PI*i/3); |
EricWieser | 0:9311b440e62b | 21 | } |
EricWieser | 0:9311b440e62b | 22 | lcd.background(0xFFFFFF); |
EricWieser | 0:9311b440e62b | 23 | lcd.cls(); |
EricWieser | 0:9311b440e62b | 24 | current = points[rand()%3]; |
EricWieser | 0:9311b440e62b | 25 | while(1) |
EricWieser | 0:9311b440e62b | 26 | { |
EricWieser | 0:9311b440e62b | 27 | lcd.pixel(current.x, current.y, 0x000000); |
EricWieser | 0:9311b440e62b | 28 | point nextpoint = points[rand()%3]; |
EricWieser | 0:9311b440e62b | 29 | current.x = (current.x + nextpoint.x)/2; |
EricWieser | 0:9311b440e62b | 30 | current.y = (current.y + nextpoint.y)/2; |
EricWieser | 0:9311b440e62b | 31 | wait(0.01); |
EricWieser | 0:9311b440e62b | 32 | } |
EricWieser | 0:9311b440e62b | 33 | } |