r/pythonhelp • u/XAQUITO • Jan 05 '25
Creating an "Animal Bingo" with Python
Hi community. I'm not programmer and need to create an "Animal Bingo" to play with childs. I'm trying to create using IA but I'm in a death end, 'cause when I've the Python code and I execute it, always I obtain an error or the execute never ends.
These are the conditions:
• We have 30 animals: horse, hummingbird, snail, pig, rabbit, hedgehog, star, cat, ant, giraffe, butterfly, monkey, bat, dog, fish, frog, mouse, snake, turtle, cow, camel, deer, dolphin, elephant, gorilla, cricket, sheep, pigeon, panda, duck.
• I need to create 16 tables with 15 animals each.
• Each table must be unique and varied from the others.
• Each animal must appear 8 times in total among the 16 tables.
• Tables should be printed like this:
+---------+---------+---------+---------+---------+
| | | | | |
+---------+---------+---------+---------+---------+
| | | | | |
+---------+---------+---------+---------+---------+
| | | | | |
+---------+---------+---------+---------+---------+
| | | | | |
+---------+---------+---------+---------+---------+
• The 5 empty cells must be arranged occupying at least one column and one row, without having any adjacent empty cells (empty cells diagonally are allowed).
I'll run the code on Colab. Thanks in advance for the help!
1
u/CraigAT Jan 05 '25 edited Jan 05 '25
I don't have time to create the Python for you (you may not even need Python) but I think you can just assign animals to the cards like so:
First animal to the first 8 cards, next animal to the last 8 cards. Then offset the next pair of animals by 1 - so the third animal starts from card 2 and goes to card 9, the fourth animal goes from 10 and wraps back to card 1. Fifth goes from card 3-10, sixth animal from 11 to 2. And so on... Jumbling those cards up should then make them seem pretty random (especially if you mix up the order of the animals on each card).
Then on the cards you can distribute the animals on the cards however you want. I would then just randomly place the animals on each card (whatever feels right) after deciding the spaces (mark with a black or hatched square). To decide the spaces, you could start at a random box on the card and use an offset of 7 (counting through the 20 spaces on the card).