Search found 376 matches

by JohnM
Sep 28th, '15, 14:33
Forum: Extending GP
Topic: Can we add new control structures to GP?
Replies: 7
Views: 10987

Re: Can we add new control structures to GP?

By the way, do you have a theory about why "repeat-until" is easier for beginners when "while"? Do you think this result might be different in a blocks language? I've always preferred "while" since it allows for running the loop body zero times, while repeat-until always runs the body at least once....
by JohnM
Sep 28th, '15, 14:23
Forum: Extending GP
Topic: Can we add new control structures to GP?
Replies: 7
Views: 10987

Re: Can we add new control structures to GP?

What do think of the following idea for a flexible loop control structure to replace the current while loop. There would be three blocks: loop <body> exit loop restart loop The loop block would be equivalent to "while true <body>". By combining a test with an exit loop block, you can build either a ...
by JohnM
Sep 26th, '15, 11:15
Forum: Extending GP
Topic: Can we add new control structures to GP?
Replies: 7
Views: 10987

Re: Can we add new control structures to GP?

You can use the "range" block with the "for" loop to iterate over a range of numbers, including using different step sizes. In general, unlike Smalltalk, you can't create new control structures in GP that do everything the built-in ones do. Doing that would require some kind of closure, like Smallta...
by JohnM
Sep 25th, '15, 22:50
Forum: Requests
Topic: Export of sounds?
Replies: 1
Views: 4556

Re: Export of sounds?

I agree, it would be very useful to export sounds as WAV files. I'll add this to the "short list" of feature requests. (Actually, this *is* the list of feature requests.)
by JohnM
Sep 23rd, '15, 14:05
Forum: Working with GP
Topic: Costumes are global?
Replies: 4
Views: 6753

Re: Costumes are global?

Yes, that's right. Here's the rationale:

In Scratch, costumes are owned by sprites because we wanted to support exporting and exchanging sprites. GP is focused more on applications than games and stories, so exchanging sprites seems less important.
by JohnM
Sep 22nd, '15, 20:07
Forum: Fixed Bugs
Topic: Shared variables aren't removed when creating a new project [FIXED]
Replies: 1
Views: 4498

Re: Shared variables aren't removed when creating a new project

Thanks for reporting this! By the way, since you said the authoring environment may change a lot, should we still be reporting bugs in the UI or should we just wait for the next version? Yes, please report bugs in the authoring environment. Some of us will be using the current version with users, so...
by JohnM
Sep 17th, '15, 20:00
Forum: Working with GP
Topic: Audio Blocks
Replies: 4
Views: 6883

Re: Audio Blocks

The underlying audio system has a maximum buffer size of 8192. Thus, even if you ask for a larger buffer size, you don't get it. To solve this problem, you need to write a loop to play your sound in buffer-sized chunks, doing a "wait for audio" between chunks. You'll need to keep track of the index ...
by JohnM
Sep 17th, '15, 19:09
Forum: Working with GP
Topic: Class variables?
Replies: 1
Views: 4737

Re: Class variables?

We're trying to minimize the number of concepts in GP so, although class variables and class methods are certainly useful for experienced programmers, we've omitted them from GP. However, GP does have "shared" variables which you might use for this task. But first, let me talk about GP variables in ...
by JohnM
Sep 17th, '15, 18:41
Forum: Extending GP
Topic: SerialPort library
Replies: 4
Views: 7803

Re: SerialPort library

This is great! I love it when people just dive in and figure out how to add what they need themselves! In case others want to try "blockify", here's how: 1. enter developer mode 2. open a "workspace" window 3. type some valid GP code and select it 4. control-click (or right-click) on the selected te...
by JohnM
Sep 17th, '15, 13:37
Forum: Fixed Bugs
Topic: Class name doesn't show up on new project [FIXED]
Replies: 2
Views: 7110

Re: Class name doesn't show up on new project

Thanks, Bernat! FYI, we're probably going to change the design of the classes/instances library updating model to one based on "polling" (with cheap detection of changes). There are simply too many different places in the code that can effect the classes/instances library. That feature was added rig...