How does a Bingo Caller App generate numbers 1-75?

Viewed 225

There's a free Bingo Caller App that generates numbers 1-75 every time you start a new game. It also generates numbers when offline. How does it do that?

1 Answers

Suggestion:

It's not possible to say for sure exactly how the numbers are generated as we don't know which app you mean nor do we have access to its source code, but generating numbers can be done simply like so:

Code:

JavaScript example:

// Generates numbers 1-75 every time you start a game:
function setUpNewGame() {
  var bingoNumbers = [];
  for (let i = 1; i <=75; i++) {
    bingoNumbers.push(i);
  }
  return bingoNumbers;
}

// Picks a random number from the available numbers each round:
function pickNumber(availableNumbers) {
  var currentPick = Math.floor(Math.random() * (availableNumbers.length + 1));
  console.log(availableNumbers[currentPick] + " has just been drawn!");
  availableNumbers = removeBall(availableNumbers, currentPick);
  return availableNumbers;
}

// Removes the last picked number from the available numbers:
function removeBall(availableNumbers, position) {  
  const i = availableNumbers.indexOf(position);
  if (i > -1) {
    availableNumbers.splice((i + 1), 1);
  }
  return availableNumbers;
}

// Plays the game:
function playTheGame() {
  var numbers = setUpNewGame();
  numbers = pickNumber(numbers); // Logs "X has just been drawn"
  
  // hasSomeoneWon() is an function which checks bingo cards
  // of all players. returns true if a card has 6 matches
  // returns false if no card has yet won
  while (!hasSomeoneWon()) {
    numbers = pickNumber(numbers)
  }
  console.log("We have a winner!")
  return;
}
Related