int calcScore (Hand *hand, int row) { ɩnt score - 0; ɩnt diceCount[0] = {}; for (int i=0; i < HAND_SIZE; \++) { int value-hand->getDice()->reveal(); diceCount[value - 1]++; } LT (row > ONES && row <- SIXES) { score diceCount[row] * (row + 1); } else if (row -- THREE_OF_KIND || row -- FOUR_OF_KIND || row -- CHANCE || row -- YAHTZEE) { int sum - 8; for (int 1-8; 1 < 0; 1++) { } sum += (1 + 1) * diceCount[1]; if (row -- THREE _OF_KIND || row -- FOUR_OF_KIND) { bool valid = false; for (int count diceCount) { if ((row -- THREE OF KIND & (row == FOUR OF KIND & valid = true; count >= 3) || count >= 4)) { break; } } score - valid ? sum = 0; } else if (row -- CHANCE) { score - sun; } else if (row -- YAHTZEE) { for (int count = diceCount) { if (count == 5) { score = 30; break; } } } else if (row == FULL_HOUSE) { bool hasThree = false; bool hasTwo = false; for (int count = diceCount) { if (count == 3) has Three = true; if (count == 2) hasTwo = true; } score (hasThree && hasTwo) ? 25 = 0; } else if (row -- SMALL_STRAIGHT) { int consecutive - 8; for (int 1-8; 1 < 6; 1++) { } consecutive - (diceCount[1] > 0) ? (consecutive + 1) = 0; if (consecutive -- 4) { } score = 30; break; } else if (row -- LARGE STRAIGHT) { if (diceCount[0] -- 1 && diceCount[1] — 1 && diceCount [2] -- 1 66 diceCount[3] -- 1 && diceCount[4] -- 1 || (diceCount[1] -- 1 && diceCount[2] = 1 && diceCount[3] -=- 1 && diceCount [4] -- 1 && diceCount[5] = 1}} { score - 40; } return score; int getUpperScore() { } int upperScore 0; for (int i = ONES; i <= SIXES; i++) { } upperScore += score[i]; return upperScore; // Returns the score of the upper part of the board int getLowerScore() { int lowerScore = 0; for (int i = THREE_OF_KIND; i <= YAHTZEE; i++) { lowerScore += score[i]; return lowerScore; } } // Returns the bonus points int getBonusScore() { } const int UPPER_SCORES_THRESHOLD = 63; const int BONUS POINTS = 35; return (getUpperScore() >= UPPER_SCORES_THRESHOLD) ? BONUS_POINTS : 0; // Returns the total score int getTotalScore() { } return getUpperScore() + getLowerScore() + getBonusScore();

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
  1. Test 10: Check upper board and having bonus correctly (0/3)
  2. Test 11: Check upper board and not having bonus correctly (0/3)
int calcScore (Hand *hand, int row) {
ɩnt score - 0;
ɩnt diceCount[0] = {};
for (int i=0; i < HAND_SIZE; \++) {
int value-hand->getDice()->reveal();
diceCount[value - 1]++;
}
LT (row > ONES && row <- SIXES) {
score diceCount[row] * (row + 1);
} else if (row -- THREE_OF_KIND || row -- FOUR_OF_KIND || row -- CHANCE ||
row -- YAHTZEE) {
int sum - 8;
for (int 1-8; 1 < 0; 1++) {
}
sum += (1 + 1) * diceCount[1];
if (row -- THREE _OF_KIND || row -- FOUR_OF_KIND) {
bool valid = false;
for (int count diceCount) {
if ((row -- THREE OF KIND &
(row == FOUR OF KIND &
valid = true;
count >= 3) ||
count >= 4)) {
break;
}
}
score - valid ? sum = 0;
} else if (row -- CHANCE) {
score - sun;
} else if (row -- YAHTZEE) {
for (int count = diceCount) {
if (count == 5) {
score = 30;
break;
}
}
} else if (row == FULL_HOUSE) {
bool hasThree = false;
bool hasTwo = false;
for (int count = diceCount) {
if (count == 3)
has Three = true;
if (count == 2)
hasTwo = true;
}
score (hasThree && hasTwo) ? 25 = 0;
} else if (row -- SMALL_STRAIGHT) {
int consecutive - 8;
for (int 1-8; 1 < 6; 1++) {
}
consecutive - (diceCount[1] > 0) ? (consecutive + 1) = 0;
if (consecutive -- 4) {
}
score = 30;
break;
} else if (row -- LARGE STRAIGHT) {
if (diceCount[0] -- 1 && diceCount[1] — 1 && diceCount [2] -- 1 66
diceCount[3] -- 1 && diceCount[4] -- 1 ||
(diceCount[1] -- 1 && diceCount[2] = 1 && diceCount[3] -=- 1 &&
diceCount [4] -- 1 && diceCount[5] = 1}} {
score - 40;
}
return score;
Transcribed Image Text:int calcScore (Hand *hand, int row) { ɩnt score - 0; ɩnt diceCount[0] = {}; for (int i=0; i < HAND_SIZE; \++) { int value-hand->getDice()->reveal(); diceCount[value - 1]++; } LT (row > ONES && row <- SIXES) { score diceCount[row] * (row + 1); } else if (row -- THREE_OF_KIND || row -- FOUR_OF_KIND || row -- CHANCE || row -- YAHTZEE) { int sum - 8; for (int 1-8; 1 < 0; 1++) { } sum += (1 + 1) * diceCount[1]; if (row -- THREE _OF_KIND || row -- FOUR_OF_KIND) { bool valid = false; for (int count diceCount) { if ((row -- THREE OF KIND & (row == FOUR OF KIND & valid = true; count >= 3) || count >= 4)) { break; } } score - valid ? sum = 0; } else if (row -- CHANCE) { score - sun; } else if (row -- YAHTZEE) { for (int count = diceCount) { if (count == 5) { score = 30; break; } } } else if (row == FULL_HOUSE) { bool hasThree = false; bool hasTwo = false; for (int count = diceCount) { if (count == 3) has Three = true; if (count == 2) hasTwo = true; } score (hasThree && hasTwo) ? 25 = 0; } else if (row -- SMALL_STRAIGHT) { int consecutive - 8; for (int 1-8; 1 < 6; 1++) { } consecutive - (diceCount[1] > 0) ? (consecutive + 1) = 0; if (consecutive -- 4) { } score = 30; break; } else if (row -- LARGE STRAIGHT) { if (diceCount[0] -- 1 && diceCount[1] — 1 && diceCount [2] -- 1 66 diceCount[3] -- 1 && diceCount[4] -- 1 || (diceCount[1] -- 1 && diceCount[2] = 1 && diceCount[3] -=- 1 && diceCount [4] -- 1 && diceCount[5] = 1}} { score - 40; } return score;
int getUpperScore() {
}
int upperScore
0;
for (int i = ONES; i <= SIXES; i++) {
}
upperScore += score[i];
return upperScore;
// Returns the score of the upper part of the board
int getLowerScore() {
int lowerScore = 0;
for (int i = THREE_OF_KIND; i <= YAHTZEE; i++) {
lowerScore += score[i];
return lowerScore;
}
}
// Returns the bonus points
int getBonusScore() {
}
const int UPPER_SCORES_THRESHOLD = 63;
const int BONUS POINTS = 35;
return (getUpperScore() >= UPPER_SCORES_THRESHOLD) ? BONUS_POINTS : 0;
// Returns the total score
int getTotalScore() {
}
return getUpperScore() + getLowerScore() + getBonusScore();
Transcribed Image Text:int getUpperScore() { } int upperScore 0; for (int i = ONES; i <= SIXES; i++) { } upperScore += score[i]; return upperScore; // Returns the score of the upper part of the board int getLowerScore() { int lowerScore = 0; for (int i = THREE_OF_KIND; i <= YAHTZEE; i++) { lowerScore += score[i]; return lowerScore; } } // Returns the bonus points int getBonusScore() { } const int UPPER_SCORES_THRESHOLD = 63; const int BONUS POINTS = 35; return (getUpperScore() >= UPPER_SCORES_THRESHOLD) ? BONUS_POINTS : 0; // Returns the total score int getTotalScore() { } return getUpperScore() + getLowerScore() + getBonusScore();
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education