
C Programming Homework Help on yahtzee2.c
- 15th Jul, 2022
- 15:19 PM
#include //preprocessor command to include header file stdio.h #include //preprocessor command to include header file stdlib.h #include //preprocessor command to include header file time.h int RULES=1; // initialize global variable RULES=1 int GAME=2;// initialize global variable GAME=2 int EXIT=3;// initialize global variable EXIT=3 int ROLLS=4;// initialize global variable ROLLS=4 int CATEGORIES=13;// initialize global variable CATEGORIES=13 int DICE=5;// initialize global variable DICE=5 int ONE=1;// initialize global variable ONE=1 int TWO=2;// initialize global variable TWO=2 int THREE=3;// initialize global variable THREE=3 int FOUR=4;// initialize global variable FOUR=4 int FIVE=5;// initialize global variable FIVE=5 int SIX=6;// initialize global variable SIX=6 int THREEKIND=7;// initialize global variable THREEKIND=7 int FOURKIND=8;// initialize global variable FOURKIND=8 int FULLHOUSE=9;// initialize global variable FULLHOUSE=9 int SMSTRAIGHT=10;// initialize global variable SMSTRAIGHT=10 int LGSTRAIGHT=11;// initialize global variable LGSTRAIGHT=11 int YAHTZEE=12;// initialize global variable YAHTZEE=12 int CHANCE=13;// initialize global variable CHANCE=13 int TURNS=13;// initialize global variable TURNS=13 void initializeDice(int dice[DICE]);// function declaration function name : initializeDice void playGame();// function declaration function name : playGame void displayDice(int dice[DICE]);// function declaration function name : displayDice void resetKeep(int keep[DICE]);// function declaration function name : resetKeep void rollDice(int dice[DICE],int keep[DICE]);// function declaration function name : rollDice int displayGameMenu();// function declaration function name : displayGameMenu int rollDie();// function declaration function name : rollDie void gameRules();// function declaration function name : gameRules, return type : void, parameter : no parameters passed void clearScreen();// function declaration function name : clearScreen, return type : void, parameter : no parameters passed int main()// main function with return type int { int play=1;//initialize play=1 srand(time(0));//call seed function while (play==1)//check whether play is equal to 1 or not { int disp=displayGameMenu();// call displayGameMenu function switch(disp)//switch case { case 1: gameRules();//call gameRules function break; case 2: clearScreen();//call clearScreen function playGame();//call playGame function break; case 3: printf("\nThank you for playing!"); play=0;// set play=0 break; default: printf("\nIncorrect option, hit enter and try again"); char enter; fflush(stdin);//flush the input scanf("%c",&enter); break; } } return 0;// return type of main function that is int } void initializeDice(int dice[DICE])// function definition of initializeDice() { int die;//declare die variable for(die=0;die { dice[die]=0;//set dice[die]=0 } } void playGame()// function definition of playGame() { int roll,turn;//declare roll,turn variable int dice[DICE],keep[DICE];//declare dice,keep array of size DICE for(roll=0;roll { int current=roll;//initialize current =roll printf("\n Turn %d of game",current+1);//print turn of game initializeDice(dice);//call initializeDice(dice) function for(turn=0;turn { resetKeep(keep);//call resetKeep(keep) function printf("\n Rolling the dice...\n");//print rolling the dice rollDice(dice,keep);//call rollDice(dice,keep) function displayDice(dice);//call displayDice function } } } void displayDice(int dice[DICE])// function definition of displayDice() { int die;//declare die char enter;//declare enter printf("+-------+ +-------+ +-------+ +-------+ +-------+ \n"); printf("| | | | | | | | | | \n"); for(die=0;die { printf("| %d | ",dice[die]);//print values of dice } printf("\n"); printf("| | | | | | | | | | \n"); printf("+-------+ +-------+ +-------+ +-------+ +-------+ \n"); scanf("%c",&enter);//wait for user input } void resetKeep(int keep[DICE])// function definition of resetKeep() { int die;//declare die for(die=0;die { keep[die]=0;//set keep[die]=0 } } void rollDice(int dice[DICE],int keep[DICE])// function definition of rollDice() { int die;//declare die for(die=0;die { if(keep[die]==0) { dice[die]=rollDie();//call rollDie function and store its value in dice[die] } } } int displayGameMenu()// function definition of displayGameMenu() { int sheet=0;//initialize sheet =0 do { printf("\n%d. Display game rules",RULES); printf("\n%d. Start the game of yahtzee",GAME); printf("\n%d. Exit\n",EXIT); scanf("%d",&sheet);//get the user input }while(sheet<0 || sheet>4);//check whether user enter b/w 1 - 3 or not, if it's not repeat the loop. return sheet;//return value of sheet } int rollDie()// function definition of rollDie() { int dieValue=0;//initialize dieValue =0 dieValue=1+(rand()%6);//generate random number between 1 and 6 return dieValue;//return dievalue } void gameRules()// function definition of gameRules() { // print the rules of the game using a series of printf() statements with \n used for new lines printf("\nRULES OF THE CAME:"); printf("\n\t1. The scorecard used for Yahtlee is composed of an upper section and a lower section."); printf("\n\t2. A total of 13 scoring combinations are divided amongst the sections."); printf("\n\t3. The upper action consists of boxes that are scored by summing the value of tho dice notching the faces of t box."); printf("\n\t4. If a player rolls four 3's, then the score placed in the 5's box is the sum of the dice which is 12."); printf("\n\t5. Once a player has chosen to score a box, it may not be changed and the combination is no longer in play for uture rounds."); printf("\n\t6. If the sun of the scores in the upper section is greater than or equal to 63, then 35 more points are added to the players overall score as a bonus. The lower section contains a number of poker like combinations."); } void clearScreen()// function definition of clearScreen() { printf("\n Hit To Continue! ");// this statement is used to display the text on the screen char c;// declaring a variable of type character fflush(stdin); scanf("%c",&c);// storing the input given by user in c system("cls");// calling function system with "cls" passed as argument as it clears the screen return; }