2036 mbed lab4

Dependencies:   4DGL-uLCD-SE PinDetect

Committer:
lhanks02
Date:
Mon Mar 28 18:44:30 2022 +0000
Revision:
0:bbda88bee65a
lab4

Who changed what in which revision?

UserRevisionLine numberNew 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 }