Discuss Scratch

1234abcdcba4321
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

This isn't for your own ideas, everyone.

Updated. Really big update this time.

I'd highly appreciate it if you were to follow me. Don't forget to go to my profile.
All of my programming suggestions <— You should really get the suggestions move back to the suggestions forum!
Five hundred posts! I never expected to get up there… In only 2-3 months.
Does anyone know what a signature is? I mean, I've already seen 6-7 people get confused.
AonymousGuy
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

1234abcdcba4321 wrote:

This isn't for your own ideas, everyone.
I thought about saying that but thought it would be spammish.

1234abcdcba4321 wrote:

Updated. Really big update this time.

Lets see…

1234abcdcba4321 wrote:

([variable v]) // category=variables
([list v]) // category=list
Seems like it would be a nuisance to pick up and change the value of. I already seem to be changing the variable / list in a lot of the "set [v] to []" and other blocks.

1234abcdcba4321 wrote:

([length v] of [list v]) //supposed to be list block
length, area, width. That should be enough.
Well lists aren't arrays, so would this be the width and height in pixels?

1234abcdcba4321 wrote:

The video has on-flipped, so why not show-flipped?
[show-flipped v] variable [variable v] // category=variables
[show-flipped v] list [list v] // category=list
And what would this be used for again?

1234abcdcba4321 wrote:

Custom reporters. These would be simple reporter blocks.
There would be a new return block.
return [block] // category=custom
It would be a cap block. this says the value of the block. If the script reaches the bottom, it would return what's in the return block at the bottom. (Where you drag the return block from). Same if a “stop script” block is used in the custom reporter.
define custom reporter // is a C-block
...
if <(a) > [0]> then
return ((a) * (-10)) // category=custom
end
return (a) // category=custom
Excuse me, but I think I have already suggested that.

1234abcdcba4321 wrote:

Next up, global custom blocks.
I know that's been suggested before.

1234abcdcba4321 wrote:

And finally, local variables.
In the custom block option screen, there would be a new option: “Add local variable”. This would give the script it's own variable. What pressing the button, you would be able to name it, but that's it.
The vars would be accessible in dropdowns once the blocks are dragged into the script.
Yes.

Last edited by AonymousGuy (Jan. 19, 2014 23:45:56)

1234abcdcba4321
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

I'm going to add height, I forgot that
Lemme add another idea…

Last edited by 1234abcdcba4321 (Jan. 19, 2014 23:16:26)


I'd highly appreciate it if you were to follow me. Don't forget to go to my profile.
All of my programming suggestions <— You should really get the suggestions move back to the suggestions forum!
Five hundred posts! I never expected to get up there… In only 2-3 months.
Does anyone know what a signature is? I mean, I've already seen 6-7 people get confused.
1234abcdcba4321
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

There we go, all done. Well, the main idea is.

I'd highly appreciate it if you were to follow me. Don't forget to go to my profile.
All of my programming suggestions <— You should really get the suggestions move back to the suggestions forum!
Five hundred posts! I never expected to get up there… In only 2-3 months.
Does anyone know what a signature is? I mean, I've already seen 6-7 people get confused.
AonymousGuy
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

1234abcdcba4321 wrote:

There we go, all done. Well, the main idea is.
Oops. I think you misunderstood me. My “mock-up art” link was actually my thread for that suggestion.
1234abcdcba4321
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

AonymousGuy wrote:

1234abcdcba4321 wrote:

There we go, all done. Well, the main idea is.
Oops. I think you misunderstood me. My “mock-up art” link was actually my thread for that suggestion.
Huh? Yeah, I assumed you linked to that thread. It's where I got the idea from anyways, just with a “few” changes.

I'd highly appreciate it if you were to follow me. Don't forget to go to my profile.
All of my programming suggestions <— You should really get the suggestions move back to the suggestions forum!
Five hundred posts! I never expected to get up there… In only 2-3 months.
Does anyone know what a signature is? I mean, I've already seen 6-7 people get confused.
1234abcdcba4321
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

AonymousGuy wrote:

1234abcdcba4321 wrote:

This isn't for your own ideas, everyone.
I thought about saying that but thought it would be spammish.

1234abcdcba4321 wrote:

Updated. Really big update this time.

Lets see…

1234abcdcba4321 wrote:

([variable v]) // category=variables
([list v]) // category=list
Seems like it would be a nuisance to pick up and change the value of. I already seem to be changing the variable / list in a lot of the "set [v] to []" and other blocks.
I guess. I felt like projects with a lot of variables and/or lists can be annoying to navigate.

1234abcdcba4321 wrote:

([length v] of [list v]) //supposed to be list block
length, area, width. That should be enough.
Well lists aren't arrays, so would this be the width and height in pixels?
Yes.

1234abcdcba4321 wrote:

