Any feedback on my inefficient Bingo game

https://snap.berkeley.edu/snap/snap.html#present:Username=ethan7946&ProjectName=Bingo&editMode&noRun

it auto creates random numbers and will pause when its one you have as to not soft lock it for several minutes. I honestly had no idea what I was doing and threw this together in two days. While it could be a lot easier if I had used 25 different sprites, I just like to see if I can keep it in a singular one.

Nice game!

One little programming tip: You can use
untitled script pic (7)
instead of entering 25 zeros by hand.

There are only 12 ways to win in Bingo, so I would be inclined to make a list of all 12:


So then you can

(in a global variable, just once, because it’s a constant over all games) and then supposing the board looks like this

you can compute

and detect a win with

Cool huh? :~)

P.S. In Snap! you can have multi-word variable names, so there’s no need to use hideous camelCase!

I actually use reshape, but then blockify the list because of evaluation speed. This may be what the OP did. (I know it’s a small difference but when doing Advent of Code the data sets are so large that it is important sometimes.)

RESHAPE is really slower than parsing n input slots? Even though they’re all zero, Snap! doesn’t know that until it converts each of them from a digit string to a number.

P.P.S. This is a small thing, but for a single-digit number on the bingo card you should move over half a space so that the display is centered. It’s not so important except when one of those numbers is chosen, because the pink dot over the uncentered digit looks weird.

true. I am not exactly sure in that case.

Thank you for the advice, I don’t want this to come of as rude for answering every little thing and seem like a smart aleck, I just like answering everything so there no confusion and for better advice.

As for the win conditions, I have the normal ones in normal bingo for the most part but I’ll most likely move to what you made for the simplicity of it compared to my over complicated solution. But for the more conditions it’s the weird ones like “Large picture frame” or “7” and you have to make the number.

Then for the camelCase, it’s a force of habit from my class, my teacher likes us to use it for if we ever use something that uses camelCase.

And for the script variables being all I use is mostly from when I moved it over from my main work project(?). I mainly work on random stuff and if it’s neat I put it in its own thing.

and thank you for the suggestion for the single digit numbers being differently spaced, I’ll probably half what it moves and then multiply it by the length of the number used, I hope I worded that right.

Again I am so sorry if I come off as a smart aleck for answering everything like this. I love snap and love making stuff one it.

Not at all – I’m delighted you’re taking my suggestions seriously.

If you want to have variant ways to win, all the more reason to make a list of all the winning combinations, even if it’s a list of length 1. Then your code doesn’t have to change when you change the rules; you just have to have several of those lists and set WINNING COMBINATIONS to the one that matches the user’s choice.

PS Yeah of course some teacher taught you camelCase; nobody would ever invent such a monstrosity themselves. ;~)

factCheck: Wrong. JavaScriptjavaScript taught me to use camelCase for variable names here, but specifically only in keys for OOP in Snap!.

Perhaps center the numbers completely.

factCheck: Wrong. JavaScriptjavaScript taught me to use camelCase for variable names here, but specifically only in keys for OOP.

You didn’t invent it yourself, then, right? I rest my case.