Discuss Scratch

MathlyCat
Scratcher
1000+ posts

Ultimate List of Workarounds And More

Charles12310 wrote:

MathlyCat wrote:

DaEpikDude wrote:

when costume switches to [costume1 v] ::events hat

when gf clicked
forever
wait until <([costume name v] of [sprite v]) = [costume name here]>
...
end

I don't really get why this wasn't added, but “when backdrop switches to” was.
Just look at my signature.
The thing is you shouldn't hand everything to the New Scratchers; Scratch is about learning and some things don't need to be handed over since they can be created using some thinking.

Take a look at the sixth suggestion section: https://scratch.mit.edu/discuss/topic/215499/

Just because a non-existent block has an easy workaround does not mean it can't be added because you say, “You can't just expect New Scratchers to have the blocks they want. They sometimes need to learn how to do stuff and do challenges”.

Then why are they called “NEW Scratchers”? They know nothing. They are new. It will take them a long time before they know how to do stuff.

And yet you expect them to know something like this? So quickly?

define find letters (a) to (b) of (string)
set [report v] to ()
set [count v] to (a)
repeat until <(count) = ((b) + 1)
set [report v] to (join(report)(item (count) of (string))
change [count v] by (1)

That procedure is simple, but New Scratchers don't know it yet. I'm not forcing you to resconsider what you said.
I don't think you see the difference between the block you put and the one above.

Also I'm a lazy bum, and usually I just add those blocks and point out those things. No need to be super duper triggered.

Last edited by MathlyCat (July 12, 2017 04:34:15)


Think before you act.
Actions speek louder than words.

hi there fella
Charles12310
Scratcher
1000+ posts

Ultimate List of Workarounds And More

(DELETED DUE TO MISUNDERSTOOD CONTENT)

Last edited by Charles12310 (July 13, 2017 06:38:51)



A few internet communication companies want to corrupt the internet by getting rid of net neutrality. Stop Them!
Jonathan50
Scratcher
1000+ posts

Ultimate List of Workarounds And More

Charles12310 wrote:

Anyways, I found out a good workaround for the “pick random () to ()” reporter:

...

The function adds the numbers wanted to be picked randomly as a separate item in a list. Since there is a “random” option in the reporter “item () of ()” block, after putting all the numbers in the list, a variable is set to be a random item from the list.
This topic is about workarounds for suggested blocks, not existing blocks… (Otherwise it wouldn't be in Suggestions)

Not yet a Knight of the Mu Calculus.
Charles12310
Scratcher
1000+ posts

Ultimate List of Workarounds And More

<sound [ v] playing? :: sound >

...
set [sound playing? v] to [true]
play sound [ v] until done
set [sound playing? v] to [false]
...

when green flag clicked
if <(sound playing?) = [true]> then
...
end
...

Last edited by Charles12310 (July 13, 2017 06:44:07)



A few internet communication companies want to corrupt the internet by getting rid of net neutrality. Stop Them!
FancyFoxy
Scratcher
500+ posts

Ultimate List of Workarounds And More

Charles12310 wrote:

<sound [ v] playing? :: sound >

...
set [sound playing? v] to [true]
play sound [ v] until done
set [sound playing? v] to [false]
...

when green flag clicked
if <(sound playing?) = [true]> then
...
end
...
I love how so many workarounds to what people have been suggesting are just creating a variable.

THIS IS MY SIGNATURE. THIS MEANS IT IS AN AUTOMATIC MESSAGE THAT APPEARS AT THE BOTTOM OF ALL MY POSTS.
Hi! I'm FancyFoxy! I create animations and games that were never, EVER meant to be taken seriously.
FancyFoxy Heroes and #Thanksgiving are some of my latest projects, check them out!
Charles12310
Scratcher
1000+ posts

Ultimate List of Workarounds And More

In order for a workaround for this reporter:

([ v] effect :: looks )

You first need to make these variables:

(color effect)

(fisheye effect)

(whirl effect)

(pixelate effect)

(brightness effect)

(ghost effect)

(mosaic effect)

Then the effects to these variables, so that you are in control of the variables:

when green flag clicked
forever
set [color v] effect to (color effect)
set [fisheye v] effect to (fisheye effect)
set [whirl v] effect to (whirl effect)
set [pixelate v] effect to (pixelate effect)
set [brightness v] effect to (brightness effect)
set [ghost v] effect to (ghost effect)
set [mosaic v] effect to (mosaic effect)
end

You might be thinking, “why should I control effects with variable blocks instead of the effect blocks?” Remember that the effect blocks have no reporter, but variable blocks have reporters, and making the effect blocks under control of variable blocks also allows you to detect what effects the sprites contain.

Examples (note that the reason why I am using a data block to change effects is because the effects are under the control of variables, as I said earlier, since the effect blocks have no reporters…I definitely need to explain that one more time, ugh…):

...
if <(ghost effect) = (100)> then
say [I am invisible!]
else
say [You can still see me, right?]
end
...

...
if <(pixelate effect) = (0)> then
repeat until <(pixelate effect) = (100)>
change [pixelate effect v] by (10)
end
else
...
end
...

Last edited by Charles12310 (July 13, 2017 17:44:09)



A few internet communication companies want to corrupt the internet by getting rid of net neutrality. Stop Them!
Charles12310
Scratcher
1000+ posts

Ultimate List of Workarounds And More

change item ( v) of [list v] by () :: list

define change item (number) of (list) by (amount)
replace item (number) of (list) with ((item (number) of (list)) + (number))

Last edited by Charles12310 (July 23, 2017 18:40:47)



A few internet communication companies want to corrupt the internet by getting rid of net neutrality. Stop Them!
Charles12310
Scratcher
1000+ posts

Ultimate List of Workarounds And More

define glide (n) secs to (object)
if <(object) = [mouse pointer]> then
glide (n) secs to x:(mouse x)y: (mouse y)
else
glide (n) secs to x:([x position v] of (object))y:([y position v] of (object))
end

define glide (n) secs by x:(x)y:(y)
glide (n) secs to x:((x position) + (x))y:((y position) + (y))


A few internet communication companies want to corrupt the internet by getting rid of net neutrality. Stop Them!
Charles12310
Scratcher
1000+ posts

Ultimate List of Workarounds And More

when (10) + (10) = (10) :: operators :: hat

when [timer v] > (-1)
forever
if <((10) + (10)) = (10)> then
...
end
end


A few internet communication companies want to corrupt the internet by getting rid of net neutrality. Stop Them!
walkcycle
Scratcher
500+ posts

Ultimate List of Workarounds And More

FancyFoxy wrote:

I love how so many workarounds to what people have been suggesting are just creating a variable.
This. Simple workarounds are great.
DaEpikDude
Scratcher
1000+ posts

Ultimate List of Workarounds And More

I'd like to point out that there's a better workaround for setting pen colour to hex input:
set pen color to (join [0x][hex input])//this is the color picker, not the number input
This is more compact and easier to interpret at a glance (mainly due to the 0x).

And all the world over, each nation's the same,
They've simply no notion of playing the game.
They argue with umpires, they cheer when they've won,
And they practice beforehand, which ruins the fun!
Sharp-Shark
Scratcher
22 posts

Ultimate List of Workarounds And More

-/Deleted/-

Last edited by Sharp-Shark (Sept. 22, 2017 17:00:08)

Sharp-Shark
Scratcher
22 posts

Ultimate List of Workarounds And More

-/Deleted/-

Last edited by Sharp-Shark (Sept. 22, 2017 16:17:29)

Sharp-Shark
Scratcher
22 posts

Ultimate List of Workarounds And More

A ‘repeat ()’ updated version!

with counter ([a] :: control) count to (0),(1) {
...} :: control
That is the new version.The new proposed version is based on the Python : ‘for _ in _ :’!
look at this example for use of the new version!
when green flag clicked
with counter ([a] :: control) count to (0),(100) {
say ([a] :: control)
wait (1) secs
say [] } :: control
The output would be :
0
1
2
…Until 100…

Let's make a “2D” text world in a list with the new one and the old one!
when green flag clicked
with counter ([a] :: control) count to (1),(3) {
insert [] at (length of [c v] :: list) of [c v]
repeat (3)
replace item ([a] :: control v) of [c v] with (join (item ([a] :: control v) of [c v] :: list) [o])
end} :: control
The list ‘c’ would be like this :
ooo
ooo
ooo

Also as soon as a count loop ends,it's
 ([X] :: control v) 
will be acessible but if another loop uses it,it will be reseted for the new loop use!Also,i don't wanna remove
 repeat () 
i just wanna add a new,very useful block!

Now the workaround kind of exists and don't exists because of some reasons…Maybe i should bring this to ‘my’ forum…If you wanna,you do can delet it!

Last edited by Sharp-Shark (Sept. 22, 2017 16:56:54)

DaEpikDude
Scratcher
1000+ posts

Ultimate List of Workarounds And More

Sharp-Shark wrote:

-snip-
This is for showing workarounds for suggestions, not for suggesting things. You should probably make a new topic.

And all the world over, each nation's the same,
They've simply no notion of playing the game.
They argue with umpires, they cheer when they've won,
And they practice beforehand, which ruins the fun!
DaEpikDude
Scratcher
1000+ posts

Ultimate List of Workarounds And More

Charles12310 wrote:

change item ( v) of [list v] by () :: list

define change item (number) of (list) by (amount)
replace item (number) of (list) with ((item (number) of (list)) + (number))
I think the problem with this workaround is that it requires hacked blocks, which is a bit of a problem if you don't know how to do it/don't like doing it.

And all the world over, each nation's the same,
They've simply no notion of playing the game.
They argue with umpires, they cheer when they've won,
And they practice beforehand, which ruins the fun!
Charles12310
Scratcher
1000+ posts

Ultimate List of Workarounds And More

DaEpikDude wrote:

Charles12310 wrote:

change item ( v) of [list v] by () :: list

define change item (number) of (list) by (amount)
replace item (number) of (list) with ((item (number) of (list)) + (number))
I think the problem with this workaround is that it requires hacked blocks, which is a bit of a problem if you don't know how to do it/don't like doing it.
Do it here: http://towerofnix.github.io/scrap-mod/scrap.html

Then save it, create a project, load it, drag it to the backpack for future uses. Done.


A few internet communication companies want to corrupt the internet by getting rid of net neutrality. Stop Them!
Charles12310
Scratcher
1000+ posts

Ultimate List of Workarounds And More

broadcast [☁ cloud broadcast v]

broadcast [☁ cloud broadcast v] and wait

// Workaround:

when green flag clicked
forever
if <(☁ broadcast) = [1]> then
... // contents of broadcast
set [☁ broadcast v] to [0]
end
end

...
set [☁ broadcast v] to [1] // broadcast without wait
...

...
set [☁ broadcast v] to [1] // broadcast and wait
wait until <(☁ broadcast) = [0]>
...

Last edited by Charles12310 (Sept. 23, 2017 16:00:15)



A few internet communication companies want to corrupt the internet by getting rid of net neutrality. Stop Them!
DaEpikDude
Scratcher
1000+ posts

Ultimate List of Workarounds And More

DaEpikDude wrote:

I'd like to point out that there's a better workaround for setting pen colour to hex input:
set pen color to (join [0x][hex input])//this is the color picker, not the number input
This is more compact and easier to interpret at a glance (mainly due to the 0x).
within topic bump i guess???

And all the world over, each nation's the same,
They've simply no notion of playing the game.
They argue with umpires, they cheer when they've won,
And they practice beforehand, which ruins the fun!
MathlyCat
Scratcher
1000+ posts

Ultimate List of Workarounds And More

DaEpikDude wrote:

DaEpikDude wrote:

I'd like to point out that there's a better workaround for setting pen colour to hex input:
set pen color to (join [0x][hex input])//this is the color picker, not the number input
This is more compact and easier to interpret at a glance (mainly due to the 0x).
within topic bump i guess???
The workaround listed is better because it's easier to understand; you don't need hex knowledge to be able to use it.

Think before you act.
Actions speek louder than words.

hi there fella

Powered by DjangoBB