Text-based Scratch. This is how I think it might look.
List of Commands
>"hat" blocks< ^loop blocks^ [command blocks] (reporter blocks) <boolean blocks>
-Motion- [move( )steps] [turn( )degrees] [pointInDirection( )] [pointTowards" "] [goToX( )Y( )] [goTo" "] [glide( )secsToX( )Y( )] [changeXby( )] [setXto( )] [changeYby( )] [setYto( )] [ifOnEdgeBounce] (Xposition) (Yposition) (direction) -Control- >whenFlagClicked< >when" "keyPressed< >when"SpriteName"clicked< [wait( )secs] ^forever^ (add ^endLoop^ at the end of all loops) ^repeat( )^ [broadcast" "] [broadcast" "andWait] >whenIrecieve" "< ^foreverIf< >^ ^if < >^ ^if< > else^ [waitUntil< >] ^repeatUntil < >^ [stopScript] [stopAll] -looks- [switchToCostume" "] [nextCostume] (costume#) [say" "for( )secs] [say" "] [think" "for( )secs] [think" "] [change" "effectBy( )] [set" "effectTo( )] [clearGraphicEffects] [changeSizeBy( )] [setSizeTo( )] (size) [show] [hide] [goToFront] [goBack( )layers] -sensing- <touching" "> <touchingColor[#:#]> (colorValue:shadeValue) <color[]touching[#:#]> [ask" "andWait] (answer) (mouseX) (mouseY) <mouseDown> <key" "pressed> (distanceTo" ") [resetTimer] (timer) (" "of" ") (loudness) <loud> (" "sensorValue) <sensor" "> -sound- [playSound" "] [playSound" "untilDone] [stopAllSounds] [playDrum( )for( )beats] [restFor( )beats] [playNote( )for( )beats] [setInstramentTo( )] [changeVolumeBy( )] [setVolumeTo( )%] [changeTempoBy( )] [setTempoTo( )bpm] (tempo) -operators- (( )+( )) (( )-( )) (( )*( )) (( )/( )) (pickRandom( )to( )) <" "<" "> <" "=" "> <" ">" "> << >and< >> << >or< >> <not< >> (join" " " ") (letter( )of" ") (lengthOf" ") (( )mod( )) (round( )) (" "of( )) -pen- [clear] [penDown] [penUp] [setPenClorTo[#:#] [changePenColorBy( )] [setPenColorTo( )] [changePenShadeBy( )] [setPenShadeTo( )] [changePenSizeBy( )] [setPenSizeTo( )] [stamp] -variables and lists- (var:" ") [changeVar" "by( )] [setVar" "to( )] [showVar" "] [hideVar" "] (list:" ") [add" "to" "] [delete( )of" "] [insert" "at( )of" "] [replaceItem( )of" "with" "] (item( )of" ") (lengthOf" ") <" "contains" ">
Sample Script:
Last edited by illusionist (2009-09-09 22:48:37)
Offline
Louis2018 wrote:
The-Whiz wrote:
No...
How do you get that thing thats says your name behind your dragons?
Please don't stray off of the topic. I'll answer your question anyway... When you go to your scroll, hit "generate incubator".
Anyways, illusionist, this looks great! Might I suggest these?
Variables: [Set variable " " to ( )] [Change variable " " by ( )] [Hide variable " "] [Show variable " "]
Too lazy to put anything else...
Last edited by TimeFreeze (2009-08-27 21:20:34)
Offline
TimeFreeze wrote:
Louis2018 wrote:
The-Whiz wrote:
No...
How do you get that thing thats says your name behind your dragons?
Please don't stray off of the topic. I'll answer your question anyway... When you go to your scroll, hit "generate incubator".
Anyways, illusionist, this looks great! Might I suggest these?Code:
Variables: [Set variable " " to ( )] [Change variable " " by ( )] [Hide variable " "] [Show variable " "]Too lazy to put anything else...
You seem to know the code pretty well already!
Offline
Awesome! I normally thought that it would be impossible to program, but when you put it like that, there seems to be a slim chance...
Offline
Oh... now that it's shown like that, it actually makes sense. Still, it has those drawbacks as mentioned in a different suggestion.
Offline
I have a suggestion on how comments would be displayed.
Would result in this:
>whenFlagClicked< //0:1:Comment
The 0 means that the comment has minimum width.
The 1 shows that the comment is expanded, 0 would indicate a collapsed comment.
A floating comment would look like this:
//0:1:10:10:Comment/nNew line
The first and second values are the same as with the attached comment,
the third and fourth values store the X and Y position on the scripts pane.
Offline
ScratchScripter wrote:
I have a suggestion on how comments would be displayed.
http://img143.imageshack.us/img143/6742 … omment.gif
Would result in this:Code:
>whenFlagClicked< //0:1:CommentThe 0 means that the comment has minimum width.
The 1 shows that the comment is expanded, 0 would indicate a collapsed comment.
A floating comment would look like this:Code:
//0:1:10:10:Comment/nNew lineThe first and second values are the same as with the attached comment,
the third and fourth values store the X and Y position on the scripts pane.
Hmmm... but who can read that? a project made in text mode will download in text mode.
Offline
illusionist wrote:
ScratchScripter wrote:
I have a suggestion on how comments would be displayed.
http://img143.imageshack.us/img143/6742 … omment.gif
Would result in this:Code:
>whenFlagClicked< //0:1:CommentThe 0 means that the comment has minimum width.
The 1 shows that the comment is expanded, 0 would indicate a collapsed comment.
A floating comment would look like this:Code:
//0:1:10:10:Comment/nNew lineThe first and second values are the same as with the attached comment,
the third and fourth values store the X and Y position on the scripts pane.Hmmm... but who can read that? a project made in text mode will download in text mode.
I don't know, the comments with their position values have to be implemented somehow, or else the comment positions would get lost and the commments would probably end up in the top left corner of the scripts pane if you switched between Text mode and Blocks mode.
Offline
All those [go to x:() y:()], >When (x) Clicked< are good, but I think I have a better idea...
This'd be my text version of the sentence speaking loop of SentenceSynthesier:
whenIReceive ("PLAY") { `iter` = 0; `length` = (lengthOf("LIST") + 1); `speaking?` = 1; repeatUntil `iter` == `length` { `currently speaking` = elementOf("Sentence", `iter`); replaceListItem(`iter`, "Sentence", elementOf("LIST", `iter`)); playSoundUntilDone(`iter`); replaceListItem(`iter`, "Sentence", `currently speaking`); `iter` + 1; } `speaking` = 0; }
Last edited by filo5 (2009-08-28 11:53:37)
Offline
filo5 wrote:
All those [go to x
) y
)], >When (x) Clicked< are good, but I think I have a better idea...
This'd be my text version of the sentence speaking loop of SentenceSynthesier:Code:
whenIReceive ("PLAY") { `iter` = 0; `length` = (lengthOf("LIST") + 1); `speaking?` = 1; repeatUntil `iter` == `length` { `currently speaking` = elementOf("Sentence", `iter`); replaceListItem(`iter`, "Sentence", elementOf("LIST", `iter`)); playSoundUntilDone(`iter`); replaceListItem(`iter`, "Sentence", `currently speaking`); `iter` + 1; } `speaking` = 0; }
This isn't Java Filo. Text-mode is to pepare scratchers for other languages. Its just to tell them a little bit about what its like.
Offline