The video has on-flipped, so why not show-flipped?
[show-flipped v] variable [variable v] // category=variables
[show-flipped v] list [list v] // category=list
And what would this be used for again?
I guess this isn't really needed, but… Things where you toggle what's showing. It would be easier.

1234abcdcba4321 wrote:

Custom reporters. These would be simple reporter blocks.
There would be a new return block.
return [block] // category=custom
It would be a cap block. this says the value of the block. If the script reaches the bottom, it would return what's in the return block at the bottom. (Where you drag the return block from). Same if a “stop script” block is used in the custom reporter.
define custom reporter // is a C-block
...
if <(a) > [0]> then
return ((a) * (-10)) // category=custom
end
return (a) // category=custom
Excuse me, but I think I have already suggested that.

1234abcdcba4321 wrote:

Next up, global custom blocks.
I know that's been suggested before.
Indeed I did. It got turned down on.
Seems like other peoples did better, so I reposted it.

1234abcdcba4321 wrote:

And finally, local variables.
In the custom block option screen, there would be a new option: “Add local variable”. This would give the script it's own variable. What pressing the button, you would be able to name it, but that's it.
The vars would be accessible in dropdowns once the blocks are dragged into the script.
Yes.
I'm glad you like it.

Oh, and if you were wondering, I added a little more.

Last edited by 1234abcdcba4321 (Jan. 20, 2014 00:39:59)


I'd highly appreciate it if you were to follow me. Don't forget to go to my profile.
All of my programming suggestions <— You should really get the suggestions move back to the suggestions forum!
Five hundred posts! I never expected to get up there… In only 2-3 months.
Does anyone know what a signature is? I mean, I've already seen 6-7 people get confused.
AonymousProfessor
Scratcher
100+ posts

My Suggestions (Updated 8/22/14)

1234abcdcba4321 wrote:

Oh, and if you were wondering, I added a little more.
When will it end? :P

Arrays: I would like them, but they would be quite confusing for New Scratchers (Based off of my confusion over the purpose of lists when I started)

And I didn't see anything else that's different, so…

I am @AonymousGuy's test account!

The word “test” in test accounts is outdated. That is why mine has professor instead!

Thanks @MicroMacro for the profile image!
1234abcdcba4321
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

Just the () is showing? blocks was what I added.

Also, yeah I know whey would be confusing, as my friends don't even know what lists are for yet.

I'd highly appreciate it if you were to follow me. Don't forget to go to my profile.
All of my programming suggestions <— You should really get the suggestions move back to the suggestions forum!
Five hundred posts! I never expected to get up there… In only 2-3 months.
Does anyone know what a signature is? I mean, I've already seen 6-7 people get confused.
DerAxeEffekt
Scratcher
100+ posts

My Suggestions (Updated 8/22/14)

I like them, exept for:
move mouse to x:() y:()
hide [mouse pointer v]
show [mouse pointer v]

(insert oversized quotation mark) If it is on the internet, it must be true. (insert another oversized quotation mark)
-Abraham Lincoln
1234abcdcba4321
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

Added a very, very small item to the suggestion.

I'd highly appreciate it if you were to follow me. Don't forget to go to my profile.
All of my programming suggestions <— You should really get the suggestions move back to the suggestions forum!
Five hundred posts! I never expected to get up there… In only 2-3 months.
Does anyone know what a signature is? I mean, I've already seen 6-7 people get confused.
CodeLegend
Scratcher
500+ posts

My Suggestions (Updated 8/22/14)

I'm going to try to give input on most of these.

1234abcdcba4321 wrote:

