Farkle Game Code-Final

Dependencies:   mbed 4DGL-uLCD-SE PinDetect

Committer:
mmcdoanld81
Date:
Thu Mar 17 17:50:51 2022 +0000
Revision:
0:8ef203a5084f
FinalCopy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mmcdoanld81 0:8ef203a5084f 1 //This file contains all the score calculations for the different type of dicerolls
mmcdoanld81 0:8ef203a5084f 2
mmcdoanld81 0:8ef203a5084f 3 #include <iostream>
mmcdoanld81 0:8ef203a5084f 4 #include <fstream>
mmcdoanld81 0:8ef203a5084f 5 #include <iomanip>
mmcdoanld81 0:8ef203a5084f 6 #include <cmath>
mmcdoanld81 0:8ef203a5084f 7 #include <cstdlib>
mmcdoanld81 0:8ef203a5084f 8 #include <time.h>
mmcdoanld81 0:8ef203a5084f 9 #include <string>
mmcdoanld81 0:8ef203a5084f 10 #include <stdlib.h>
mmcdoanld81 0:8ef203a5084f 11 #include <stdio.h>
mmcdoanld81 0:8ef203a5084f 12 #include <sstream>
mmcdoanld81 0:8ef203a5084f 13
mmcdoanld81 0:8ef203a5084f 14 #include "farkleMath.h"
mmcdoanld81 0:8ef203a5084f 15 #include "diceMath.h"
mmcdoanld81 0:8ef203a5084f 16 #include "MMA8452.h"
mmcdoanld81 0:8ef203a5084f 17 #include "uLCD_4DGL.h"
mmcdoanld81 0:8ef203a5084f 18 #include "Speaker.h"
mmcdoanld81 0:8ef203a5084f 19 #include "temperature.h"
mmcdoanld81 0:8ef203a5084f 20 #include "PinDetect.h"
mmcdoanld81 0:8ef203a5084f 21 #include "mbed.h"
mmcdoanld81 0:8ef203a5084f 22
mmcdoanld81 0:8ef203a5084f 23 using namespace std;
mmcdoanld81 0:8ef203a5084f 24 extern MMA8452 acc;
mmcdoanld81 0:8ef203a5084f 25 extern uLCD_4DGL uLCD;
mmcdoanld81 0:8ef203a5084f 26 extern PinDetect pb1;
mmcdoanld81 0:8ef203a5084f 27 extern PinDetect pb2;
mmcdoanld81 0:8ef203a5084f 28 extern PinDetect pb3;
mmcdoanld81 0:8ef203a5084f 29 extern Serial pc;
mmcdoanld81 0:8ef203a5084f 30 extern Speaker mySpeaker;
mmcdoanld81 0:8ef203a5084f 31 extern Dice dice;
mmcdoanld81 0:8ef203a5084f 32 FarkleMath farklemath;
mmcdoanld81 0:8ef203a5084f 33
mmcdoanld81 0:8ef203a5084f 34 //Calls in my setters and getters so I can use them
mmcdoanld81 0:8ef203a5084f 35 void FarkleMath::setRollScore(int input) {
mmcdoanld81 0:8ef203a5084f 36 rollScore = input;
mmcdoanld81 0:8ef203a5084f 37 }
mmcdoanld81 0:8ef203a5084f 38
mmcdoanld81 0:8ef203a5084f 39 void FarkleMath::setTurnScore(int input) {
mmcdoanld81 0:8ef203a5084f 40 turnScore = input;
mmcdoanld81 0:8ef203a5084f 41 }
mmcdoanld81 0:8ef203a5084f 42
mmcdoanld81 0:8ef203a5084f 43 int FarkleMath::getRollScore() {
mmcdoanld81 0:8ef203a5084f 44 return rollScore;
mmcdoanld81 0:8ef203a5084f 45 }
mmcdoanld81 0:8ef203a5084f 46
mmcdoanld81 0:8ef203a5084f 47 int FarkleMath::getTurnScore() {
mmcdoanld81 0:8ef203a5084f 48 return turnScore;
mmcdoanld81 0:8ef203a5084f 49 }
mmcdoanld81 0:8ef203a5084f 50
mmcdoanld81 0:8ef203a5084f 51 FarkleMath::FarkleMath() {
mmcdoanld81 0:8ef203a5084f 52 turnScore = 0;
mmcdoanld81 0:8ef203a5084f 53 rollScore = 0;
mmcdoanld81 0:8ef203a5084f 54 }
mmcdoanld81 0:8ef203a5084f 55
mmcdoanld81 0:8ef203a5084f 56
mmcdoanld81 0:8ef203a5084f 57 //The following code is the calculations for all possible ways
mmcdoanld81 0:8ef203a5084f 58 //to get points in this game
mmcdoanld81 0:8ef203a5084f 59
mmcdoanld81 0:8ef203a5084f 60 void FarkleMath::five(bool& value) {
mmcdoanld81 0:8ef203a5084f 61 if ((dice.getGetDiceResults(5)==(1||2))){
mmcdoanld81 0:8ef203a5084f 62 value = false;
mmcdoanld81 0:8ef203a5084f 63 rollScore += (50);
mmcdoanld81 0:8ef203a5084f 64 dice.setSetDiceResult(5, 0);
mmcdoanld81 0:8ef203a5084f 65 dice.setTakeaway((1));
mmcdoanld81 0:8ef203a5084f 66 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 67 }
mmcdoanld81 0:8ef203a5084f 68 }
mmcdoanld81 0:8ef203a5084f 69
mmcdoanld81 0:8ef203a5084f 70 void FarkleMath::one(bool& value) {
mmcdoanld81 0:8ef203a5084f 71 if ((dice.getGetDiceResults(1)==(1||2))){
mmcdoanld81 0:8ef203a5084f 72 value = false;
mmcdoanld81 0:8ef203a5084f 73 rollScore += (100);
mmcdoanld81 0:8ef203a5084f 74 dice.setTakeaway((1));
mmcdoanld81 0:8ef203a5084f 75 dice.setSetDiceResult(1, 0);
mmcdoanld81 0:8ef203a5084f 76 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 77 }
mmcdoanld81 0:8ef203a5084f 78 }
mmcdoanld81 0:8ef203a5084f 79
mmcdoanld81 0:8ef203a5084f 80 void FarkleMath::twofive(bool& value) {
mmcdoanld81 0:8ef203a5084f 81 if ((dice.getGetDiceResults(5)== 2)){
mmcdoanld81 0:8ef203a5084f 82 value = false;
mmcdoanld81 0:8ef203a5084f 83 rollScore += (100);
mmcdoanld81 0:8ef203a5084f 84 dice.setSetDiceResult(5, 0);
mmcdoanld81 0:8ef203a5084f 85 dice.setTakeaway((2));
mmcdoanld81 0:8ef203a5084f 86 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 87 }
mmcdoanld81 0:8ef203a5084f 88 }
mmcdoanld81 0:8ef203a5084f 89
mmcdoanld81 0:8ef203a5084f 90 void FarkleMath::twoone(bool& value) {
mmcdoanld81 0:8ef203a5084f 91 if ((dice.getGetDiceResults(1)==2)){
mmcdoanld81 0:8ef203a5084f 92 value = false;
mmcdoanld81 0:8ef203a5084f 93 rollScore += (200);
mmcdoanld81 0:8ef203a5084f 94 dice.setTakeaway((2));
mmcdoanld81 0:8ef203a5084f 95 dice.setSetDiceResult(1, 0);
mmcdoanld81 0:8ef203a5084f 96 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 97 }
mmcdoanld81 0:8ef203a5084f 98 }
mmcdoanld81 0:8ef203a5084f 99
mmcdoanld81 0:8ef203a5084f 100 void FarkleMath::threeOne(bool& value) {
mmcdoanld81 0:8ef203a5084f 101 if ((dice.getGetDiceResults(1)==3)){
mmcdoanld81 0:8ef203a5084f 102 value = false;
mmcdoanld81 0:8ef203a5084f 103 rollScore += 1000;
mmcdoanld81 0:8ef203a5084f 104 dice.setSetDiceResult(1, 0);
mmcdoanld81 0:8ef203a5084f 105 dice.setTakeaway(3);
mmcdoanld81 0:8ef203a5084f 106 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 107 }
mmcdoanld81 0:8ef203a5084f 108 }
mmcdoanld81 0:8ef203a5084f 109
mmcdoanld81 0:8ef203a5084f 110 void FarkleMath::threeTwo(bool& value) {
mmcdoanld81 0:8ef203a5084f 111 if ((dice.getGetDiceResults(2)==3)){
mmcdoanld81 0:8ef203a5084f 112 value = false;
mmcdoanld81 0:8ef203a5084f 113 rollScore += 200;
mmcdoanld81 0:8ef203a5084f 114 dice.setSetDiceResult(2, 0);
mmcdoanld81 0:8ef203a5084f 115 dice.setTakeaway(3);
mmcdoanld81 0:8ef203a5084f 116 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 117 }
mmcdoanld81 0:8ef203a5084f 118 }
mmcdoanld81 0:8ef203a5084f 119
mmcdoanld81 0:8ef203a5084f 120 void FarkleMath::threeThree(bool& value) {
mmcdoanld81 0:8ef203a5084f 121 if ((dice.getGetDiceResults(3)==3)){
mmcdoanld81 0:8ef203a5084f 122 value = false;
mmcdoanld81 0:8ef203a5084f 123 rollScore += 300;
mmcdoanld81 0:8ef203a5084f 124 dice.setSetDiceResult(3, 0);
mmcdoanld81 0:8ef203a5084f 125 dice.setTakeaway(3);
mmcdoanld81 0:8ef203a5084f 126 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 127 }
mmcdoanld81 0:8ef203a5084f 128 }
mmcdoanld81 0:8ef203a5084f 129
mmcdoanld81 0:8ef203a5084f 130 void FarkleMath::threeFour(bool& value) {
mmcdoanld81 0:8ef203a5084f 131 if ((dice.getGetDiceResults(4)==3)){
mmcdoanld81 0:8ef203a5084f 132 value = false;
mmcdoanld81 0:8ef203a5084f 133 rollScore += 400;
mmcdoanld81 0:8ef203a5084f 134 dice.setSetDiceResult(4, 0);
mmcdoanld81 0:8ef203a5084f 135 dice.setTakeaway(3);
mmcdoanld81 0:8ef203a5084f 136 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 137 }
mmcdoanld81 0:8ef203a5084f 138 }
mmcdoanld81 0:8ef203a5084f 139
mmcdoanld81 0:8ef203a5084f 140 void FarkleMath::threeFive(bool& value) {
mmcdoanld81 0:8ef203a5084f 141 if ((dice.getGetDiceResults(5)==3)){
mmcdoanld81 0:8ef203a5084f 142 value = false;
mmcdoanld81 0:8ef203a5084f 143 rollScore += 500;
mmcdoanld81 0:8ef203a5084f 144 dice.setSetDiceResult(5, 0);
mmcdoanld81 0:8ef203a5084f 145 dice.setTakeaway(3);
mmcdoanld81 0:8ef203a5084f 146 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 147 }
mmcdoanld81 0:8ef203a5084f 148 }
mmcdoanld81 0:8ef203a5084f 149
mmcdoanld81 0:8ef203a5084f 150 void FarkleMath::threeSix(bool& value) {
mmcdoanld81 0:8ef203a5084f 151 if ((dice.getGetDiceResults(6)==3)) {
mmcdoanld81 0:8ef203a5084f 152 value = false;
mmcdoanld81 0:8ef203a5084f 153 rollScore += 600;
mmcdoanld81 0:8ef203a5084f 154 dice.setTakeaway(3);
mmcdoanld81 0:8ef203a5084f 155 dice.setSetDiceResult(6, 0);
mmcdoanld81 0:8ef203a5084f 156 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 157 }
mmcdoanld81 0:8ef203a5084f 158 }
mmcdoanld81 0:8ef203a5084f 159
mmcdoanld81 0:8ef203a5084f 160 void FarkleMath::flush(bool& value) {
mmcdoanld81 0:8ef203a5084f 161 if ((dice.getGetDiceResults(1)==1)&&(dice.getGetDiceResults(2)==2)&&
mmcdoanld81 0:8ef203a5084f 162 (dice.getGetDiceResults(3)==3)&&(dice.getGetDiceResults(4)==4)&&
mmcdoanld81 0:8ef203a5084f 163 (dice.getGetDiceResults(5)==5)&&(dice.getGetDiceResults(6)==6)) {
mmcdoanld81 0:8ef203a5084f 164 value = false;
mmcdoanld81 0:8ef203a5084f 165 rollScore += 1500;
mmcdoanld81 0:8ef203a5084f 166 dice.setTakeaway(6);
mmcdoanld81 0:8ef203a5084f 167 for(int i = 1; i<=6; i++) {
mmcdoanld81 0:8ef203a5084f 168 dice.setSetDiceResult(i, 0);
mmcdoanld81 0:8ef203a5084f 169 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 170 }
mmcdoanld81 0:8ef203a5084f 171 }
mmcdoanld81 0:8ef203a5084f 172 }
mmcdoanld81 0:8ef203a5084f 173 //why find easy ways to do stuff when you can just hard code it into the game!
mmcdoanld81 0:8ef203a5084f 174 void FarkleMath::threePairs(bool& value) {
mmcdoanld81 0:8ef203a5084f 175 bool one = (dice.getGetDiceResults(1) == 2);
mmcdoanld81 0:8ef203a5084f 176 bool two = (dice.getGetDiceResults(2) == 2);
mmcdoanld81 0:8ef203a5084f 177 bool three = (dice.getGetDiceResults(3) == 2);
mmcdoanld81 0:8ef203a5084f 178 bool four = (dice.getGetDiceResults(4) == 2);
mmcdoanld81 0:8ef203a5084f 179 bool five = (dice.getGetDiceResults(5) == 2);
mmcdoanld81 0:8ef203a5084f 180 bool six = (dice.getGetDiceResults(6) == 2);
mmcdoanld81 0:8ef203a5084f 181 //all possible combinations of the dice to get
mmcdoanld81 0:8ef203a5084f 182 bool oneTwoThree = ((one && two && three) == true);
mmcdoanld81 0:8ef203a5084f 183 bool oneTwoFour = ((one && two && four) == true);
mmcdoanld81 0:8ef203a5084f 184 bool oneTwoFive = ((one && two && five) == true);
mmcdoanld81 0:8ef203a5084f 185 bool oneTwoSix = ((one && two && six) == true);
mmcdoanld81 0:8ef203a5084f 186 bool oneThreeFour = ((one && three && four) == true);
mmcdoanld81 0:8ef203a5084f 187 bool oneThreeFive = ((one && three && five) == true);
mmcdoanld81 0:8ef203a5084f 188 bool oneThreeSix = ((one && three && six) == true);
mmcdoanld81 0:8ef203a5084f 189 bool oneFourFive = ((one && four && five) == true);
mmcdoanld81 0:8ef203a5084f 190 bool oneFourSix = ((one && four && six) == true);
mmcdoanld81 0:8ef203a5084f 191 bool oneFiveSix = ((one && five && six) == true);
mmcdoanld81 0:8ef203a5084f 192 bool twoThreeFour = ((two && three && four) == true);
mmcdoanld81 0:8ef203a5084f 193 bool twoThreeFive = ((two && three && five) == true);
mmcdoanld81 0:8ef203a5084f 194 bool twoThreeSix = ((two && three && six) == true);
mmcdoanld81 0:8ef203a5084f 195 bool twoFourFive = ((two && four && five) == true);
mmcdoanld81 0:8ef203a5084f 196 bool twoFourSix = ((two && four && six) == true);
mmcdoanld81 0:8ef203a5084f 197 bool twoFiveSix = ((two && five && six) == true);
mmcdoanld81 0:8ef203a5084f 198 bool threeFourFive = ((three && four && five) == true);
mmcdoanld81 0:8ef203a5084f 199 bool threeFourSix = ((three && four && six) == true);
mmcdoanld81 0:8ef203a5084f 200 bool threeFiveSix = ((three && five && six) == true);
mmcdoanld81 0:8ef203a5084f 201
mmcdoanld81 0:8ef203a5084f 202 if ((oneTwoThree || oneTwoFour || oneTwoFive || oneTwoSix
mmcdoanld81 0:8ef203a5084f 203 || oneThreeFour || oneThreeFive || oneThreeSix || oneFourFive
mmcdoanld81 0:8ef203a5084f 204 || oneFourSix || oneFiveSix || twoThreeFour || twoThreeFive
mmcdoanld81 0:8ef203a5084f 205 || twoThreeSix || twoFourFive || twoFourSix || twoFiveSix
mmcdoanld81 0:8ef203a5084f 206 || threeFourFive || threeFourSix || threeFiveSix) == true){
mmcdoanld81 0:8ef203a5084f 207 value = false;
mmcdoanld81 0:8ef203a5084f 208 rollScore += 1500;
mmcdoanld81 0:8ef203a5084f 209 dice.setTakeaway(6);
mmcdoanld81 0:8ef203a5084f 210 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 211 for (int k = 1; k <=6; k++){
mmcdoanld81 0:8ef203a5084f 212 dice.setSetDiceResult(k, 0);
mmcdoanld81 0:8ef203a5084f 213 }
mmcdoanld81 0:8ef203a5084f 214 }
mmcdoanld81 0:8ef203a5084f 215 }
mmcdoanld81 0:8ef203a5084f 216 void FarkleMath::twoTriplets(bool& value) {
mmcdoanld81 0:8ef203a5084f 217 for (int i = 1; i <=6; i++){
mmcdoanld81 0:8ef203a5084f 218 if ((dice.getGetDiceResults(i)==3)){
mmcdoanld81 0:8ef203a5084f 219 for (int j = 1; j <=6; j++){
mmcdoanld81 0:8ef203a5084f 220 if (((dice.getGetDiceResults(j)==3)&&(j != i))){
mmcdoanld81 0:8ef203a5084f 221 value = false;
mmcdoanld81 0:8ef203a5084f 222 rollScore += 2500;
mmcdoanld81 0:8ef203a5084f 223 dice.setTakeaway(6);
mmcdoanld81 0:8ef203a5084f 224 for (int k = 1; k <=6; k++){
mmcdoanld81 0:8ef203a5084f 225 dice.setSetDiceResult(k, 0);
mmcdoanld81 0:8ef203a5084f 226 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 227 }
mmcdoanld81 0:8ef203a5084f 228 }
mmcdoanld81 0:8ef203a5084f 229 }
mmcdoanld81 0:8ef203a5084f 230 }
mmcdoanld81 0:8ef203a5084f 231 }
mmcdoanld81 0:8ef203a5084f 232 }
mmcdoanld81 0:8ef203a5084f 233
mmcdoanld81 0:8ef203a5084f 234 void FarkleMath::fourOfAKind(bool& value) {
mmcdoanld81 0:8ef203a5084f 235 for (int i = 1; i <=6; i++){
mmcdoanld81 0:8ef203a5084f 236 if ((dice.getGetDiceResults(i)==4)) {
mmcdoanld81 0:8ef203a5084f 237 value = false;
mmcdoanld81 0:8ef203a5084f 238 rollScore += 1000;
mmcdoanld81 0:8ef203a5084f 239 dice.setSetDiceResult(i, 0);
mmcdoanld81 0:8ef203a5084f 240 dice.setTakeaway(4);
mmcdoanld81 0:8ef203a5084f 241 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 242 }
mmcdoanld81 0:8ef203a5084f 243 }
mmcdoanld81 0:8ef203a5084f 244 }
mmcdoanld81 0:8ef203a5084f 245 void FarkleMath::fiveOfAKind(bool& value) {
mmcdoanld81 0:8ef203a5084f 246 for (int i = 1; i <=6; i++){
mmcdoanld81 0:8ef203a5084f 247 if ((dice.getGetDiceResults(i)==5)) {
mmcdoanld81 0:8ef203a5084f 248 value = false;
mmcdoanld81 0:8ef203a5084f 249 rollScore += 2000;
mmcdoanld81 0:8ef203a5084f 250 dice.setSetDiceResult(i, 0);
mmcdoanld81 0:8ef203a5084f 251 dice.setTakeaway(5);
mmcdoanld81 0:8ef203a5084f 252 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 253 }
mmcdoanld81 0:8ef203a5084f 254 }
mmcdoanld81 0:8ef203a5084f 255 }
mmcdoanld81 0:8ef203a5084f 256 void FarkleMath::sixOfAKind(bool& value) {
mmcdoanld81 0:8ef203a5084f 257 for (int i = 1; i <=6; i++) {
mmcdoanld81 0:8ef203a5084f 258 if ((dice.getGetDiceResults(i)==6)) {
mmcdoanld81 0:8ef203a5084f 259 value = false;
mmcdoanld81 0:8ef203a5084f 260 rollScore += 3000;
mmcdoanld81 0:8ef203a5084f 261 dice.setSetDiceResult(i, 0);
mmcdoanld81 0:8ef203a5084f 262 dice.setTakeaway(6);
mmcdoanld81 0:8ef203a5084f 263 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 264 }
mmcdoanld81 0:8ef203a5084f 265 }
mmcdoanld81 0:8ef203a5084f 266 }
mmcdoanld81 0:8ef203a5084f 267
mmcdoanld81 0:8ef203a5084f 268 void FarkleMath::isZero(bool& value){
mmcdoanld81 0:8ef203a5084f 269 if (value == true){
mmcdoanld81 0:8ef203a5084f 270 rollScore = 0;
mmcdoanld81 0:8ef203a5084f 271 }
mmcdoanld81 0:8ef203a5084f 272 }
mmcdoanld81 0:8ef203a5084f 273
mmcdoanld81 0:8ef203a5084f 274 void FarkleMath::printRollScore(bool& value){
mmcdoanld81 0:8ef203a5084f 275 if (value == false){
mmcdoanld81 0:8ef203a5084f 276 uLCD.locate(0,13);
mmcdoanld81 0:8ef203a5084f 277 uLCD.text_width(1);
mmcdoanld81 0:8ef203a5084f 278 uLCD.text_height(1);
mmcdoanld81 0:8ef203a5084f 279 uLCD.printf("Roll Score: %d\n",rollScore);
mmcdoanld81 0:8ef203a5084f 280 }
mmcdoanld81 0:8ef203a5084f 281 }
mmcdoanld81 0:8ef203a5084f 282 void FarkleMath::printTurnScore(bool& value){
mmcdoanld81 0:8ef203a5084f 283 if (value == false){
mmcdoanld81 0:8ef203a5084f 284 uLCD.locate(0,14);
mmcdoanld81 0:8ef203a5084f 285 uLCD.text_width(1);
mmcdoanld81 0:8ef203a5084f 286 uLCD.text_height(1);
mmcdoanld81 0:8ef203a5084f 287 uLCD.printf("Turn Score: %d", turnScore);
mmcdoanld81 0:8ef203a5084f 288 }
mmcdoanld81 0:8ef203a5084f 289 }
mmcdoanld81 0:8ef203a5084f 290
mmcdoanld81 0:8ef203a5084f 291 void FarkleMath::printFarkle(bool& value){
mmcdoanld81 0:8ef203a5084f 292 if (value == true){
mmcdoanld81 0:8ef203a5084f 293 rollScore = 0;
mmcdoanld81 0:8ef203a5084f 294 turnScore = 0;
mmcdoanld81 0:8ef203a5084f 295 uLCD.locate(0,12);
mmcdoanld81 0:8ef203a5084f 296 uLCD.text_width(3);
mmcdoanld81 0:8ef203a5084f 297 uLCD.text_height(3);
mmcdoanld81 0:8ef203a5084f 298 uLCD.printf("FARKLE");
mmcdoanld81 0:8ef203a5084f 299 }
mmcdoanld81 0:8ef203a5084f 300 }
mmcdoanld81 0:8ef203a5084f 301 //Prints the end game screen with amount of points for turn
mmcdoanld81 0:8ef203a5084f 302 void FarkleMath::printEndGame(int value) {
mmcdoanld81 0:8ef203a5084f 303 uLCD.cls();
mmcdoanld81 0:8ef203a5084f 304 uLCD.text_width(2);
mmcdoanld81 0:8ef203a5084f 305 uLCD.text_height(2);
mmcdoanld81 0:8ef203a5084f 306 uLCD.printf("This\n");
mmcdoanld81 0:8ef203a5084f 307 uLCD.printf("Turns\n");
mmcdoanld81 0:8ef203a5084f 308 uLCD.printf("Score Is\n");
mmcdoanld81 0:8ef203a5084f 309 uLCD.printf("--------\n");
mmcdoanld81 0:8ef203a5084f 310 uLCD.printf("%d\n", value);
mmcdoanld81 0:8ef203a5084f 311 uLCD.printf("Points!\n");
mmcdoanld81 0:8ef203a5084f 312 }
mmcdoanld81 0:8ef203a5084f 313 //Calculates the score for a turn. Set in a way from what gives the
mmcdoanld81 0:8ef203a5084f 314 //highest score to the lowest score. These are all function calls.
mmcdoanld81 0:8ef203a5084f 315 void FarkleMath::calculateScore(){
mmcdoanld81 0:8ef203a5084f 316 temp = true;
mmcdoanld81 0:8ef203a5084f 317 sixOfAKind(temp);
mmcdoanld81 0:8ef203a5084f 318 fiveOfAKind(temp);
mmcdoanld81 0:8ef203a5084f 319 fourOfAKind(temp);
mmcdoanld81 0:8ef203a5084f 320 twoTriplets(temp);
mmcdoanld81 0:8ef203a5084f 321 threePairs(temp);
mmcdoanld81 0:8ef203a5084f 322 flush(temp);
mmcdoanld81 0:8ef203a5084f 323 threeSix(temp);
mmcdoanld81 0:8ef203a5084f 324 threeFive(temp);
mmcdoanld81 0:8ef203a5084f 325 threeFour(temp);
mmcdoanld81 0:8ef203a5084f 326 threeThree(temp);
mmcdoanld81 0:8ef203a5084f 327 threeTwo(temp);
mmcdoanld81 0:8ef203a5084f 328 threeOne(temp);
mmcdoanld81 0:8ef203a5084f 329 twoone(temp);
mmcdoanld81 0:8ef203a5084f 330 twofive(temp);
mmcdoanld81 0:8ef203a5084f 331 one(temp);
mmcdoanld81 0:8ef203a5084f 332 five(temp);
mmcdoanld81 0:8ef203a5084f 333 isZero(temp);
mmcdoanld81 0:8ef203a5084f 334 turnScore = turnScore + rollScore;
mmcdoanld81 0:8ef203a5084f 335 printRollScore(temp);
mmcdoanld81 0:8ef203a5084f 336 printTurnScore(temp);
mmcdoanld81 0:8ef203a5084f 337 printFarkle(temp);
mmcdoanld81 0:8ef203a5084f 338 rollScore = 0;
mmcdoanld81 0:8ef203a5084f 339 }