Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

2. Make a Craps Simulator. # Rules * Roll two dice o 7 or 11 on first throw, pla

ID: 3651310 • Letter: 2

Question

2. Make a Craps Simulator.

# Rules

* Roll two dice
o 7 or 11 on first throw, player wins
o 2, 3, or 12 on first throw, player loses
o 4, 5, 6, 8, 9, 10 - value becomes player's "point"
* Player must roll his point before rolling 7 to win


# Use at least one user defined function!

ex) int rollDice( void );

#Output Example:
(Please follow this format!)


./Craps
Player rolled 6 + 5 = 11
Player wins


./Craps
Player rolled 6 + 6 = 12
Player loses


./Craps
Player rolled 4 + 6 = 10
Point is 10
Player rolled 2 + 4 = 6
Player rolled 6 + 5 = 11
Player rolled 3 + 3 = 6
Player rolled 6 + 4 = 10
Player wins


./Craps
Player rolled 1 + 3 = 4
Point is 4
Player rolled 1 + 4 = 5
Player rolled 5 + 4 = 9
Player rolled 4 + 6 = 10
Player rolled 6 + 3 = 9
Player rolled 1 + 2 = 3
Player rolled 5 + 2 = 7
Player loses

Explanation / Answer

#include <stdio.h>
#include <stdlib.h>

int diceRoll(void)
{
return (rand()%6)+1;
}

int main ( void )
{
int done = 0, roll1, roll2, point, rolled;

srand(time(0));
point = -1;

while (!done)
{
roll1 = diceRoll();
roll2 = diceRoll();

printf ("Player rolls %d + %d = %d ", roll1, roll2, roll1+roll2);
rolled = roll1 + roll2;

if (point == -1) // must be first roll
{
switch (rolled)
      {
        case 7: case 11:
          printf ("Player wins. ");
          done = 1;
          break;

        case 2: case 3: case 12:
          printf("Player loses ");
          done = 1;
          break;

      default:
          point = rolled;
          printf("Point is %d ", point);
          break;
      }
}
else
{
      if (rolled == 7)
      {
        printf("Player Loses! ");
        done = 1;
      }
      else if (rolled == point)
      {
        printf ("Player wins. ");
        done = 1;
      }
}
}
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote