craps!. example: a game of chance craps simulator rules – roll two dice 7 or 11 on first throw,...

7

Click here to load reader

Upload: todd-walton

Post on 25-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Craps!. Example: A Game of Chance Craps simulator Rules – Roll two dice 7 or 11 on first throw, player wins 2, 3, or 12 on first throw, player loses 4,

Craps!

Page 2: Craps!. Example: A Game of Chance Craps simulator Rules – Roll two dice 7 or 11 on first throw, player wins 2, 3, or 12 on first throw, player loses 4,

Example: A Game of Chance

• Craps simulator• Rules– Roll two dice• 7 or 11 on first throw, player wins• 2, 3, or 12 on first throw, player loses• 4, 5, 6, 8, 9, 10 - value becomes player's "point"

– Player must roll his point before rolling 7 to win– Prompt the user how much to bet on each throw• Verify that they enter a number

Page 3: Craps!. Example: A Game of Chance Craps simulator Rules – Roll two dice 7 or 11 on first throw, player wins 2, 3, or 12 on first throw, player loses 4,

What do we need?

• Random number generator• User input– With error checking

• Looping

Page 4: Craps!. Example: A Game of Chance Craps simulator Rules – Roll two dice 7 or 11 on first throw, player wins 2, 3, or 12 on first throw, player loses 4,

isdigit() FunctionThe isdigit() function is part of the character-handling library <ctype.h>#include <stdio.h>#include <ctype.h>main(){char cResponse = '\0';printf("\nPlease enter a letter: ");scanf("%c", &cResponse);if ( isdigit(cResponse) == 0 ) printf("\nThank you\n");else printf("\nYou did not enter a letter\n");}

4

Page 5: Craps!. Example: A Game of Chance Craps simulator Rules – Roll two dice 7 or 11 on first throw, player wins 2, 3, or 12 on first throw, player loses 4,

5.9 Random Number Generation• rand function

– Load <stdlib.h>– Returns "random" number between 0 and RAND_MAX (at least 32767)

i = rand();

– Pseudorandom• Preset sequence of "random" numbers• Same sequence for every function call

• Scaling– To get a random number between 1 and n

1 + ( rand() % n )

• rand() % n returns a number between 0 and n - 1• Add 1 to make random number between 1 and n

1 + ( rand() % 6)– number between 1 and 6

Page 6: Craps!. Example: A Game of Chance Craps simulator Rules – Roll two dice 7 or 11 on first throw, player wins 2, 3, or 12 on first throw, player loses 4,

5.9 Random Number Generation

• srand function– <stdlib.h>– Takes an integer seed and jumps to that location in

its "random" sequencesrand( seed );

– srand( time( NULL ) ); //load <time.h>• time( NULL )

– Returns the time at which the program was compiled in seconds – “Randomizes" the seed

Page 7: Craps!. Example: A Game of Chance Craps simulator Rules – Roll two dice 7 or 11 on first throw, player wins 2, 3, or 12 on first throw, player loses 4,

2000 Prentice Hall, Inc. All rights reserved.

OutlineOutline

1. Initialize seed

2. Input value for seed

2.1 Use srand to change random sequence

2.2 Define Loop

3. Generate and output random numbers

1 /* Fig. 5.9: fig05_09.c2 Randomizing die-rolling program */3 #include <stdlib.h>4 #include <stdio.h>56 int main()7 {8 int i;9 unsigned seed;10 11 printf( "Enter seed: " );12 scanf( "%u", &seed );13 srand( seed );14 15 for ( i = 1; i <= 10; i++ ) {16 printf( "%10d", 1 + ( rand() % 6 ) );17 18 if ( i % 5 == 0 )19 printf( "\n" );20 }2122 return 0;23}