how to create a program that simulates the process of dealing cards from a 52-card deck by generating 1,000 random integers in the range 1-52 assuming the numbers 1-13 are clubs 14-26 are diamonds, 27-39 are hearts, and 40-52 are spades displaying number of times each suit occurred in the 1,000 deals using a top down modular approach and pseudocode

2 Years
Discussion Span
Last Post by diafol

This sounds like an assignment. I'm not sure that this would work as you could have something like 17,45,32,45 for the first 4 numbers. That obviously wouldn't be right (same card drawn 2nd and 4th draws).

Would you be looking to exhaust the 1-52 integers before starting on the next random order of 1-52?

Anyhow here's an idea.

1) Have an array (0-51) var cardCodes = [0,1,2,3,4,5...51];
2) Have an array of arrays (0-51, for suits, values) var [['C',1],['C',2]...['S',13]];
3) Need a shuffle routine, e.g. http://stackoverflow.com/a/12646864/4629068 (Durstenfeld shuffle algorithm)
4) Write a loop to run the algo x number of times (20?) and append results to an existing array each time
5) Slice off the array at 1000 items.

When you come to display the results possibly as draw card routine, you use the integer drawn to get the suit and value from the array of arrays.

Edited by diafol

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.