UNPKG

tambola-ticket

Version:

A Package that generates a tambola ticket and a random list from of 1-90 numbers

92 lines (84 loc) 2.23 kB
getCueList = () => { return generateRandomNumberList(90,90); } generateTicket = () => { let ticket = []; for(let i = 0; i < 3; i++) { let temp = []; let rowPos = generateRandomNumberList(5, 9); for(let j = 0; j < 9; j ++) { let count = 1; for(let k = 0; k < rowPos.length; k++) { if(j == rowPos[k]-1) { count = 0; let number = getRandomNumber(ticket, rowPos[k]); temp.push(number) break; } } if(count) temp.push(0); } ticket.push(temp); } return ticket; } getRandomNumber = (ticket, rowPos) => { let randomNumber = 0; while(randomNumber == 0) { let number = Math.floor(Math.random() * ( (rowPos * 10) - (rowPos * 10 - 9) + 1) + (rowPos * 10 - 9)); let count = 1; for(let i = 0; i < ticket.length; i ++) { for(let j = 0; j < ticket[i].length; j ++) { if(ticket[i][j] == number) { count = 0; break; } } if(count == 0) break; } if(count) randomNumber = number; } return randomNumber; } generateRandomNumberList = (listLength, max) => { let numberList = []; while(numberList.length < listLength) { let repeat = 0; let number = Math.floor(Math.random() * max) + 1; if(numberList.length == 0) numberList.push(number); else { for(let i = 0; i < numberList.length; i++) { if(number == numberList[i]) { repeat = 1; break; } } if(repeat == 0) numberList.push(number) } } return numberList; } module.exports = { 'generateTicket' : generateTicket, 'getCueList' : getCueList }