Frogger for mbed
Dependencies: 4DGL-uLCD-SE Motor PinDetect SDFileSystem mbed-rtos mbed wave_player
Fork of 4180_Lab4_v6 by
Robot.h
- Committer:
- swilliams346
- Date:
- 2016-10-29
- Revision:
- 0:9f1095365b9a
- Child:
- 1:abd7e0631db8
File content as of revision 0:9f1095365b9a:
//robot class Robot { Mutex stdio_mutex; public: void drawFrog() { uLCD.filled_rectangle(XPosition-5,YPosition-5,XPosition+5,YPosition+5,RED); } void drawOutline() { uLCD.line(0, 0 , 0, 127, BLACK); uLCD.line(0, 0 , 127, 0, BLACK); uLCD.line(127, 127 , 0, 127, BLACK); uLCD.line(127, 127 , 127, 0, BLACK); } void drawGrass(int Xp,int Yp) { uLCD.filled_rectangle(Xp-10,Yp-10,Xp+10,Yp+10,GREEN); } void drawBar(int Xp,int Yp) { uLCD.filled_rectangle(Xp-10,Yp-10,Xp+10,Yp+10,BLACK); } void drawRoad(int Xp,int Yp) { uLCD.filled_rectangle(Xp-10,Yp-10,Xp+10,Yp+10,BLACK); uLCD.filled_rectangle(Xp-2,Yp-1,Xp+2,Yp+1,WHITE); } void drawCar1(int Position1) { stdio_mutex.lock(); uLCD.filled_rectangle(Position1-10,95-4,Position1+10,95+4,BLUE); stdio_mutex.unlock(); } void drawWater(int Xp,int Yp) { uLCD.filled_rectangle(Xp-10,Yp-10,Xp+10,Yp+10,BLUE); if(Xp == 11 || Xp == 53 || Xp == 95){ uLCD.filled_rectangle(Xp-6,Yp-6,Xp+6,Yp+6,GREEN); } } void drawDrown1() { uLCD.filled_rectangle(XPosition-10,YPosition-10,XPosition+10,YPosition+10,BLUE); uLCD.filled_rectangle(XPosition-4,YPosition-4,XPosition+4,YPosition+4,RED); uLCD.circle(XPosition, YPosition , 2, WHITE); } void drawDrown2() { uLCD.filled_rectangle(XPosition-10,YPosition-10,XPosition+10,YPosition+10,BLUE); uLCD.filled_rectangle(XPosition-3,YPosition-3,XPosition+3,YPosition+3,RED); uLCD.circle(XPosition, YPosition, 3, WHITE); } void drawDrown3() { uLCD.filled_rectangle(XPosition-10,YPosition-10,XPosition+10,YPosition+10,BLUE); uLCD.filled_rectangle(XPosition-1,YPosition-1,XPosition+1,YPosition+1,RED); uLCD.circle(XPosition, YPosition, 4 , WHITE); } void drawDrown4() { uLCD.filled_rectangle(XPosition-10,YPosition-10,XPosition+10,YPosition+10,BLUE); uLCD.circle(XPosition, YPosition, 5 , WHITE); uLCD.circle(XPosition, YPosition, 2 , WHITE); } void drawDrown5() { uLCD.filled_rectangle(XPosition-10,YPosition-10,XPosition+10,YPosition+10,BLUE); } void drawHelper(int Xp,int Yp) { if(Yp == 11) { drawBar(Xp,Yp); //Row 1 } if(Yp == 32){ drawGrass(Xp,Yp); //Row 2 } if(Yp == 53){ drawRoad(Xp,Yp); //Row 3 } if(Yp == 74){ drawWater(Xp,Yp); //Row 4 } if(Yp == 95){ drawRoad(Xp,Yp); //Row 5 } if(Yp == 116){ drawGrass(Xp,Yp); //Row 6 } } void drawEraser() { drawHelper(XPosition,YPosition); } void moveForward() { setYPosition(getYPosition() - 21); } void moveBackward() { setYPosition(getYPosition() + 21); } void moveLeft() { setXPosition(getXPosition() - 21); } void moveRight() { setXPosition(getXPosition() + 21); } int getXPosition() { return XPosition; } int getYPosition() { return YPosition; } void setXPosition(int x) { XPosition=x; } void setYPosition(int y) { YPosition=y; } Robot() { XPosition = 74; YPosition = 116; } private: int XPosition; int YPosition; };