Highlighted text has been on the bingo page since this website went live.
The two bingo cards on each bingo page are randomly generated using a custom coded app. If your bingo page number is 1, it is not more similar to bingo page number 2 than it is to bingo page number 100.
We follow the 75-ball bingo card rules where column B uses numbers 1-15, column I uses numbers 16-30, etc. This means the numbers used are 1-75. We have 75 unique LEGO pieces with an assigned number between 1 and 75. LEGO pieces 1-15 can only appear in column B, LEGO pieces 16-30 can only appear in column I, etc.
When the bingo card generator creates a card, it starts in column B and generates 5 random numbers between 1 and 15. It does this by using the .NET Random Class, which "uses the system clock to generate its seed value". The only way a card could possibly be duplicated is if it is created within 15 MILLISECONDS of another, because "On most Windows systems, Random objects created within 15 milliseconds of one another are likely to have identical seed values." https://learn.microsoft.com/en-us/dotnet/api/system.random?view=net-8.0
It takes about 100 milliseconds to generate 1 card because of the time it takes to complete the process. When a random number is generated for column B row 1, it is stored in a list, so when a random number is generated for column B row 2, the list is checked to make sure the number is not the same as column B row 1. If it is, a new random number is generated until it is unique. This happens for every column and row, plus the image files are loaded once the numbers are generated.
The bingo caller app works like the bingo card generator. When the "CALL" button is clicked, the .NET Random Class "uses the system clock to generate its seed value". Once it generates a random number, it compares that number to a list of already called numbers to make sure the number has not already been called. If it has, a new random number is generated until it is unique.
We hand out bingo pages sequentially, so we know which raffle balls to use. Before the event, we separate the raffle balls in bags, by groups of 10.
Let's say 140 people register for the event, but only 120 bingo pages are handed out because 20 people who registered are no shows. We know to use raffle balls 1-120 and can quickly dump bags 1-12 into the raffle bin.
We do not mix the bingo pages to randomize the number order, because in this scenario, we would have to figure out which 20 random bingo page numbers were not handed out and remove the raffle balls. Those numbers could be 11, 25, 62, 37, 43, 99, 86, 30, 108, etc. and it would be really difficult to locate and remove the raffle balls. There is not enough time to do this between participant check-in and the first bingo round.
The raffle drawings are 100% random as everyone witnesses the drawings happen. The raffle balls are in a clear bin. The people drawing the raffle balls are seen mixing the raffle balls and not looking in the bin while drawing a raffle ball.