1. Home
  2. BINGO procedure

BINGO procedure

Can be used to set up and then play a game of bingo (R.W. Payne).


PRINT = string tokens What to print (cards, mycard, scores, status); default * i.e. nothing
PLOT = string tokens What to plot (cards, mycard); default * i.e. nothing
METHOD = string token Whether to form cards and/or play (cards, game, automaticgame); default game
NBALLS = scalar Number of balls, 40, 80 or 90; default 90 
NCARDS = scalar Number of cards to form; default 5
SEED = scalar Seed for random numbers; default *
CARDS = pointer Saves or supplies the cards
MYCARD = scalar Number of the card to view during the game
SPREADSHEET = string token What to put the cards into a spreadsheet (cards); default *
OUTFILENAME = text Name of Genstat workbook file (.gwb) or Excel (.xls or .xlsx) file to create to contain the cards

No parameters


Bingo is a game of chance where a caller selects numbered balls at random. The players have cards with a random selection of numbers, which they cross off when each one is called. The BINGO procedure caters for games with either 40, 80 or 90 balls.

The 40-ball game is most suitable for younger players. The cards have 9 numbers in a 3×3 grid, and the winner is the player whose card is completed first.

In the 80-ball game, the cards have 16 numbers in a 4×4 grid. The four columns contain random selections of numbers from 1-20, 21-40, 41-60 and 61-80, coloured red, yellow, blue and white, respectively. The winner is again the player whose card is completed first

The cards in the 90 ball game contain six sub-cards with 27 spaces in a 3×9 grid. The columns contain random selections of numbers from 1-10, 11-20, 21-30, 31-40, 41-50, 51-60, 61-70, 71-80 and 81-90, respectively. Each sub-card contains 15 numbers, and the randomization is organised so that every number occurs once within the full card. Within each sub-card, the numbers are arranged so that every row contains five numbers (and 4 blanks), and every column contains 10 numbers (and 8 blanks). Players will usually take a full card, as each number that is called will then need to be crossed off somewhere on the card (thereby retaining the player’s concentration!) BINGO includes the following winning combinations:

line – all the numbers on a horizontal line;

two lines – two complete lines;

full house – all the numbers on a sub-card.

There is a minor prize for the first player to complete a line, then another minor prize for the first player with two complete lines, and finally the top prize for the first player with a full house.

The METHOD option specifies whether you want to form cards or play the game. If it is set to cards, then NCARDS are formed for a game with NBALLS balls. The default is to form 5 cards with 90 balls. The cards can be saved, in a pointer, using the CARDS option. You can save the cards to an external file, by setting the OUTFILENAME option to a text containing the filename. This should have the suffix .gwb for a Genstat work file, or.xlsx for an Excel file. You can also plot the cards by setting the PLOT option to cards. (You could then export the plotted cards to a PDF file.)

If the setting for the METHOD option includes game as well as cards, BINGO continues to play a game with those cards. The MYCARD option specifies the number of the card that you want to have yourself during a game (default 1). BINGO pops up a dialog with numbers drawn, in turn, at random. You can respond either by selecting to Continue or by selecting House! to claim that one of the cards is full. (BINGO will then check whether this is true.) Alternatively, if you set just METHOD=game, BINGO will play a game using cards supplied by the CARDS option. (The NCARDS and NBALLS options are then ignored.) The automaticgame setting is similar to game, except that BINGO checks for winners automatically. (This is the setting that must be used in batch runs of Genstat.) If there are several candidates, winner is chosen from these at random.

The PRINT option specifies what output is required, with settings:

cards to print the cards;

mycard to print the current contents of my card during the game;

scores to print how many numbers remain on each card during the game; and

status to print the numbers remaining on the cards during the game.

The PLOT option specifies what is to be plotted, with settings:

cards to plot the cards;

mycard to plot the current contents of my card during the game.

The SEED option provides the seed for ths numbers used to form the cards and select the numbers during the game. The default of zero continues any existing sequence or, if no random numbers have been used in this run, it obtains a random seed using the system clock.

Parameters: none.


The dialogs are produced by the QDIALOG directive.

See also



CAPTION 'BINGO example','1) Form cards.'; STYLE=meta,plain
" Number of cards: modify if you want more than 5."
SCALAR  ncards; VALUE=5
" Number of balls: must be 40, 80 or 90."
SCALAR  nballs; VALUE=40
" Seed for randomization: set here in order to get reproducible results
  for checking; change to zero for an unpredictable set of cards."
SCALAR  seed; VALUE=34512
BINGO   [PRINT=cards; METHOD=cards; NBALLS=nballs; NCARDS=ncards;\
        CARDS=cards; SPREADSHEET=cards; NBALLS=40; SEED=seed]
" Run commands up to here ^ to form a Genstat workbook with the cards
  that you can save as an Excel file. Alternatively, print the output,
  cut up and distribute the cards to the individual players."

"2) Play bingo, using the cards formed in (1). (Your card is number 1.)"
BINGO   [PRINT=mycard,scores,status; METHOD=game; CARDS=cards; MYCARD=1]


Updated on February 6, 2023

Was this article helpful?