2036 mbed lab4
Dependencies: 4DGL-uLCD-SE PinDetect
Die.cc@0:bbda88bee65a, 2022-03-28 (annotated)
- Committer:
- lhanks02
- Date:
- Mon Mar 28 18:44:30 2022 +0000
- Revision:
- 0:bbda88bee65a
lab4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lhanks02 | 0:bbda88bee65a | 1 | #include "Die.h" |
lhanks02 | 0:bbda88bee65a | 2 | #include <stdlib.h> |
lhanks02 | 0:bbda88bee65a | 3 | |
lhanks02 | 0:bbda88bee65a | 4 | #include "uLCD_4DGL.h" |
lhanks02 | 0:bbda88bee65a | 5 | extern uLCD_4DGL uLCD; |
lhanks02 | 0:bbda88bee65a | 6 | |
lhanks02 | 0:bbda88bee65a | 7 | DieState Die::getCurrDieState()//setter and getter for state |
lhanks02 | 0:bbda88bee65a | 8 | { |
lhanks02 | 0:bbda88bee65a | 9 | return currDieState; |
lhanks02 | 0:bbda88bee65a | 10 | } |
lhanks02 | 0:bbda88bee65a | 11 | |
lhanks02 | 0:bbda88bee65a | 12 | void Die::setCurrDieState(DieState v) |
lhanks02 | 0:bbda88bee65a | 13 | { |
lhanks02 | 0:bbda88bee65a | 14 | currDieState=v; |
lhanks02 | 0:bbda88bee65a | 15 | } |
lhanks02 | 0:bbda88bee65a | 16 | |
lhanks02 | 0:bbda88bee65a | 17 | |
lhanks02 | 0:bbda88bee65a | 18 | |
lhanks02 | 0:bbda88bee65a | 19 | |
lhanks02 | 0:bbda88bee65a | 20 | void Die::rollDie() |
lhanks02 | 0:bbda88bee65a | 21 | {//function to roll die, only roll if die is in roll state |
lhanks02 | 0:bbda88bee65a | 22 | if(currDieState==ROLL) { |
lhanks02 | 0:bbda88bee65a | 23 | int val=rand()%6+1; |
lhanks02 | 0:bbda88bee65a | 24 | value = val; |
lhanks02 | 0:bbda88bee65a | 25 | } |
lhanks02 | 0:bbda88bee65a | 26 | } |
lhanks02 | 0:bbda88bee65a | 27 | void Die::drawDie()//function to draw die |
lhanks02 | 0:bbda88bee65a | 28 | { |
lhanks02 | 0:bbda88bee65a | 29 | uLCD.rectangle(x1,y1,x2,y2,Color); |
lhanks02 | 0:bbda88bee65a | 30 | if (value==1) {//if statements displaying certain numbers of dots for each number |
lhanks02 | 0:bbda88bee65a | 31 | uLCD.filled_circle(x1+((x2-x1)/2),(y1+(y2-y1)/2), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 32 | } |
lhanks02 | 0:bbda88bee65a | 33 | if (value==2) { |
lhanks02 | 0:bbda88bee65a | 34 | uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 35 | uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 36 | } |
lhanks02 | 0:bbda88bee65a | 37 | if (value==3) { |
lhanks02 | 0:bbda88bee65a | 38 | uLCD.filled_circle(x1+((x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 39 | uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 40 | uLCD.filled_circle(x1+((x2-x1)/2),(y1+((y2-y1)/2)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 41 | } |
lhanks02 | 0:bbda88bee65a | 42 | if (value==4) { |
lhanks02 | 0:bbda88bee65a | 43 | uLCD.filled_circle(x1+((x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 44 | uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 45 | uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 46 | uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 47 | } |
lhanks02 | 0:bbda88bee65a | 48 | if (value==5) { |
lhanks02 | 0:bbda88bee65a | 49 | uLCD.filled_circle(x1+((x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 50 | uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 51 | uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 52 | uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 53 | uLCD.filled_circle(x1+((x2-x1)/2),(y1+((y2-y1)/2)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 54 | } |
lhanks02 | 0:bbda88bee65a | 55 | if (value==6) { |
lhanks02 | 0:bbda88bee65a | 56 | uLCD.filled_circle(x1+((x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 57 | uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 58 | uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+(3*(y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 59 | uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/4)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 60 | uLCD.filled_circle(x1+((x2-x1)/4),(y1+((y2-y1)/2)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 61 | uLCD.filled_circle(x1+(3*(x2-x1)/4),(y1+((y2-y1)/2)), 3, WHITE); |
lhanks02 | 0:bbda88bee65a | 62 | |
lhanks02 | 0:bbda88bee65a | 63 | |
lhanks02 | 0:bbda88bee65a | 64 | |
lhanks02 | 0:bbda88bee65a | 65 | } |
lhanks02 | 0:bbda88bee65a | 66 | |
lhanks02 | 0:bbda88bee65a | 67 | |
lhanks02 | 0:bbda88bee65a | 68 | |
lhanks02 | 0:bbda88bee65a | 69 | } |
lhanks02 | 0:bbda88bee65a | 70 | int Die::getx1()//setters and getters for data members |
lhanks02 | 0:bbda88bee65a | 71 | { |
lhanks02 | 0:bbda88bee65a | 72 | return x1; |
lhanks02 | 0:bbda88bee65a | 73 | } |
lhanks02 | 0:bbda88bee65a | 74 | |
lhanks02 | 0:bbda88bee65a | 75 | int Die::getx2() |
lhanks02 | 0:bbda88bee65a | 76 | { |
lhanks02 | 0:bbda88bee65a | 77 | return x2; |
lhanks02 | 0:bbda88bee65a | 78 | } |
lhanks02 | 0:bbda88bee65a | 79 | |
lhanks02 | 0:bbda88bee65a | 80 | int Die::gety1() |
lhanks02 | 0:bbda88bee65a | 81 | { |
lhanks02 | 0:bbda88bee65a | 82 | return y1; |
lhanks02 | 0:bbda88bee65a | 83 | } |
lhanks02 | 0:bbda88bee65a | 84 | |
lhanks02 | 0:bbda88bee65a | 85 | int Die::gety2() |
lhanks02 | 0:bbda88bee65a | 86 | { |
lhanks02 | 0:bbda88bee65a | 87 | return y2; |
lhanks02 | 0:bbda88bee65a | 88 | } |
lhanks02 | 0:bbda88bee65a | 89 | |
lhanks02 | 0:bbda88bee65a | 90 | int Die::getColor() |
lhanks02 | 0:bbda88bee65a | 91 | { |
lhanks02 | 0:bbda88bee65a | 92 | return Color; |
lhanks02 | 0:bbda88bee65a | 93 | } |
lhanks02 | 0:bbda88bee65a | 94 | |
lhanks02 | 0:bbda88bee65a | 95 | int Die::getValue() |
lhanks02 | 0:bbda88bee65a | 96 | { |
lhanks02 | 0:bbda88bee65a | 97 | return value; |
lhanks02 | 0:bbda88bee65a | 98 | } |