Is there any plugin available that would allow me to randomize these numbers within my document to easily generate these BINGO cards?
I realize this is not trivial programming: to get a subset of unique random integers within a range (five ranges, actually for a typical 5x5 card), then arranging them in columns. I read a few posts on how to generate the numbers in a spreadsheet, and that made my head hurt.
But I think this could be a great extension, particularly as a way to attract new users to Inkscape(more than a few people play bingo).
The number generation itself would be super handy... arrangement in columns would be fantastic.
I played a little with that idea and put together a (quickly written) extension. It clearly needs more work, but maybe it's a good start (https://github.com/kaalleen/inkscape-bingo-extension). Please feel free to modify.
Wow, that are interesting plans you have! If you need the extension to have more/other options to better fit to the templates, let me know.
I read through the guidelines (thanks for the link). Looks like I will have to do some more steps first (such as releasing a zip file to which we can link to), sign this zip file, etc.
I think it actually would make sense for me to add it myself when I am ready, because there may be some updates needed later on.
When you wrote about the bingo templates, I was wondering how we could make it easier to use the templates together with the bingo card extension. You don't want to move the numbers around to fit into the template.
So my idea was, that define one or more rectangle areas with a special id to indicate were the numbers should go. Also you may want to set some attributes to the rectangle element to inform the extension about the parameters which are best to use with the specific template. Have a look at the GitHub repository to test things out. I also created a (poor) sample file for testing and exploring purposes.
This is great. I assumed you were a veteran Inkscape developer or extension writer when I peeked at the code and with the speed that you created the basic extension. You must have done this before?
Here's where I was going with a test template. A "6-Up", where users can decorate the cards and use the generator to make the number matrices, which they drag into the 6-up layout for 8.5 x 14 stock.
I wasn't sure how far you want to take the extension, so this was a shot at going with the basic functionality. I was planning to make a template for 8.5 x 11 and A4 stock. Then, make the templates available for others to customize and share on the forums. If @Pacer is interested, we could have an official challenge to encourage participation.
Ok, now we are slowly getting somewhere. I figured that you want to use grouped clones to create multiple bingo cards at once. I updated the extension code accordingly.
You can now fill up all bingo areas in the document at once with a single execution of the extension (clones and original). The cards will be included into a new layer (no need to click somewhere outside of the cloned group) and they will be positioned correctly (no need to move them around - that if I did everything right).
I updated the README file to display possible options for template creators, so they can overwrite custom values (such as font size, etc.). Also I describe how to initialize the bingo-area. I hope it's not too difficult to understand. There are two sample files in the resource folder (download the bingo-v***.zip file from the releases page: https://github.com/kaalleen/inkscape-bingo-extension/releases/latest ).
It'd be nice to have some test/error reports before we start a template challenge... As you said, I wrote it up quite fast, so there might be some errors that I'd like to fix beforehand.
Ha ha.... yes, I should have looked you up in the user list. I'm not a coder, but your code was written so cleanly, I couldn't imagine an inexperienced extension writer could whip that up so fast.
The updated version works a treat. The amount of options is a bit mind-blowing.
I can see where users will want to make multiple sheets, so a feature that labels the created layers Bingo_A, Bingo_B, etc. each time the extension is run, would be convenient. Then, with multiple sheets in the document, users can simply change the background designs for an entire new set.
Attached is my latest version of the base template, without any custom features in the xml... just the rectangles with proper IDs to automatically fill the sheet. The instructions and the Objects & layers dialog illustrate how the layer labels might work. I don't know if it's a hassle or not... if you want to leave it as-is, I'm sure the users can re-label them if they like.
I'm not a coder, but your code was written so cleanly, I couldn't imagine an inexperienced extension writer could whip that up so fast.
Thank you. That's nice to hear ... since I'm also not a coder, it's more like a hobby to me.
Sorry for the amount of options. I like to have it as versatile as possible. Maybe not always the best choice from my side. I changed the README file to categorize them a little better. So hopefully it doesn't look so overwhelming. I learned, that there are different Bingo versions in the US and the UK. So I want that all of them are possible to build with the extension.
Also the updated version will number layers (it's easier than using A, B, C). So layer label will look like this Bingo #1, Bingo #2, etc.
If you like you can just clone the entire group with the bingo-area included. It's not really necessary to separate the bingo-area clones - except of course if you want them separate. The extension will accept grouped clones and will search for the bingo-area inside.
From this topic: https://inkscape.org/forums/beyond/generating-a-random-number-from-a-set-of-numbers/
I realize this is not trivial programming: to get a subset of unique random integers within a range (five ranges, actually for a typical 5x5 card), then arranging them in columns. I read a few posts on how to generate the numbers in a spreadsheet, and that made my head hurt.
But I think this could be a great extension, particularly as a way to attract new users to Inkscape (more than a few people play bingo).
The number generation itself would be super handy... arrangement in columns would be fantastic.
I played a little with that idea and put together a (quickly written) extension. It clearly needs more work, but maybe it's a good start (https://github.com/kaalleen/inkscape-bingo-extension). Please feel free to modify.
Fantastic! 😄
I'm posting the image, so future visitors can see the results of your excellent work.
This extension could be very popular.
@Kaalleen, are you comfortable with it being added to the official extension repository and added to core Inkscape extensions?
Yes sure, I'd be honored.
I am just not sure how. Will you transfer it to the official repo or do I have to do some more steps?
If you like, I'll ask the devs if it's ok for me to do it, and link to your GitHub page. There are some guidelines.
I'll be making some page templates for inserting the cards into standard paper sizes, to make it easy for users to make custom printable layouts.
It could be fun to have a challenge/contest for themed bingo templates: holiday, event, special interest, etc.
Adobe uses bingo card functionality to drive users to their mobile software, they have put a bit of effort into theirs.
Thank you for making this extension! 🙏
Wow, that are interesting plans you have! If you need the extension to have more/other options to better fit to the templates, let me know.
I read through the guidelines (thanks for the link). Looks like I will have to do some more steps first (such as releasing a zip file to which we can link to), sign this zip file, etc.
I think it actually would make sense for me to add it myself when I am ready, because there may be some updates needed later on.
You are most welcome. Glad you enjoy it!
When you wrote about the bingo templates, I was wondering how we could make it easier to use the templates together with the bingo card extension. You don't want to move the numbers around to fit into the template.
So my idea was, that define one or more rectangle areas with a special id to indicate were the numbers should go. Also you may want to set some attributes to the rectangle element to inform the extension about the parameters which are best to use with the specific template. Have a look at the GitHub repository to test things out. I also created a (poor) sample file for testing and exploring purposes.
This is great. I assumed you were a veteran Inkscape developer or extension writer when I peeked at the code and with the speed that you created the basic extension. You must have done this before?
Here's where I was going with a test template. A "6-Up", where users can decorate the cards and use the generator to make the number matrices, which they drag into the 6-up layout for 8.5 x 14 stock.
I wasn't sure how far you want to take the extension, so this was a shot at going with the basic functionality. I was planning to make a template for 8.5 x 11 and A4 stock. Then, make the templates available for others to customize and share on the forums. If @Pacer is interested, we could have an official challenge to encourage participation.
Ok, now we are slowly getting somewhere. I figured that you want to use grouped clones to create multiple bingo cards at once. I updated the extension code accordingly.
You can now fill up all bingo areas in the document at once with a single execution of the extension (clones and original). The cards will be included into a new layer (no need to click somewhere outside of the cloned group) and they will be positioned correctly (no need to move them around - that if I did everything right).
I updated the README file to display possible options for template creators, so they can overwrite custom values (such as font size, etc.). Also I describe how to initialize the bingo-area. I hope it's not too difficult to understand. There are two sample files in the resource folder (download the bingo-v***.zip file from the releases page: https://github.com/kaalleen/inkscape-bingo-extension/releases/latest ).
It'd be nice to have some test/error reports before we start a template challenge... As you said, I wrote it up quite fast, so there might be some errors that I'd like to fix beforehand.
Yes, I am involved with the Ink/Stitch extension for Inkscape.
Ha ha.... yes, I should have looked you up in the user list. I'm not a coder, but your code was written so cleanly, I couldn't imagine an inexperienced extension writer could whip that up so fast.
The updated version works a treat. The amount of options is a bit mind-blowing.
I can see where users will want to make multiple sheets, so a feature that labels the created layers Bingo_A, Bingo_B, etc. each time the extension is run, would be convenient. Then, with multiple sheets in the document, users can simply change the background designs for an entire new set.
Attached is my latest version of the base template, without any custom features in the xml... just the rectangles with proper IDs to automatically fill the sheet. The instructions and the Objects & layers dialog illustrate how the layer labels might work. I don't know if it's a hassle or not... if you want to leave it as-is, I'm sure the users can re-label them if they like.
Thanks!
TD
Thank you. That's nice to hear ... since I'm also not a coder, it's more like a hobby to me.
Sorry for the amount of options. I like to have it as versatile as possible. Maybe not always the best choice from my side. I changed the README file to categorize them a little better. So hopefully it doesn't look so overwhelming. I learned, that there are different Bingo versions in the US and the UK. So I want that all of them are possible to build with the extension.
Also the updated version will number layers (it's easier than using A, B, C). So layer label will look like this Bingo #1, Bingo #2, etc.
If you like you can just clone the entire group with the bingo-area included. It's not really necessary to separate the bingo-area clones - except of course if you want them separate. The extension will accept grouped clones and will search for the bingo-area inside.
https://inkscape.org/~Kaalleen/%E2%98%85bingo-card-creator
That is awesome. Works like a dream!