Jonathanpb wrote:
Hi... when I run LINE in Scratch, it's at a nice speed - but when I run it in BYOB, it's very slow... any ideas why?
I'd love to look into this, can you tell me where I can find LINE, is it a project of yours?
Thanks!
Offline
Jens wrote:
Jonathanpb wrote:
Hi... when I run LINE in Scratch, it's at a nice speed - but when I run it in BYOB, it's very slow... any ideas why?
I'd love to look into this, can you tell me where I can find LINE, is it a project of yours?
Thanks!
The original version by RHY3756547:
http://scratch.mit.edu/projects/RHY3756547/715593
lonwol's offline version:
http://scratch.mit.edu/projects/lonwol/916121
Last edited by meew0 (2010-06-16 03:43:32)
Offline
Jens wrote:
Jonathanpb wrote:
Hi... when I run LINE in Scratch, it's at a nice speed - but when I run it in BYOB, it's very slow... any ideas why?
I'd love to look into this, can you tell me where I can find LINE, is it a project of yours?
Thanks!
Yay, quick response!
You don't know LINE? It's by RHY3756547 - you can see it here. Yeah, most people can't run it offline - but my computer's newer. ^_^
Last edited by Jonathanpb (2010-06-16 04:04:40)
Offline
Thanks, Jonathanpb, for posting the link to LINE. I'm investigating this now.
(Ugh, this is like one single giant script of spaghetti code, so it takes forever to load in Scratch)
But, hey, it loads pretty fast in BYOB
Was this some kind of contest about who makes the longest script ever?
But otherwise it's actually a pretty cool project!
Last edited by Jens (2010-06-16 06:33:24)
Offline
bharvey wrote:
TheExternal wrote:
i was using byob 2.99.019 and i froze byob so i started the task manager to exit out and the cpu usage was at 100% so i exited it out and then my computer froze.
It would be great if you could show us what you were doing that froze! Thanks.
I made kracker's block: (img529.imageshack.us/i/abch.gif/) and i added 4 words and it froze.
Offline
@bharvey& Jens
See herewith 2 copies of screen errors.
http://www.xleroy.net/ByobErrors/Thumbnails.html
The problem occurs when I try to save my Byob project.
It's linked to the following issue. As I've totally changed my way of handling the many variables of 3 sprites, I decided to delete the dozen of previous variables, now useless..
This brings the SAVE problem.
Knowing that I've retried to delete the variables in a very softway, calmly, sprite by sprite. I've no more SAVE issue...but all variables previously deleted re-appear more or less mismatched in the list of sprite variables !
OK, I keep them now, while you fix this issue.
Good luck !
Offline
Hi Xavier,
thanks for the bug report and the excellent screenshots. I remember fixing the scalePoint bug two nights ago. This seems to be the problem which has happened to your project. Please try again with 018 or 019 and let me know if the issue persists.
Thanks!
Offline
nXIII wrote:
I don't like to make block requests, especially for BYOB 3, but you really do need a
(number of arguments of ())
block.
b-b-b-bump!
I need this for my evaluator ... and it's very useful in general. I would make it in Elements, but I don't want to lose it to future versions.
Last edited by nXIII (2010-06-16 15:35:31)
Offline
nXIII wrote:
b-b-b-bump!
Hey, calm down, it's only been four hours!
I agree, that's a very good suggestion. But I'd actually like it to give more information than just a number. For one thing, the block might be variadic, in which case you want to know the minimum number of inputs but you also want to know that there might be more. But even better than that would be a type signature, a list of input types, so the result for my MAP block might be a list like
(upvar reporter (variadic list))
LENGTH OF would then tell you the minimun number. On the other hand, my version would be slower; maybe instead it should just be that a negative return value means that the block is variadic and its minimum arity is the absolute value of the number.
Offline
bharvey wrote:
jstout wrote:
With the functional approach I only need one custom reporter block which reports the block that, when run, does the goto x:y:, then the set direction:, and a variable to store the block reported. Then to restore the position I just run the contents of the variable.
With some regret, because I love the elegance of your solution, I think I've thought of a simpler way for most applications:
http://cs.berkeley.edu/~bh/protecting.png
But your way has the advantage that you can call the restore-state procedure more than once.
Oh I do like that! If you need to restore the state a second time you'd need to have done something after the first restore, so you could just wrap the first do protecting sprite block in another couldn't you?
Your approach is a sort of mirror image of mine: mine uses a block to save the state and a first class block to restore it around some procedural code, as opposed to using procedural code to save the state and restore it, but around a first class block.
And it hides the nasty (even if elegant!) details.
John
Last edited by jstout (2010-06-16 16:39:39)
Offline
Jens wrote:
Jonathanpb wrote:
Hi... when I run LINE in Scratch, it's at a nice speed - but when I run it in BYOB, it's very slow... any ideas why?
I'd love to look into this, can you tell me where I can find LINE, is it a project of yours?
Thanks!
When I try and load LINE (I have fill screen turned off), I get a load of WARNING: event buffer overflow appearing and the loading appears to 'hang'. One of my student's has already had this on a game he's developed but we haven't been able to repeat it.
Sorry, that is when downloading the on-line version. When I download the *I have permission* one it loads OK but is very slow.
John
Last edited by jstout (2010-06-16 17:04:42)
Offline
jstout wrote:
If you need to restore the state a second time you'd need to have done something after the first restore, so you could just wrap the first do protecting sprite block in another couldn't you?
If you have to restore some small fixed number of times, yes. I'm envisioning the sort of situation in which you repeatedly reset the state of something, say whenever the user types some key, or whenever the sprite runs into a wall, or whatever.
Offline
Jens wrote:
Hmmm, assuming that the script reports the variable named RESULT this block works for me in 019, even if I change and add additional elements. Where did you add the 4 words to?
I made the block look like this:
{ characters [aeiou] of [ (I can't remember what i put here.) ] }
Offline
Jens wrote:
Hi Xavier,
Please try again with 018 or 019 and let me know if the issue persists.
Thanks!
OK, the issue is fixed with version 19.
Many thanks
The result of my first Byob tutorial game at :
http://www.xleroy.net/ByobTuto/thumbnails.html
Offline
Jens wrote:
Thanks, Jonathanpb, for posting the link to LINE. I'm investigating this now.
(Ugh, this is like one single giant script of spaghetti code, so it takes forever to load in Scratch)
But, hey, it loads pretty fast in BYOB
Was this some kind of contest about who makes the longest script ever?
But otherwise it's actually a pretty cool project!
It wasn't a contest - "1 sprite 1 script" projects are a sort of fad.
Do you have any idea why projects run differently in BYOB?
(It would be fun putting LINE into one block. )
Offline
Jens wrote:
(Ugh, this is like one single giant script of spaghetti code, so it takes forever to load in Scratch)
Yum!
I felt like posting that
Offline
Found category "byob easter egg fun" in Elements... intriguing...
Dumb question: How do you turn off full-screen (end-user) mode in BYOB? I seem to recall a menu item.
Last edited by fullmoon (2010-06-17 18:46:54)
Offline
fullmoon wrote:
Whoa! How'd you get that block?
Offline
shadow_7283 wrote:
fullmoon wrote:
Whoa! How'd you get that block?
Elements editor, probably.
Offline
shadow_7283 wrote:
fullmoon wrote:
Whoa! How'd you get that block?
Believe it or not, all I had to do was write a block that returns its calling sprite. Scratch took care of the rest. With a little modification you can even put sprites in a list! It doesn't do too much good, though, a "sprite name" block would accomplish the same thing. It's much cooler though. I've always wanted a sprite to be able to "say" another sprite! (And you can check collisions with a list of sprites)
Last edited by fullmoon (2010-06-17 21:11:05)
Offline
HA! I found the 'callMe' method in BYOB easter-egg fun, and now I'm following it's instructions.
Last edited by ScratchReallyROCKS (2010-06-17 21:26:12)
Offline