Bingo game with pregenerated winners?
March 24, 2008 12:10 PM   Subscribe

How do I generate a bingo game with a predetermined number of winners? I'll have control over the cards printed and over the list of numbers to be called out. (Specifically, 15 winners out of 15,000 cards.)
posted by Tlogmer to Technology (9 answers total) 2 users marked this as a favorite
 
Only make 15 cards that have the first N (5?) numbers that you call out.
posted by mpls2 at 12:25 PM on March 24, 2008


?
You're supposed to be calling random numbers. You want to fix a bingo game?

I guess I don't understand your ultimate goal. Do you have 15 prizes that you're giving away to winners instead of giving back a percentage of the card sales?

Someone wins every game. (in non-progressive games) Therefore, to limit the number of winners to 15, only play 15 games. You'll have to have a split pot policy for games where multiple people win simultaneously, like a cash payout to everyone but the first to shout bingo. If your organization is prohibited from giving away cash, just play strict "first to shout, wins". (or, do something other than bingo)

A game takes about 15 minutes to play, give or take. The number caller has a big effect on how fast the game goes. If you're concerned about giving all your prizes away in the first hour, just call the numbers slower, or have breaks between games.
posted by ctmf at 12:26 PM on March 24, 2008 [1 favorite]


ctmf: the randomness could come from how the cards are distributed.
posted by mpls2 at 12:29 PM on March 24, 2008


mpls2 - if the game went on for N+5 numbers, someone else could still win (though starting at a disadvantage). Also, if you're calling off numbers from a list and people go a long time without getting any hits, it's going to look pretty suspicious.
posted by ctmf at 12:30 PM on March 24, 2008


Figure out a pool of a handful of numbers that will only be in the diagonal of the winner cards. All the other cards will simply not have those numbers, no card can win without at least one of the numbers on the long diagonal. Intermix the 15 winners randomly (or not, mwha ha ha) and intermix the winner-only numbers.

Maybe someone who actually knows math can prove that this would work.
posted by dirtdirt at 12:39 PM on March 24, 2008


From the tags, I'm guessing this is more of a programming exercise than actually trying to rig a bingo game. Anyway, there are a few ways you can do this, but they depend on your end condition - are you going to stop once the fifteenth card wins, or do you want to ensure that no other card can win until the last number is drawn? Basically, all you really want to do is generate either the cards or the number list first, keep that static, and then continue to redraw the other until your conditions are met.

So, the easiest brute force method I can think of is to generate 15,000 random cards first. Then, just run a simulation of the game - draw a random number, check it against all the cards, if the number of wins is less than 15, draw another number. If you need more numbers after fifteen cards have won, then continue to draw numbers, but redraw any number that causes another card to win. Repeat until you get the number of draws.
posted by backseatpilot at 12:40 PM on March 24, 2008 [2 favorites]


If I understand correctly, it sounds like you want 15 cards to win simultaneously? If so, then here's how:

1. Choose the calling sequence.
2. Choose the number from the sequence that you want everybody to win on (call it X), and place X somewhere on each of your 15 winning cards. Let the numbers that precede or follow X in the sequence be called "pre-X" and "post-X".
3. Make sure that the chosen 15 cards will win: for each winning card, choose a row/column/diagonal that contains X and fill it in with pre-X numbers.
4. Make sure that nobody else can win: go through every non-winning card and place at least one post-X number in each row/column/diagonal. Also do this for the remaining rows/columns/diagonals on the winning cards, to make sure they can't win early.
5. The remaining squares don't matter and can be filled randomly.
posted by equalpants at 4:46 PM on March 24, 2008 [1 favorite]


Don't assume that people will be checking their cards, or even reading them correctly, and calling Bingo when you want them to. If you've rigged the game so that you know that all 15 prizes will have been won after 10-12 numbers have been called, you are at risk of not having everybody come forward and being forced to go to a 13th number and an additional group of winners. Which you will have no control over.
posted by paperzach at 5:46 PM on March 24, 2008 [1 favorite]


Ah. Now that I understand what you're trying to do, I think equalpants has the best procedure. Good thing it's a programming problem, because in real life, as paperzach points out, someone sitting on their win for an extra call or two or leaving before the game is over could screw you.

Also in real life, it would be better if not all 15 won on the same number (assuming the game continued with previous numbers still marked). Much more exciting if, after X numbers were called, zero-to-two players won until all 15 had won, then the game ended. Maybe program that option in for extra credit.
posted by ctmf at 10:02 PM on March 24, 2008


« Older what options do I have to "microblog" a special...   |   Goin' to the chapel won't work here... Newer »
This thread is closed to new comments.