I think the “If on edge, bounce” block should just be “bounce”.
if <touching [edge v]?> then // If you want the old if on edge bounce
bounce // category=motion
end
This won't work. If you think about it logically, there has to be a direction that you're bouncing off of. Imagine you're facing NE. If you bounce off the top edge, you will be facing SE. If you bounce off the right edge you'll be facing NW.
I think there should be a function to move the mouse.
move mouse to x: () y: () // category=motion
To make it possible to leave projects, it would only work if you're focused on the game. You could press esc to leave the project, and it gives you a warning. (Like the username block.)
A good idea, but what would it be used for? I think this would cause more harm than good.
Make size an effect.
change [size v] effect by (25)
set [size v] effect to (0)
Allow the detection of more than just size.
([size v] effect) // category=looks
I agree that it should be possible to detect effects, but size does not need to be one. If size is an effect, then why aren't direction, position, and costume?
Why not add an eraser mode to pen?
Set pen mode to [draw v] // category=pen
It would have draw, erase, and off.
It would replace pen up and pen down.
Easy pen color controls:
set pen [hue v] to () // category=pen
change pen [red v] by () // category=pen
It would have hue, brightness, colorness (saturation), red, green, and blue.
It would replace those blocks… You know which ones I'm talking about, right?
This seems like a lot, but I completely agree. There is no way to clear pen off only a portion of the screen without clearing all of it, and this would make that possible. There are workarounds for changing the rgb/hsl of colors, though. It's just very difficult.
I think you should be able to hide/show the mouse.
Show [mouse-pointer v] // category=looks
Hide [mouse-pointer v] // category=looks
The dropdown would include all sprites.
I'm neutral on this one. I think the mouse show/hide should be a separate block. Many people use show/hide in sprites and then duplicate the sprites, and they don't want to have to change all of the little dropdown tabs.
The variable and list tabs are too big. Change the variable and list blocks to one block with a dropdown:
([variable v]) // category=variables
([list v]) // category=list
The scratchblocks can't render it correctly. It's supposed to be a dropdown.
Again, I'm neutral. This could be helpful to people making *huge* projects, but otherwise it would be confusing to newer scratchers. Projects typically don't have more than 10 variables/lists.
How about some advanced stuff?
set [variable v]'s display type to [normal v] // category=variables
set [variable v]'s slider min to [] // category=variables
set [variable v]'s slider max to [] // category=variables
([variable v]'s [slider min v]) // category=variables
move [variable v] to x: () y: () // category=variables
move [list v] to x: () y: () // category=list
resize [list v] to () pixels wide and () pixels tall // category=list
<variable [variable v] is showing?> // category=variables
<list [list v] is showing?> // category=list
As for the ()'s () block, the second dropdown would have slider min, slider max, and display type.
Replace the length of list with a new block:
([length v] of [list v]) // supposed to be list block
length, area, width, height. That should be enough.
The video has on-flipped, so why not show-flipped?
[show-flipped v] variable [variable v] // category=variables
[show-flipped v] list [list v] // category=list
Geez! That seems a bit overkill. These are a lot of blocks that will barely be used at all.
Now, a new section: Arrays!
Arrays would have several options:
Name of array: []
Dimensions in array: ()
Pick one:
() for this sprite only
() for all sprites
() cloud (scratchers only)
Now, in the dimensions option, 0 creates a variable, 1 creates a list. Otherwise, you get an array.
As they're more complicated, I think they should be able to be edited easily with an edit menu like custom blocks.
Arrays of more than 2 dimensions would have NO visual indicator.
Arrays would have similar blocks as lists:
- The () contains () and add () list blocks would support arrays with it's dropdown.
– The add block would insert it at spot 1 in every dimension.
- In 2D arrays, the same visual blocks as lists would be available, too.
- New blocks:
shift [item] () places in dimension () of [array v] // Does what you'd think it does
bring [item] to place () in dimension () of [array v] // Effectively the set function for the above
delete [item] in [array v] // Do you need to know what it does?
[show v] array [array v] // 2D arrays only
(length in dimension () of [array v])
[add v] dimension () from queue of [array v] // add, remove, add-flipped. This is needed for the next block.
item (), (), () of [array v] // The dimensions used would be the dimensions in queue. Supposed to be red.
An array begins with an empty queue.
Because it's complicated, if you have more than one of the same item in an array, it would just do it for all of them.
And don't forget the actual array block. It would have to be more complicated than the list block, though.
I think the when [] > () block should have more settings.
Again, geez! This is a bit much. Arrays can be made with lists in any amount of dimensions. It just requires a lot of experience. There are custom blocks some Scratchers made that essentially do this.
when [variables can go here too v] [> v] (10) // wow, it ended up purple? how'd that happen?
I'm assuming this wouldn't be a new block, it would just have all the variables in the dropdown. This is good.
To help with the when gf clicked block, there should be a block for when someone leaves the project. It would be a full-scratcher only block and would only trigger if the user is a full scratcher.
when project left // category=events
Of course, it would be a hat block.
The only reason why I want it is to change cloud data.
Once a project has been left, the scripts have already stopped running… There are other ways to do that with cloud data, it's just a bit difficult.
Here's a not-confusing way for a broadcast received? boolean.
([message1 v] received in last (1) secs?) // category=events
Yes! Yes! Finally someone who understands how Scratch works! I have seen this so many times without the ‘last (1) seconds’ at the end. This is the perfect solution. Of course… There is a simple workaround.
How about a “Link to” block? It would be full scratchers only and would have a confirmation message (also with a “Don't accept links this session” option that makes the confirmation message disappear and no others to show up, making you not go to any links)
Link to [link.link/link] // category=control
I completely agree, although I think it should be Scratch-only.
I also think we should have an “auto-copy” block. It would automatically copy what's in the textbox.
copy [thing] to clipboard // category=control
This is good. Maybe also a (clipboard) reporter?
<color [#f0f] is touching [sprite v]?> // I think this block would be useful.
Workaround: There could be a forever in the other sprite that would set a variable to something.
I want more booleans.
<showing?>
<Mouse is showing?>
Advanced timer settings!
[reset v] timer (1) // category=sensing
With start and stop in the dropdown.
The event block that uses the timer could be split a bit more.
How about a “stop asking” block?
Stop asking // category=sensing
I agree with all of these, but why is there a (1) in the timer block? There don't need to be multiple timers; there is a workaround for that.
There should be more key sensing: tab, Lctrl, Rctrl, Lshift, Rshift, Enter, Backspace, any letter, any number. I'd also like -=\;',./ alt and the F keys, along with any symbol. Any would also be helpful.
if <key [any of those above v] pressed?> then
say [YAY!!!!!]
end
This can be done by hacking, but I guess it would be better if it could be legitimately done.
Put the +, -, *, /, and mod blocks into a single block with a dropdown.
(() [+ v] ()) // category=operators
There's really no point in having the < and > blocks with square edges. Remove the > and make the < have round inputs.
<() < ()> // yes it's boolean
WRONG! (sorry for caps) Strings can be compared in these booleans. For instance, d>b and a<e.
Remove the round block and put it in the dropdown directly below it.
([round v] of (9)) // This should be an operator, the category thing wasn't working
Good.
A ^ block would also be useful. With that, the 10^, log, e^, ln, and sqrt functions wouldn't be required. (It would also be in the dropdown.)
(() [^ v] ()) // category=operators
Remember, you can't get rid of blocks! There are thousands of projects that use them.
Dropdowns in custom blocks.
define I want [thing]s
I want [dropdown v]s // category=custom
So many people have asked for this, it's practically ensured to be in the next update.


All in all, these ideas were pretty good! I'd like to see them updated. I hope my five years of Scratch experience has helped you.
1234abcdcba4321
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

CodeLegend wrote:

I'm going to try to give input on most of these.

1234abcdcba4321 wrote:

I think the “If on edge, bounce” block should just be “bounce”.
if <touching [edge v]?> then // If you want the old if on edge bounce
bounce // category=motion
end
This won't work. If you think about it logically, there has to be a direction that you're bouncing off of. Imagine you're facing NE. If you bounce off the top edge, you will be facing SE. If you bounce off the right edge you'll be facing NW.
Okay, editing.
I think there should be a function to move the mouse.
move mouse to x: () y: () // category=motion
To make it possible to leave projects, it would only work if you're focused on the game. You could press esc to leave the project, and it gives you a warning. (Like the username block.)
A good idea, but what would it be used for? I think this would cause more harm than good.
It's possible to do this with real programming, but currently, you have to make something like requiring you to drag, instead of just moving the mouse.
Make size an effect.
change [size v] effect by (25)
set [size v] effect to (0)
Allow the detection of more than just size.
([size v] effect) // category=looks
I agree that it should be possible to detect effects, but size does not need to be one. If size is an effect, then why aren't direction, position, and costume?
I guess your argument is valid, but the reason why is because the size blocks are RIGHT BELOW the effect blocks.
Why not add an eraser mode to pen?
Set pen mode to [draw v] // category=pen
It would have draw, erase, and off.
It would replace pen up and pen down.
Easy pen color controls:
set pen [hue v] to () // category=pen
change pen [red v] by () // category=pen
It would have hue, brightness, colorness (saturation), red, green, and blue.
It would replace those blocks… You know which ones I'm talking about, right?
This seems like a lot, but I completely agree. There is no way to clear pen off only a portion of the screen without clearing all of it, and this would make that possible. There are workarounds for changing the rgb/hsl of colors, though. It's just very difficult.
Yes, exactly why I'm suggesting it. I know how it's possible by now, but that's a REALLY annoying workaround.
I think you should be able to hide/show the mouse.
Show [mouse-pointer v] // category=looks
Hide [mouse-pointer v] // category=looks
The dropdown would include all sprites.
I'm neutral on this one. I think the mouse show/hide should be a separate block. Many people use show/hide in sprites and then duplicate the sprites, and they don't want to have to change all of the little dropdown tabs.
Oh, I guess so. I wanted to be able to hide the mouse, so I decided that I'd might as well toss in a dropdown for all sprites.
The variable and list tabs are too big. Change the variable and list blocks to one block with a dropdown:
([variable v]) // category=variables
([list v]) // category=list
The scratchblocks can't render it correctly. It's supposed to be a dropdown.
Again, I'm neutral. This could be helpful to people making *huge* projects, but otherwise it would be confusing to newer scratchers. Projects typically don't have more than 10 variables/lists.
Yes, I understand this. It can still be annoying on projects with a lot of vars though.
How about some advanced stuff?
set [variable v]'s display type to [normal v] // category=variables
set [variable v]'s slider min to [] // category=variables
set [variable v]'s slider max to [] // category=variables
([variable v]'s [slider min v]) // category=variables
move [variable v] to x: () y: () // category=variables
move [list v] to x: () y: () // category=list
resize [list v] to () pixels wide and () pixels tall // category=list
<variable [variable v] is showing?> // category=variables
<list [list v] is showing?> // category=list
As for the ()'s () block, the second dropdown would have slider min, slider max, and display type.
Replace the length of list with a new block:
([length v] of [list v]) // supposed to be list block
length, area, width, height. That should be enough.
The video has on-flipped, so why not show-flipped?
[show-flipped v] variable [variable v] // category=variables
[show-flipped v] list [list v] // category=list
Geez! That seems a bit overkill. These are a lot of blocks that will barely be used at all.
I would use them quite a bit… As would some others.
Now, a new section: Arrays!
Arrays would have several options:
Name of array: []
Dimensions in array: ()
Pick one:
() for this sprite only
() for all sprites
() cloud (scratchers only)
Now, in the dimensions option, 0 creates a variable, 1 creates a list. Otherwise, you get an array.
As they're more complicated, I think they should be able to be edited easily with an edit menu like custom blocks.
Arrays of more than 2 dimensions would have NO visual indicator.
Arrays would have similar blocks as lists:
- The () contains () and add () list blocks would support arrays with it's dropdown.
– The add block would insert it at spot 1 in every dimension.
- In 2D arrays, the same visual blocks as lists would be available, too.
- New blocks:
shift [item] () places in dimension () of [array v] // Does what you'd think it does
bring [item] to place () in dimension () of [array v] // Effectively the set function for the above
delete [item] in [array v] // Do you need to know what it does?
[show v] array [array v] // 2D arrays only
(length in dimension () of [array v])
[add v] dimension () from queue of [array v] // add, remove, add-flipped. This is needed for the next block.
item (), (), () of [array v] // The dimensions used would be the dimensions in queue. Supposed to be red.
An array begins with an empty queue.
Because it's complicated, if you have more than one of the same item in an array, it would just do it for all of them.
And don't forget the actual array block. It would have to be more complicated than the list block, though.
I think the when [] > () block should have more settings.
Again, geez! This is a bit much. Arrays can be made with lists in any amount of dimensions. It just requires a lot of experience. There are custom blocks some Scratchers made that essentially do this.
Yeah, I know that. It'd be nice to just have a built-in feature though.
when [variables can go here too v] [> v] (10) // wow, it ended up purple? how'd that happen?
I'm assuming this wouldn't be a new block, it would just have all the variables in the dropdown. This is good.
To help with the when gf clicked block, there should be a block for when someone leaves the project. It would be a full-scratcher only block and would only trigger if the user is a full scratcher.
when project left // category=events
Of course, it would be a hat block.
The only reason why I want it is to change cloud data.
Once a project has been left, the scripts have already stopped running… There are other ways to do that with cloud data, it's just a bit difficult.
Yes, I do know how.
…The only thing is, the only way I know how to do that is to have a “server”, which not everyone can keep up.
Here's a not-confusing way for a broadcast received? boolean.
([message1 v] received in last (1) secs?) // category=events
Yes! Yes! Finally someone who understands how Scratch works! I have seen this so many times without the ‘last (1) seconds’ at the end. This is the perfect solution. Of course… There is a simple workaround.
But it would still be convenient…
How about a “Link to” block? It would be full scratchers only and would have a confirmation message (also with a “Don't accept links this session” option that makes the confirmation message disappear and no others to show up, making you not go to any links)
Link to [link.link/link] // category=control
I completely agree, although I think it should be Scratch-only.
Cool. I don't.
I also think we should have an “auto-copy” block. It would automatically copy what's in the textbox.
copy [thing] to clipboard // category=control
This is good. Maybe also a (clipboard) reporter?
Good idea!
<color [#f0f] is touching [sprite v]?> // I think this block would be useful.
Workaround: There could be a forever in the other sprite that would set a variable to something.
More variables are annoying. I also prefer to not use another list entry…
I want more booleans.
<showing?>
<Mouse is showing?>
Advanced timer settings!
[reset v] timer (1) // category=sensing
With start and stop in the dropdown.
The event block that uses the timer could be split a bit more.
How about a “stop asking” block?
Stop asking // category=sensing
I agree with all of these, but why is there a (1) in the timer block? There don't need to be multiple timers; there is a workaround for that.
Multiple timers, yes. I know there's a workaround, but what if you want red stop sign pressed detection? And player-made timers are less accurate.
There should be more key sensing: tab, Lctrl, Rctrl, Lshift, Rshift, Enter, Backspace, any letter, any number. I'd also like -=\;',./ alt and the F keys, along with any symbol. Any would also be helpful.
if <key [any of those above v] pressed?> then
say [YAY!!!!!]
end
This can be done by hacking, but I guess it would be better if it could be legitimately done.
Put the +, -, *, /, and mod blocks into a single block with a dropdown.
(() [+ v] ()) // category=operators
There's really no point in having the < and > blocks with square edges. Remove the > and make the < have round inputs.
<() < ()> // yes it's boolean
WRONG! (sorry for caps) Strings can be compared in these booleans. For instance, d>b and a<e.
I'll remove this suggestion. I never knew why strings were allowed.
Remove the round block and put it in the dropdown directly below it.
([round v] of (9)) // This should be an operator, the category thing wasn't working
Good.
A ^ block would also be useful. With that, the 10^, log, e^, ln, and sqrt functions wouldn't be required. (It would also be in the dropdown.)
(() [^ v] ()) // category=operators
Remember, you can't get rid of blocks! There are thousands of projects that use them.
Since when did I say to remove them?
Dropdowns in custom blocks.
define I want [thing]s
I want [dropdown v]s // category=custom
So many people have asked for this, it's practically ensured to be in the next update.


All in all, these ideas were pretty good! I'd like to see them updated. I hope my five years of Scratch experience has helped you.
Thanks!

Last edited by 1234abcdcba4321 (Jan. 21, 2014 22:28:35)


I'd highly appreciate it if you were to follow me. Don't forget to go to my profile.
All of my programming suggestions <— You should really get the suggestions move back to the suggestions forum!
Five hundred posts! I never expected to get up there… In only 2-3 months.
Does anyone know what a signature is? I mean, I've already seen 6-7 people get confused.
AonymousGuy
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

1234abcdcba4321 wrote:

CodeLegend wrote:

copy [thing] to clipboard // category=control
This is good. Maybe also a (clipboard) reporter?
Good idea!
That could be used to spam and copy bad things and get rid of data people want on their clipboard.

1234abcdcba4321 wrote:

CodeLegend wrote:

A ^ block would also be useful. With that, the 10^, log, e^, ln, and sqrt functions wouldn't be required. (It would also be in the dropdown.)
(() [^ v] ()) // category=operators
Remember, you can't get rid of blocks! There are thousands of projects that use them.
Since when did I say to remove them?

1234abcdcba4321 wrote:

With that, the 10^, log, e^, ln, and sqrt functions wouldn't be required.
That kind of makes it seem like they should be removed.

Last edited by AonymousGuy (Jan. 21, 2014 22:53:28)

meowmoo
Scratcher
500+ posts

My Suggestions (Updated 8/22/14)

they sould have some more operators:

<[] = [between [] and [] ]>

([numeric equivalent v] of (A))

http://fyucha.com/

R a i n b o w
meowmoo
Scratcher
500+ posts

My Suggestions (Updated 8/22/14)

also,

1234abcdcba4321 wrote:

CodeLegend wrote:

I'm going to try to give input on most of these.

1234abcdcba4321 wrote:

I think the “If on edge, bounce” block should just be “bounce”.
if <touching [edge v]?> then // If you want the old if on edge bounce
bounce // category=motion
end
This won't work. If you think about it logically, there has to be a direction that you're bouncing off of. Imagine you're facing NE. If you bounce off the top edge, you will be facing SE. If you bounce off the right edge you'll be facing NW.
Okay, editing.
I think there should be a function to move the mouse.
move mouse to x: () y: () // category=motion
To make it possible to leave projects, it would only work if you're focused on the game. You could press esc to leave the project, and it gives you a warning. (Like the username block.)
A good idea, but what would it be used for? I think this would cause more harm than good.
It's possible to do this with real programming, but currently, you have to make something like requiring you to drag, instead of just moving the mouse.
Make size an effect.
change [size v] effect by (25)
set [size v] effect to (0)
Allow the detection of more than just size.
([size v] effect) // category=looks
I agree that it should be possible to detect effects, but size does not need to be one. If size is an effect, then why aren't direction, position, and costume?
I guess your argument is valid, but the reason why is because the size blocks are RIGHT BELOW the effect blocks.
Why not add an eraser mode to pen?
Set pen mode to [draw v] // category=pen
It would have draw, erase, and off.
It would replace pen up and pen down.
Easy pen color controls:
set pen [hue v] to () // category=pen
change pen [red v] by () // category=pen
It would have hue, brightness, colorness (saturation), red, green, and blue.
It would replace those blocks… You know which ones I'm talking about, right?
This seems like a lot, but I completely agree. There is no way to clear pen off only a portion of the screen without clearing all of it, and this would make that possible. There are workarounds for changing the rgb/hsl of colors, though. It's just very difficult.
Yes, exactly why I'm suggesting it. I know how it's possible by now, but that's a REALLY annoying workaround.
I think you should be able to hide/show the mouse.
Show [mouse-pointer v] // category=looks
Hide [mouse-pointer v] // category=looks
The dropdown would include all sprites.
I'm neutral on this one. I think the mouse show/hide should be a separate block. Many people use show/hide in sprites and then duplicate the sprites, and they don't want to have to change all of the little dropdown tabs.
Oh, I guess so. I wanted to be able to hide the mouse, so I decided that I'd might as well toss in a dropdown for all sprites.
The variable and list tabs are too big. Change the variable and list blocks to one block with a dropdown:
([variable v]) // category=variables
([list v]) // category=list
The scratchblocks can't render it correctly. It's supposed to be a dropdown.
Again, I'm neutral. This could be helpful to people making *huge* projects, but otherwise it would be confusing to newer scratchers. Projects typically don't have more than 10 variables/lists.
Yes, I understand this. It can still be annoying on projects with a lot of vars though.
How about some advanced stuff?
set [variable v]'s display type to [normal v] // category=variables
set [variable v]'s slider min to [] // category=variables
set [variable v]'s slider max to [] // category=variables
([variable v]'s [slider min v]) // category=variables
move [variable v] to x: () y: () // category=variables
move [list v] to x: () y: () // category=list
resize [list v] to () pixels wide and () pixels tall // category=list
<variable [variable v] is showing?> // category=variables
<list [list v] is showing?> // category=list
As for the ()'s () block, the second dropdown would have slider min, slider max, and display type.
Replace the length of list with a new block:
([length v] of [list v]) // supposed to be list block
length, area, width, height. That should be enough.
The video has on-flipped, so why not show-flipped?
[show-flipped v] variable [variable v] // category=variables
[show-flipped v] list [list v] // category=list
Geez! That seems a bit overkill. These are a lot of blocks that will barely be used at all.
I would use them quite a bit… As would some others.
Now, a new section: Arrays!
Arrays would have several options:
Name of array: []
Dimensions in array: ()
Pick one:
() for this sprite only
() for all sprites
() cloud (scratchers only)
Now, in the dimensions option, 0 creates a variable, 1 creates a list. Otherwise, you get an array.
As they're more complicated, I think they should be able to be edited easily with an edit menu like custom blocks.
Arrays of more than 2 dimensions would have NO visual indicator.
Arrays would have similar blocks as lists:
- The () contains () and add () list blocks would support arrays with it's dropdown.
– The add block would insert it at spot 1 in every dimension.
- In 2D arrays, the same visual blocks as lists would be available, too.
- New blocks:
shift [item] () places in dimension () of [array v] // Does what you'd think it does
bring [item] to place () in dimension () of [array v] // Effectively the set function for the above
delete [item] in [array v] // Do you need to know what it does?
[show v] array [array v] // 2D arrays only
(length in dimension () of [array v])
[add v] dimension () from queue of [array v] // add, remove, add-flipped. This is needed for the next block.
item (), (), () of [array v] // The dimensions used would be the dimensions in queue. Supposed to be red.
An array begins with an empty queue.
Because it's complicated, if you have more than one of the same item in an array, it would just do it for all of them.
And don't forget the actual array block. It would have to be more complicated than the list block, though.
I think the when [] > () block should have more settings.
Again, geez! This is a bit much. Arrays can be made with lists in any amount of dimensions. It just requires a lot of experience. There are custom blocks some Scratchers made that essentially do this.
Yeah, I know that. It'd be nice to just have a built-in feature though.
when [variables can go here too v] [> v] (10) // wow, it ended up purple? how'd that happen?
I'm assuming this wouldn't be a new block, it would just have all the variables in the dropdown. This is good.
To help with the when gf clicked block, there should be a block for when someone leaves the project. It would be a full-scratcher only block and would only trigger if the user is a full scratcher.
when project left // category=events
Of course, it would be a hat block.
The only reason why I want it is to change cloud data.
Once a project has been left, the scripts have already stopped running… There are other ways to do that with cloud data, it's just a bit difficult.
Yes, I do know how.
…The only thing is, the only way I know how to do that is to have a “server”, which not everyone can keep up.
Here's a not-confusing way for a broadcast received? boolean.
([message1 v] received in last (1) secs?) // category=events
Yes! Yes! Finally someone who understands how Scratch works! I have seen this so many times without the ‘last (1) seconds’ at the end. This is the perfect solution. Of course… There is a simple workaround.
But it would still be convenient…
How about a “Link to” block? It would be full scratchers only and would have a confirmation message (also with a “Don't accept links this session” option that makes the confirmation message disappear and no others to show up, making you not go to any links)
Link to [link.link/link] // category=control
I completely agree, although I think it should be Scratch-only.
Cool. I don't.
I also think we should have an “auto-copy” block. It would automatically copy what's in the textbox.
copy [thing] to clipboard // category=control
This is good. Maybe also a (clipboard) reporter?
Good idea!
<color [#f0f] is touching [sprite v]?> // I think this block would be useful.
Workaround: There could be a forever in the other sprite that would set a variable to something.
More variables are annoying. I also prefer to not use another list entry…
I want more booleans.
<showing?>
<Mouse is showing?>
Advanced timer settings!
[reset v] timer (1) // category=sensing
With start and stop in the dropdown.
The event block that uses the timer could be split a bit more.
How about a “stop asking” block?
Stop asking // category=sensing
I agree with all of these, but why is there a (1) in the timer block? There don't need to be multiple timers; there is a workaround for that.
Multiple timers, yes. I know there's a workaround, but what if you want red stop sign pressed detection? And player-made timers are less accurate.
There should be more key sensing: tab, Lctrl, Rctrl, Lshift, Rshift, Enter, Backspace, any letter, any number. I'd also like -=\;',./ alt and the F keys, along with any symbol. Any would also be helpful.
if <key [any of those above v] pressed?> then
say [YAY!!!!!]
end
This can be done by hacking, but I guess it would be better if it could be legitimately done.
Put the +, -, *, /, and mod blocks into a single block with a dropdown.
(() [+ v] ()) // category=operators
There's really no point in having the < and > blocks with square edges. Remove the > and make the < have round inputs.
<() < ()> // yes it's boolean
WRONG! (sorry for caps) Strings can be compared in these booleans. For instance, d>b and a<e.
I'll remove this suggestion. I never knew why strings were allowed.
Remove the round block and put it in the dropdown directly below it.
([round v] of (9)) // This should be an operator, the category thing wasn't working
Good.
A ^ block would also be useful. With that, the 10^, log, e^, ln, and sqrt functions wouldn't be required. (It would also be in the dropdown.)
(() [^ v] ()) // category=operators
Remember, you can't get rid of blocks! There are thousands of projects that use them.
Since when did I say to remove them?
Dropdowns in custom blocks.
define I want [thing]s
I want [dropdown v]s // category=custom
So many people have asked for this, it's practically ensured to be in the next update.


All in all, these ideas were pretty good! I'd like to see them updated. I hope my five years of Scratch experience has helped you.
Thanks!

however, mabye instead of :

if <touching [edge v]?> then
bounce
end

i think it should be:

if <touching [edge v]?> then
bounce in direction ()
end

http://fyucha.com/

R a i n b o w
1234abcdcba4321
Scratcher
1000+ posts

My Suggestions (Updated 8/22/14)

meowmoo wrote:

they sould have some more operators:

<[] = [between [] and [] ]>

([numeric equivalent v] of (A))

IMPORTANT! DO NOT POST YOUR OWN IDEAS IN THIS THREAD!

I'd highly appreciate it if you were to follow me. Don't forget to go to my profile.
All of my programming suggestions <— You should really get the suggestions move back to the suggestions forum!
Five hundred posts! I never expected to get up there… In only 2-3 months.
Does anyone know what a signature is? I mean, I've already seen 6-7 people get confused.
Zambonifofex
Scratcher
100+ posts

My Suggestions (Updated 8/22/14)

1234abcdcba4321 wrote:

meowmoo wrote:

they sould have some more operators:

<[] = [between [] and [] ]>

([numeric equivalent v] of (A))

IMPORTANT! DO NOT POST YOUR OWN IDEAS IN THIS THREAD!
What's the problem of people posting their ideas here? i mean, sure they will get more attencion by creating a new thread, but posting it can can't cause any harm, can it?

Last edited by Zambonifofex (Jan. 26, 2014 01:14:21)

meowmoo
Scratcher
500+ posts

My Suggestions (Updated 8/22/14)

ARM32 wrote:

I do NOT support you on these.
change x by (10)
set x to (0)
change y by (10)
set y to (0)
change [variable v] by (1)

set [size v] effect to (0)
change [size v] effect by (25)

I DO want these though.
<[ARM32] is a [scratcher v]?> // category=sensing
([post v] number of [ARM32]) // category=sensing
<is [ARM32] a guest?> // category=sensing

I ALSO want these.
<[message1 v] received?> // category=events
<I am a [clone v]?> // category=control
<<> xor <>> // category=operators
<<> nand <>> // category=operators
<<> nor <>> // category=operators

#2)also:

<[meowmoo] is a [new scratcher v]? // category=sensing

http://fyucha.com/

R a i n b o w
meowmoo
Scratcher
500+ posts

My Suggestions (Updated 8/22/14)

Here's something i would like specified. Instead of:

<touching [edge v]?>

how about:

<touching [bottom edge v]?>

<touching [right edge v]?>

<touching [top edge v]?>

<touching [left edge v]?>

http://fyucha.com/

R a i n b o w

Powered by DjangoBB