How does this workkkkk?!?!?!?!?!
Dependencies: 4DGL-uLCD-SE PinDetect mbed-rtos mbed
Robot.h@0:973e6eca2102, 2016-10-29 (annotated)
- Committer:
- swilliams346
- Date:
- Sat Oct 29 22:10:24 2016 +0000
- Revision:
- 0:973e6eca2102
ERICK
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
swilliams346 | 0:973e6eca2102 | 1 | //robot |
swilliams346 | 0:973e6eca2102 | 2 | class Robot |
swilliams346 | 0:973e6eca2102 | 3 | { |
swilliams346 | 0:973e6eca2102 | 4 | public: |
swilliams346 | 0:973e6eca2102 | 5 | void drawFrog() { |
swilliams346 | 0:973e6eca2102 | 6 | uLCD.filled_rectangle(XPosition-5,YPosition-5,XPosition+5,YPosition+5,RED); |
swilliams346 | 0:973e6eca2102 | 7 | } |
swilliams346 | 0:973e6eca2102 | 8 | |
swilliams346 | 0:973e6eca2102 | 9 | void drawOutline() { |
swilliams346 | 0:973e6eca2102 | 10 | uLCD.line(0, 0 , 0, 127, BLACK); |
swilliams346 | 0:973e6eca2102 | 11 | uLCD.line(0, 0 , 127, 0, BLACK); |
swilliams346 | 0:973e6eca2102 | 12 | uLCD.line(127, 127 , 0, 127, BLACK); |
swilliams346 | 0:973e6eca2102 | 13 | uLCD.line(127, 127 , 127, 0, BLACK); |
swilliams346 | 0:973e6eca2102 | 14 | } |
swilliams346 | 0:973e6eca2102 | 15 | |
swilliams346 | 0:973e6eca2102 | 16 | void drawGrass(int Xp,int Yp) { |
swilliams346 | 0:973e6eca2102 | 17 | uLCD.filled_rectangle(Xp-10,Yp-10,Xp+10,Yp+10,GREEN); |
swilliams346 | 0:973e6eca2102 | 18 | } |
swilliams346 | 0:973e6eca2102 | 19 | |
swilliams346 | 0:973e6eca2102 | 20 | void drawBar(int Xp,int Yp) { |
swilliams346 | 0:973e6eca2102 | 21 | uLCD.filled_rectangle(Xp-10,Yp-10,Xp+10,Yp+10,BLACK); |
swilliams346 | 0:973e6eca2102 | 22 | } |
swilliams346 | 0:973e6eca2102 | 23 | |
swilliams346 | 0:973e6eca2102 | 24 | void drawRoad(int Xp,int Yp) { |
swilliams346 | 0:973e6eca2102 | 25 | uLCD.filled_rectangle(Xp-10,Yp-10,Xp+10,Yp+10,BLACK); |
swilliams346 | 0:973e6eca2102 | 26 | uLCD.filled_rectangle(Xp-2,Yp-1,Xp+2,Yp+1,WHITE); |
swilliams346 | 0:973e6eca2102 | 27 | } |
swilliams346 | 0:973e6eca2102 | 28 | |
swilliams346 | 0:973e6eca2102 | 29 | void drawWater(int Xp,int Yp) { |
swilliams346 | 0:973e6eca2102 | 30 | uLCD.filled_rectangle(Xp-10,Yp-10,Xp+10,Yp+10,BLUE); |
swilliams346 | 0:973e6eca2102 | 31 | if(Xp == 11 || Xp == 53 || Xp == 95){ |
swilliams346 | 0:973e6eca2102 | 32 | uLCD.filled_rectangle(Xp-6,Yp-6,Xp+6,Yp+6,GREEN); |
swilliams346 | 0:973e6eca2102 | 33 | } |
swilliams346 | 0:973e6eca2102 | 34 | } |
swilliams346 | 0:973e6eca2102 | 35 | |
swilliams346 | 0:973e6eca2102 | 36 | void drawHelper(int Xp,int Yp) { |
swilliams346 | 0:973e6eca2102 | 37 | if(Yp == 11) { |
swilliams346 | 0:973e6eca2102 | 38 | drawBar(Xp,Yp); //Row 1 |
swilliams346 | 0:973e6eca2102 | 39 | } |
swilliams346 | 0:973e6eca2102 | 40 | if(Yp == 32){ |
swilliams346 | 0:973e6eca2102 | 41 | drawGrass(Xp,Yp); //Row 2 |
swilliams346 | 0:973e6eca2102 | 42 | } |
swilliams346 | 0:973e6eca2102 | 43 | if(Yp == 53){ |
swilliams346 | 0:973e6eca2102 | 44 | drawRoad(Xp,Yp); //Row 3 |
swilliams346 | 0:973e6eca2102 | 45 | } |
swilliams346 | 0:973e6eca2102 | 46 | if(Yp == 74){ |
swilliams346 | 0:973e6eca2102 | 47 | drawWater(Xp,Yp); //Row 4 |
swilliams346 | 0:973e6eca2102 | 48 | } |
swilliams346 | 0:973e6eca2102 | 49 | if(Yp == 95){ |
swilliams346 | 0:973e6eca2102 | 50 | drawRoad(Xp,Yp); //Row 5 |
swilliams346 | 0:973e6eca2102 | 51 | } |
swilliams346 | 0:973e6eca2102 | 52 | if(Yp == 116){ |
swilliams346 | 0:973e6eca2102 | 53 | drawGrass(Xp,Yp); //Row 6 |
swilliams346 | 0:973e6eca2102 | 54 | } |
swilliams346 | 0:973e6eca2102 | 55 | } |
swilliams346 | 0:973e6eca2102 | 56 | |
swilliams346 | 0:973e6eca2102 | 57 | void drawEraser() { |
swilliams346 | 0:973e6eca2102 | 58 | drawHelper(XPosition,YPosition); |
swilliams346 | 0:973e6eca2102 | 59 | } |
swilliams346 | 0:973e6eca2102 | 60 | |
swilliams346 | 0:973e6eca2102 | 61 | void moveForward() { |
swilliams346 | 0:973e6eca2102 | 62 | setYPosition(getYPosition() - 21); |
swilliams346 | 0:973e6eca2102 | 63 | } |
swilliams346 | 0:973e6eca2102 | 64 | void moveBackward() { |
swilliams346 | 0:973e6eca2102 | 65 | setYPosition(getYPosition() + 21); |
swilliams346 | 0:973e6eca2102 | 66 | } |
swilliams346 | 0:973e6eca2102 | 67 | void moveLeft() { |
swilliams346 | 0:973e6eca2102 | 68 | setXPosition(getXPosition() - 21); |
swilliams346 | 0:973e6eca2102 | 69 | } |
swilliams346 | 0:973e6eca2102 | 70 | void moveRight() { |
swilliams346 | 0:973e6eca2102 | 71 | setXPosition(getXPosition() + 21); |
swilliams346 | 0:973e6eca2102 | 72 | } |
swilliams346 | 0:973e6eca2102 | 73 | |
swilliams346 | 0:973e6eca2102 | 74 | int getXPosition() { |
swilliams346 | 0:973e6eca2102 | 75 | return XPosition; |
swilliams346 | 0:973e6eca2102 | 76 | } |
swilliams346 | 0:973e6eca2102 | 77 | int getYPosition() { |
swilliams346 | 0:973e6eca2102 | 78 | return YPosition; |
swilliams346 | 0:973e6eca2102 | 79 | } |
swilliams346 | 0:973e6eca2102 | 80 | |
swilliams346 | 0:973e6eca2102 | 81 | void setXPosition(int x) { |
swilliams346 | 0:973e6eca2102 | 82 | XPosition=x; |
swilliams346 | 0:973e6eca2102 | 83 | } |
swilliams346 | 0:973e6eca2102 | 84 | void setYPosition(int y) { |
swilliams346 | 0:973e6eca2102 | 85 | YPosition=y; |
swilliams346 | 0:973e6eca2102 | 86 | } |
swilliams346 | 0:973e6eca2102 | 87 | |
swilliams346 | 0:973e6eca2102 | 88 | Robot() |
swilliams346 | 0:973e6eca2102 | 89 | { |
swilliams346 | 0:973e6eca2102 | 90 | XPosition = 95; |
swilliams346 | 0:973e6eca2102 | 91 | YPosition = 116; |
swilliams346 | 0:973e6eca2102 | 92 | } |
swilliams346 | 0:973e6eca2102 | 93 | private: |
swilliams346 | 0:973e6eca2102 | 94 | |
swilliams346 | 0:973e6eca2102 | 95 | int XPosition; |
swilliams346 | 0:973e6eca2102 | 96 | int YPosition; |
swilliams346 | 0:973e6eca2102 | 97 | }; |