proof of concept. im sure theres plenty of optimizations that could be made but for now i was just trying to get something working.
Wow!
What an awesome hack, and really clever!!
hint: Instead of creating your monitor block manually, which must have taken you ages and is very tedious, you can now (in v10) use a really short metaprogramming script to create it:
oh, so lists of lists automatically convert to new lines, thats neat. i did not create the block manually, i created a block that was label 'a' and set a variable to it. and i did a quick and dirty naive cell array -> label text conversion and set its label to that.
what its labeled as in the project is just my last test game :)i was wondering how i could store the 'map' data in a way that it could be easily+quickly converted to the label text but never really came up with anything.
isn't it?
(but - so far - only in define
, because I hadn't imagined a use case like yours. Perhaps we should also make it so when setting the label independently).
On another note: I'm giving a talk to German teachers in October, and I'd like to show this project, would this be okay for you?
oh i would be honored!!
thanks! We've been having great fun among the devs playing with your project and dissecting it. I'm pleased that I've managed to make metaprogramming so performant that you can (ab-) use it to turn a block into an interactive game, and we love your out-of-the-box thinking here. This also gives me a (not really convincing, but still enough of a) reason to enable the list-concatenation feature to the set label
block in the next patch.
well the main project, the snake game, was ported from scratch. i made it forever ago. i used the snapinator app. thats why most of the project is so 'primitive' so to speak, not utilizing snap-exclusive features. the only thing i really added was a couple variables for the block and the text character and that script i showed above. what i really want to do is tetris but im still working on just making the game first on snap and then it should be pretty easy to make it work like the snake one on the blocks.
This is very cool!
I don't know if anyone else has this problem or if it's just a feature, but the speed keeps changing for me, making it hard to get points.
its laggy because its re-labeling the block every frame, and each cell looks like $𒊹-1-255-0-0 or something like that in text, and 600 (i think) cells later:
full block label
$𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-255-0 $𒊹-1-0-255-0 $𒊹-1-0-255-0 $𒊹-1-0-255-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-255-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $nl $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0 $𒊹-1-0-0-0
so its converting the data from the game into big text strings like that. im sure theres a better way to do it but like i said its just a proof of concept.
Man, all the cool stuff happens when I'm asleep!
Can't wait! This is a really incredibly brilliant concept, and proof of concept. Thanks for sharing it!
May I suggest using $square
instead of s circle, so that the game looks a little more filled in? You can also use a red circle for the apple, which by the way, snap has a larger circle, $circleSolid
, which would look good (or you know, you could just use an apple emoji, lol).
there are some options for changing the character right under the display block. some of them don't make the cells perfectly square (so the display 'squishes'), and others might fill the cells but not entirely. you can set the variable for the character to 'circleSolid' or 'rectangleSolid', but with 600 cells, converting each to that text would make the label text much longer than if it were just a single character.
Actually, $circleSolid
and $square
have the same width and height.
I also did not think about the different sizes, so using the apple emoji would not work.
Couldn’t you rescale it?
Well, it wouldn't be a perfect square, so rescaling it wouldn't automatically make it work.
Oh ok
I bet some 12-year-old (my theory is that 12-year-olds don't have anything to do, because seventh grade is too easy, and that's why they're such amazing programmers) could STRETCH it, export it, and then make a one-character font containing it.
Not really anymore, since they have video games (like fortnite), and they have friends. The kind of 12 year olds you think about are much rarer than they used to be.
I don't think that would make much sense in the context of this topic, since you can't supply custom fonts in snap blocks, you're only limited to what snap chose (technically you could replace the font file in your system, but no one else would really be able to use your project, unless they do the same thing).