2036 mbed lab4
Dependencies: 4DGL-uLCD-SE PinDetect
Diff: Die.cc
- Revision:
- 0:bbda88bee65a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Die.cc Mon Mar 28 18:44:30 2022 +0000 @@ -0,0 +1,98 @@ +#include "Die.h" +#include <stdlib.h> + +#include "uLCD_4DGL.h" +extern uLCD_4DGL uLCD; + +DieState Die::getCurrDieState()//setter and getter for state +{ + return currDieState; +} + +void Die::setCurrDieState(DieState v) +{ + currDieState=v; +} + + + + +void Die::rollDie() +{//function to roll die, only roll if die is in roll state + if(currDieState==ROLL) { + int val=rand()%6+1; + value = val; + } +} +void Die::drawDie()//function to draw die +{ + uLCD.rectangle(x1,y1,x2,y2,Color); + if (value==1) {//if statements displaying certain numbers of dots for each number + uLCD.filled_circle(x1+((x2-x1)/2),(y1+(y2-y1)/2), 3, WHITE); + } + if (value==2) { + uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); + } + if (value==3) { + uLCD.filled_circle(x1+((x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+((x2-x1)/2),(y1+((y2-y1)/2)), 3, WHITE); + } + if (value==4) { + uLCD.filled_circle(x1+((x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); + } + if (value==5) { + uLCD.filled_circle(x1+((x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+((x2-x1)/2),(y1+((y2-y1)/2)), 3, WHITE); + } + if (value==6) { + uLCD.filled_circle(x1+((x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); + uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/2)), 3, WHITE); + uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/2)), 3, WHITE); + + + + } + + + +} +int Die::getx1()//setters and getters for data members +{ + return x1; +} + +int Die::getx2() +{ + return x2; +} + +int Die::gety1() +{ + return y1; +} + +int Die::gety2() +{ + return y2; +} + +int Die::getColor() +{ + return Color; +} + +int Die::getValue() +{ + return value; +} \ No newline at end of file