I'm having trouble understanding the game of craps. Specifically the part when the player rolls a 4,5,6,8,9, or 10 and how the points work and when the player stops rolling. If you roll a 7 on your 2nd roll do you still get the points from the first roll?
"A player rolls two dice. Each die has six faces. These faces contain 1,2,3,4,5, and 6 spots. After the dice have come to rest, the sum of the spots on the two upward faces is calculated. If the sum is 7 or 11 on the first throw, the player wins. If the sum is 2,3, or 12 on the first throw (called “craps”), the player loses (i.e., the “house” wins). If the sum is 4,5,6,8,9, or 10 on the first throw, then that sum becomes the player’s “points.” To win, you must continue rolling the dice until you “make your points.” The player loses by rolling a 7 before making the points."
Here is my code so far:
Code:
/*
My name is Jack Trocinski
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int diceI, diceII, S, dicesum;
dicesum = 0;
printf("CRAPS\n");
printf("INSTRUCTIONS: Press S then Enter to begin the game.\n\n");
scanf("%d", &S);
srand(time(NULL));
diceI = rand()%(6 - 1 + 1) + 1;
printf ("You rolled a %d ", diceI);
diceII = rand()%(6 - 1 + 1) + 1;
printf ("and a %d. \n", diceII);
dicesum = diceI + diceII;
if (dicesum == 7)
printf("You win!");
else if (dicesum == 11)
printf("You win!");
else if (dicesum == 2)
printf("You lose.");
else if (dicesum == 3)
printf("You lose.");
else if (dicesum == 12)
printf("You lose.");
else
{
diceI = rand()%(6 - 1 + 1) + 1;
printf ("You rolled a %d ", diceI);
diceII = rand()%(6 - 1 + 1) + 1;
printf ("and a %d. \n", diceII);
dicesum = diceI + diceII + dicesum;
}
return 0;
}