Discuss Scratch
- Alberknyis
-
1000+ posts
Work-arounds
Um, actually - that block is not very simple to workaround:if <> then ::cstart
elif <> then ::celse
else ::celse
endif <> then#editorlag
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
if <> then
else
end
end
end
end
end
end
end
end
end
end
end
end
end
end
Ummm… You mean this?
if <> then
else
if <> then
else
end
end
Because, y'know… I don't understand what you need 14 if-else blocks for.
Were you talking about having to work around this sort of thing?
if <> then
elif <>::celse
elif <>::celse
elif <>::celse
elif <>::celse
elif <>::celse
else
end
Because honestly I'm fine without an elif block. I do if-else-ception all the time.
stop [all v] ::stack
- ev3commander
-
500+ posts
Work-arounds
Workaround for forever:
define Forever move (number) steps
move (number) steps
Forever move (number) steps :: more blocks
- Alberknyis
-
1000+ posts
Work-arounds
else if not elif.guys it's called
Welcome to Python. Here we have our own names for things.
Last edited by Alberknyis (Jan. 20, 2015 10:05:52)
stop [all v] ::stack
- zorket
-
500+ posts
Work-arounds
These blocks are included in scratch because they are the BASE of what makes up everything else. The fact that in some block definitions you included other blocks in your workaround that are defined elsewhere proves it. With these blocks, more workarounds are possible, and as Iditaroid said, it is intuitive.
By the way, what's the suggestion here?
By the way, what's the suggestion here?
Try out my new strategy/luck game: Battleship!
- ChocolatePi
-
1000+ posts
Work-arounds
in better programming languages, else if is treated likeelse if not elif.guys it's called
Welcome to Python. Here we have our own names for things.
if ...
else
if ...
else
if...
- Alberknyis
-
1000+ posts
Work-arounds
in better programming languages, else if is treated likeelse if not elif.guys it's called
Welcome to Python. Here we have our own names for things.if ...
else
if ...
else
if...
In Python, we still call it elif.
stop [all v] ::stack
- peppermintpatty5
-
1000+ posts
Work-arounds
How wierd. :/ (And it seems Python is an older language than Java.)in better programming languages, else if is treated likeelse if not elif.guys it's called
Welcome to Python. Here we have our own names for things.if ...
else
if ...
else
if...
In Python, we still call it elif.
Scratch that. Python is soooo inferior

Last edited by peppermintpatty5 (July 29, 2015 12:44:42)
- CodeLegend
-
500+ posts
Work-arounds
not mean it is magically going to be faster than its workaround.the number of blocks is not what determines the computing speed. it is actually the behind-the-scenes operations. just because you have abstracted a function as a single block does
a large number of blocks can take down FPS, but only if you have failed to use “run without screen refresh”.
But it often will be faster, not because of magic, but because there are actually less behind-the-scenes operations when a function is written in native actionscript rather than scratch blocks.
A workaround has to be interpreted block-by-block by the scratch editor, while pure actionscript code can just be interpreted by the flash player.
Example:
polygon x:[list of x points v] y:[list of y points v]::pen
//would be much much faster than
define I didn't make this but it is a real script that has been used in many projects.
set [minHeight v] to (item (1 v) of [polyY v])
set [maxHeight v] to (item (1 v) of [polyY v])
pen up
set [i v] to [0]
repeat (vertices)
change [i v] by (1)
set [j v] to (item (i) of [polyY v])
if <(j) < (minHeight)> then
set [minHeight v] to (j)
end
if <(j) > (maxHeight)> then
set [maxHeight v] to (j)
end
end
set [pixelY v] to (minHeight)
repeat ((maxHeight) - (pixelY))
delete (all v) of [nodeX v]
set [i v] to [1]
set [j v] to (vertices)
repeat (vertices)
if <<<(item (i) of [polyY v]) < (pixelY)> and <not <(item (j) of [polyY v]) < (pixelY)>>> or <<(item (j) of [polyY v]) < (pixelY)> and <not <(item (i) of [polyY v]) < (pixelY)>>>> then
add (round ((item (i) of [polyX v]) + ((((pixelY) - (item (i) of [polyY v])) / ((item (j) of [polyY v]) - (item (i) of [polyY v]))) * ((item (j) of [polyX v]) - (item (i) of [polyX v]))))) to [nodeX v]
end
set [j v] to (i)
change [i v] by (1)
end
set [i v] to [1]
repeat until <not <(i) < (length of [nodeX v])>>
if <(item (i) of [nodeX v]) > (item ((i) + (1)) of [nodeX v])> then
set [swap v] to (item (i) of [nodeX v])
replace item (i) of [nodeX v] with (item ((i) + (1)) of [nodeX v])
replace item ((i) + (1)) of [nodeX v] with (swap)
if <(i) > [1]> then
change [i v] by (-1)
end
else
change [i v] by (1)
end
end
set [i v] to [1]
set pen size to (pen size)
repeat ((length of [nodeX v]) / (2))
go to x:(item (i) of [nodeX v]) y:(pixelY)
pen down
go to x:(item ((i) + (1)) of [nodeX v]) y:(pixelY)
pen up
change [i v] by (2)
end
change [pixelY v] by (pen size)
end
set pen color to [#000008]
repeat ((vertices) + (1))
change [i v] by (1)
go to x:(item (((i) mod (vertices)) + (1)) of [polyX v]) y:(item (((i) mod (vertices)) + (1)) of [polyY v])
pen down
end
- Blank1234
-
500+ posts
Work-arounds
better progrqmming languages have no loopsin better programming languages, else if is treated likeelse if not elif.guys it's called
Welcome to Python. Here we have our own names for things.if ...
else
if ...
else
if...
Did you know that “kaj” means “and” in Esperanto?
Totally not for SEO:
https://scratch.mit.edu/projects/85467306/
https://scratch.mit.edu/projects/83099266/
https://scratch.mit.edu/projects/81628056/
https://scratch.mit.edu/projects/81562288/
https://scratch.mit.edu/projects/81462110/
https://scratch.mit.edu/projects/81436112/
https://scratch.mit.edu/projects/78896920/
https://scratch.mit.edu/projects/78863998/
https://scratch.mit.edu/projects/76577776/
https://scratch.mit.edu/projects/76459270/
https://scratch.mit.edu/projects/74797364/
https://scratch.mit.edu/projects/74085188/
https://scratch.mit.edu/projects/73150274/
https://scratch.mit.edu/projects/73112658/
https://scratch.mit.edu/projects/72484040/
https://scratch.mit.edu/projects/72737486/
https://scratch.mit.edu/projects/72410420/
https://scratch.mit.edu/projects/72378152/
https://scratch.mit.edu/projects/71910314/
https://scratch.mit.edu/projects/67826618/
https://scratch.mit.edu/projects/67882676/
https://scratch.mit.edu/projects/66909070/
https://scratch.mit.edu/projects/66925858/
https://scratch.mit.edu/projects/66420350/
https://scratch.mit.edu/projects/66062314/
https://scratch.mit.edu/projects/65564542/
https://scratch.mit.edu/projects/64828196/
https://scratch.mit.edu/projects/64286296/
https://scratch.mit.edu/projects/64283600/
https://scratch.mit.edu/projects/62386850/
https://scratch.mit.edu/projects/63907584/
https://scratch.mit.edu/projects/62785306/
https://scratch.mit.edu/projects/63767660/
https://scratch.mit.edu/projects/62676562/
https://scratch.mit.edu/projects/61948978/
https://scratch.mit.edu/projects/62521426/
https://scratch.mit.edu/projects/61074988/
https://scratch.mit.edu/projects/11658256/
https://scratch.mit.edu/projects/60640274/
- peppermintpatty5
-
1000+ posts
Work-arounds
wut? WUT?better progrqmming languages have no loopsin better programming languages, else if is treated likeelse if not elif.guys it's called
Welcome to Python. Here we have our own names for things.if ...
else
if ...
else
if...

Last edited by peppermintpatty5 (July 29, 2015 21:51:20)
- DaBombPop1
-
4 posts
Work-arounds
too bad you cannot move variables
Last edited by DaBombPop1 (July 6, 2016 20:20:17)
- Sheep_maker
-
1000+ posts
Work-arounds
The ST is busy, so they want to do as less as possible to still benefit Scratch. Removing all the workaroundable blocks would waste the ST's time and won't benefit anyone. Adding blocks take time and effort, and many times if there's a workaround, the ST won't do it because it's already possible. Blocks without workarounds, however, extend what's possible with Scratch.
I think that's why
I think that's why
- Sheep_maker This is a kumquat-free signature. :P
What's happening? This is my signature; it appears below all my posts. Discuss it on my profile, not the forums.
To make your own, click “Change your signature” at the bottom of the discussion home page.

.postsignature { overflow: auto; } .scratchblocks { overflow-x: auto; overflow-y: hidden; }