Discuss Scratch
- Discussion Forums
- » Project Save & Level Codes
- » Scratch emulator (GriffScratch) saved projects
- techbro278
-
Scratcher
1 post
Scratch emulator (GriffScratch) saved projects
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 109 , -147 , [ , ]] , [ 52 , 44 , [ , , , , , , [“doForever” ,[ [“warpSpeed” ,[ [“turnLeft:” , ] , [“forward:” , ] , , ] ] ] ] ]] ] }],“info”:{} }
This makes a double spiral thing
This makes a double spiral thing
- Princeliebe
-
Scratcher
10 posts
Scratch emulator (GriffScratch) saved projects
peppeBro why did you say this
define me because I don't know how to define myself because my info thing is so long i got a million friends in real life not on scratch tho so i cant define myself
- Princeliebe
-
Scratcher
10 posts
Scratch emulator (GriffScratch) saved projects
If you have a project you created in my scratch emulator you want to share then this is the place for you
https://scratch.mit.edu/projects/113321949/
Make sure you include a title / description of your project before you pasted json code!
HOLD ONSCRIPTS ARE NOT VIEWABLE CORRECTLY AFTER BEING PASTED IN LINE THIS. YOU CAN SEE THEN PROPERLY WHEN YOU CLICK QUOTE FOR A PARTICULAR POST BUT OTHERWISE IT'S NOT RIGHT.
when green flag clicked
if <(wants to know raycasting ) = [true]> then
look up griffpatch's tutorials for (2) hours
end[/quote]
That is so true
[scratchblocks](scratch is using bbcode)[/scratchblocks]
- ArrowMHB2015
-
Scratcher
2 posts
Scratch emulator (GriffScratch) saved projects
pong (its a bit broken)
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 74 , 3 , [ , , , , [“setVar:to:” , “y” , ] , [“setVar:to:” , “x” , ] , , [“doForever” ,[ , [“changeVar:by:” , “x” , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] , [“changeVar:by:” , “y” , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] , , , , , , , , [“gotoX:y:” , , ] , , , [“gotoX:y:” , [“+” , , “45” ] , [“+” , , “43” ] ] , , , [“gotoX:y:” , [“+” , , “45” ] , [“+” , , “-43” ] ] , [“gotoX:y:” , [“+” , , “-3” ] , [“+” , , “-43” ] ] , [“gotoX:y:” , [“+” , , “-3” ] , [“+” , , “43” ] ] , , [“gotoX:y:” , , ] ] ] ]] ] }],“info”:{} }
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 74 , 3 , [ , , , , [“setVar:to:” , “y” , ] , [“setVar:to:” , “x” , ] , , [“doForever” ,[ , [“changeVar:by:” , “x” , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] , [“changeVar:by:” , “y” , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] , , , , , , , , [“gotoX:y:” , , ] , , , [“gotoX:y:” , [“+” , , “45” ] , [“+” , , “43” ] ] , , , [“gotoX:y:” , [“+” , , “45” ] , [“+” , , “-43” ] ] , [“gotoX:y:” , [“+” , , “-3” ] , [“+” , , “-43” ] ] , [“gotoX:y:” , [“+” , , “-3” ] , [“+” , , “43” ] ] , , [“gotoX:y:” , , ] ] ] ]] ] }],“info”:{} }- mark-sss
-
Scratcher
100+ posts
Scratch emulator (GriffScratch) saved projects
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 91 , -226 , [ , , [“doForever” ,[ [“warpSpeed” ,[ , , [“doRepeat” , “4” ,[ , ] ] , ] ] ] ] ]] , [ 87 , 1 , [ , [“doForever” ,[ [“changeVar:by:” , “X vel” , [“*” , [“-” , , ] , “2” ] ] , [“setVar:to:” , “X vel” , [“*” , , “0.8” ] ] , [“changeXposBy:” , ] , [“changeVar:by:” , “Y vel” , [“*” , [“-” , , ] , “2” ] ] , [“setVar:to:” , “Y vel” , [“*” , , “0.8” ] ] , [“changeYposBy:” , ] ] ] ]] ] }],“info”:{} }
(I remade smooth moving but with a square)
my variant but with stretch effect:
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "X vel" , "value": "-0.000007771251928629609" , "isPersistent":false} , {"name": "Y vel" , "value": "-0.006024052892904824" , "isPersistent":false} , {"name": "multiplier" , "value": "0.1" , "isPersistent":false} ] ,"scripts":[ [ 87 , 582 , [ ["whenGreenFlag" ] , ["doForever" ,[ ["changeVar:by:" , "X vel" , ["*" , ["-" , ["keyPressed:" , "right arrow" ] , ["keyPressed:" , "left arrow" ] ] , "2" ] ] , ["setVar:to:" , "X vel" , ["*" , ["readVariable" , "X vel" ] , "0.8" ] ] , ["changeXposBy:" , ["readVariable" , "X vel" ] ] , ["changeVar:by:" , "Y vel" , ["*" , ["-" , ["keyPressed:" , "up arrow" ] , ["keyPressed:" , "down arrow" ] ] , "2" ] ] , ["setVar:to:" , "Y vel" , ["*" , ["readVariable" , "Y vel" ] , "0.8" ] ] , ["changeYposBy:" , ["readVariable" , "Y vel" ] ] ] ] ]] , [ 91 , -29 , [ ["whenGreenFlag" ] , ["hide" ] , ["doAsk" , "what speed stretch multiplier you wan't? (recommend is 1)" ] , ["setVar:to:" , "multiplier" , ["answer" ] ] , ["doForever" ,[ ["warpSpeed" ,[ ["clearPenTrails" ] , ["putPenDown" ] , ["doIfElse" , [">" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] , "0" ] ,[ ["forward:" , ["+" , "25" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ,[ ["forward:" , ["-" , "25" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ] , ["turnLeft:" , "90" ] , ["doIfElse" , [">" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] , "0" ] ,[ ["forward:" , ["+" , "25" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ,[ ["forward:" , ["-" , "25" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ] , ["turnLeft:" , "90" ] , ["doIfElse" , [">" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] , "0" ] ,[ ["forward:" , ["+" , "25" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ,[ ["forward:" , ["-" , "25" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ] , ["turnLeft:" , "90" ] , ["doIfElse" , [">" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] , "0" ] ,[ ["forward:" , ["+" , "25" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ,[ ["forward:" , ["-" , "25" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ] , ["turnLeft:" , "90" ] , ["stampPolygon" ] ] ] ] ] ]] ] }],"info":{} }
- Princeliebe
-
Scratcher
10 posts
Scratch emulator (GriffScratch) saved projects
If you have a project you created in my scratch emulator you want to share then this is the place for you
https://scratch.mit.edu/projects/113321949/
Make sure you include a title / description of your project before you pasted json code!
HOLD ONSCRIPTS ARE NOT VIEWABLE CORRECTLY AFTER BEING PASTED IN LINE THIS. YOU CAN SEE THEN PROPERLY WHEN YOU CLICK QUOTE FOR A PARTICULAR POST BUT OTHERWISE IT'S NOT RIGHT.
(1) [1] [1 v] 1
- mark-sss
-
Scratcher
100+ posts
Scratch emulator (GriffScratch) saved projects
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "move increment" , "value": "301" , "isPersistent":false} , {"name": "direction increment" , "value": "301" , "isPersistent":false} ] ,"scripts":[ [ 49 , 107 , [ ["whenGreenFlag" ] , ["gotoX:y:" , "-25" , "-25" ] , ["setVar:to:" , "move increment" , "250" ] , ["setVar:to:" , "direction increment" , "250" ] , ["hide" ] , ["putPenDown" ] , ["broadcast:" , "message1" ] , ["doForever" ,[ ["forward:" , ["readVariable" , "move increment" ] ] , ["turnLeft:" , ["readVariable" , "direction increment" ] ] , ["changePenHueBy:" , "1" ] ] ] ]] , [ 50 , -20 , [ ["whenIReceive" , "message1" ] , ["doForever" ,[ ["wait:elapsed:from:" , "1" ] , ["changeVar:by:" , "move increment" , "1" ] , ["changeVar:by:" , "direction increment" , "1" ] ] ] ]] ] }],"info":{} }
This is a script which generates a very colored tunnel, which will make you feel that you will want to directly jump in it and have a very colored experience.
Make sure to turn Turbo Mode on for faster generation and a cool effect each second!
Thanks to @TheUltimatum for the idea of the JSON code converter (I don't know how it's exactly called). To make one, do (ignore the curly bracket in the front):{"[code=json]Paste your code here[/code]"
I know how JSON works.
This works like this:
{"key:":"value","next key:":"value"}
Other examples:
{"key":["1st","2nd","3rd","4th","5th element","..."]}
{"key":{"1st key":"value","2nd key","value"}}
{"key":50}
- KoopaTroopa121
-
Scratcher
12 posts
Scratch emulator (GriffScratch) saved projects
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 46 , 41 , [ , , , , [“doForever” ,[ [“doIfElse” , ,[ , ] ,[ [“doIfElse” , ,[ , ] ,[ [“doIfElse” , ,[ , ] ,[ [“doIf” , ,[ , ] ] ] ] ] ] ] ] ] ] ]] ] }],“info”:{} }
- ViggyMish
-
Scratcher
29 posts
Scratch emulator (GriffScratch) saved projects
2026 Countdown
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "days" , "value": "Days: 7" , "isPersistent":false} , {"name": "hrs" , "value": "Hours: 8" , "isPersistent":false} , {"name": "min" , "value": "Minutes: 20" , "isPersistent":false} , {"name": "sec" , "value": "Seconds: 18" , "isPersistent":false} ] ,"scripts":[ [ 74 , -147 , [ ["whenGreenFlag" ] , ["doForever" ,[ ["setVar:to:" , "days" , ["concatenate:with:" , "Days: " , ["-" , "31" , ["timeAndDate" , "date" ] ] ] ] , ["setVar:to:" , "hrs" , ["concatenate:with:" , "Hours: " , ["-" , "23" , ["timeAndDate" , "hour" ] ] ] ] , ["setVar:to:" , "min" , ["concatenate:with:" , "Minutes: " , ["-" , "59" , ["timeAndDate" , "minute" ] ] ] ] , ["setVar:to:" , "sec" , ["concatenate:with:" , "Seconds: " , ["-" , "59" , ["timeAndDate" , "second" ] ] ] ] ] ] ]] , [ 76 , 22 , [ ["whenGreenFlag" ] , ["hide" ] , ["doForever" ,[ ["warpSpeed" ,[ ["clearPenTrails" ] , ["penColor:" , "000000" ] , ["doIfElse" , [">" , ["timeAndDate" , "year" ] , "2025" ] ,[ ["gotoX:y:" , "0" , "0" ] , ["write" , "HAPPY NEW YEAR!" ] ] ,[ ["gotoX:y:" , "-100" , "100" ] , ["write" , "2026 COUNTDOWN" ] , ["gotoX:y:" , "-100" , "50" ] , ["write" , ["readVariable" , "days" ] ] , ["gotoX:y:" , "-100" , "0" ] , ["write" , ["readVariable" , "hrs" ] ] , ["gotoX:y:" , "-100" , "-50" ] , ["write" , ["readVariable" , "min" ] ] , ["gotoX:y:" , "-100" , "-100" ] , ["write" , ["readVariable" , "sec" ] ] ] ] ] ] ] ] ]] ] }],"info":{} }
Last edited by ViggyMish (Dec. 24, 2025 10:12:42)
- ViggyMish
-
Scratcher
29 posts
Scratch emulator (GriffScratch) saved projects
Pong In Scratch Emulator (?):
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ -104 , 228 , [ ]] , [ 260 , 340 , [ , , , , [“doRepeat” , “6” ,[ [“warpSpeed” ,[ [“gotoX:y:” , “-220” , ] , , [“gotoX:y:” , “220” , ] , , ] ] ] ] ]] , [ 42 , 336 , [ , , , [“setVar:to:” , “BallDir” , ] , , , [“doIf” , , “1” ] ,[ , , ] ] ]] , [ -98 , 145 , [ ]] , [ 23 , 44 , [ , , , , , , [“doForever” ,[ , , [“doIf” , [“>” , [“computeFunctionf:” , “abs” , ] , “240” ] ,[ [“doIfElse” , [“>” , , “0” ] ,[ [“doAsk” , [“concatenate:with:” , “You Lose with a score of: ” , [“concatenate:with:” , [“-” , , “1” ] , “ Play again? (Y/N)” ] ] ] , [“doIfElse” , , “Y” ] ,[ , ] ,[ ] ] ] ,[ , ] ] ] ] , [“doIf” , [“>” , [“computeFunction
f:” , “abs” , ] , “75” ] ,[ [“setVar:to:” , “BallDir” , [“-” , “180” , ] ] ] ] ] ] ]] , [ 311 , 20 , [ , , , , [“warpSpeed” ,[ [“setVar:to:” , “BallX” , [“+” , , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] ] , [“setVar:to:” , “BallY” , [“+” , , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] ] , [“gotoX:y:” , , ] , , , [“gotoX:y:” , “160” , [“+” , , [“/” , , “2” ] ] ] , , [“changeYposBy:” , [“-” , “” , ] ] , , [“gotoX:y:” , “-160” , [“+” , , [“/” , , “2” ] ] ] , , [“changeYposBy:” , [“-” , “” , ] ] , , [“doIf” , ,[ ] ] , [“doIf” , ,[ ] ] , [“changeVar:by:” , “PlayerY” , ] , [“setVar:to:” , “Yvel” , [“*” , , “0.85” ] ] , [“doIf” , [“>” , , “50” ] ,[ , ] ] , [“doIf” , [“<” , , “-50” ] ,[ , ] ] , [“doIf” , [“>” , , [“+” , , [“/” , “10” , ] ] ] ,[ ] ] , [“doIf” , [“<” , , [“-” , , [“/” , “10” , ] ] ] ,[ ] ] , [“changeVar:by:” , “OppY” , ] , [“setVar:to:” , “OppYvel” , [“*” , , “0.8” ] ] , [“doIf” , [“>” , , “50” ] ,[ , ] ] , [“doIf” , [“<” , , “-50” ] ,[ , ] ] , [“doIf” , [“&” , [“&” , [“<” , [“-” , , [“/” , , “2” ] ] , ] , [“<” , , [“+” , , [“/” , , “2” ] ] ] ] , [“&” , [“<” , “152.5” , ] , [“<” , , “167.5” ] ] ] ,[ , [“doIfElse” , [“>” , , “0” ] ,[ [“setVar:to:” , “BallDir” , [“+” , [“-” , “” , ] , [“*” , , “3” ] ] ] ] ,[ [“setVar:to:” , “BallDir” , [“-” , “” , [“+” , , [“*” , , “3” ] ] ] ] ] ] , [“doUntil” , [“not” , [“&” , [“&” , [“<” , [“-” , , [“/” , , “2” ] ] , ] , [“<” , , [“+” , , [“/” , , “2” ] ] ] ] , [“&” , [“<” , “155” , ] , [“<” , , “165” ] ] ] ] ,[ [“setVar:to:” , “BallX” , [“+” , , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] ] , [“setVar:to:” , “BallY” , [“+” , , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] ] ] ] ] ] , [“doIf” , [“&” , [“&” , [“<” , [“-” , , [“/” , , “2” ] ] , ] , [“<” , , [“+” , , [“/” , , “2” ] ] ] ] , [“&” , [“<” , “-167.5” , ] , [“<” , , “-152.5” ] ] ] ,[ , [“setVar:to:” , “BallDir” , [“-” , “” , ] ] , [“doUntil” , [“not” , [“&” , [“&” , [“<” , [“-” , , [“/” , , “2” ] ] , ] , [“<” , , [“+” , , [“/” , , “2” ] ] ] ] , [“&” , [“<” , “-167.5” , ] , [“<” , , “-152.5” ] ] ] ] ,[ [“setVar:to:” , “BallX” , [“+” , , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] ] , [“setVar:to:” , “BallY” , [“+” , , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] ] ] ] ] ] ] ] ]] ] }],“info”:{} }
Yeah… it's just a little bit bigger than expected… Just a little…
The save code is extremely long so you can put it in JSON format.
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "LineY" , "value": "-1050" , "isPersistent":false} , {"name": "PlayerY" , "value": "50" , "isPersistent":false} , {"name": "BatWidth" , "value": "50" , "isPersistent":false} , {"name": "Yvel" , "value": "0" , "isPersistent":false} , {"name": "BallX" , "value": "247.46230455120693" , "isPersistent":false} , {"name": "BallY" , "value": "4.319470593227637" , "isPersistent":false} , {"name": "BallVel" , "value": "4.5" , "isPersistent":false} , {"name": "BallDir" , "value": "89" , "isPersistent":false} , {"name": "OppY" , "value": "-5.002749388988082" , "isPersistent":false} , {"name": "First" , "value": "0" , "isPersistent":false} , {"name": "OppYvel" , "value": "0.0005498777976192306" , "isPersistent":false} , {"name": "Difficulty" , "value": "1" , "isPersistent":false} ] ,"scripts":[ [ -104 , 228 , [ ["-" , "" , "90" ] ]] , [ 260 , 340 , [ ["whenIReceive" , "FillBackground" ] , ["penSize:" , "100" ] , ["penColor:" , "0x000000" ] , ["setVar:to:" , "LineY" , "150" ] , ["doRepeat" , "6" ,[ ["warpSpeed" ,[ ["gotoX:y:" , "-220" , ["readVariable" , "LineY" ] ] , ["putPenDown" ] , ["gotoX:y:" , "220" , ["readVariable" , "LineY" ] ] , ["putPenUp" ] , ["changeVar:by:" , "LineY" , "-75" ] ] ] ] ] ]] , [ 42 , 336 , [ ["whenIReceive" , "Game Loop Init" ] , ["setVar:to:" , "BatWidth" , "50" ] , ["setVar:to:" , "BallVel" , "4.5" ] , ["setVar:to:" , "BallDir" , ["randomFrom:to:" , "45" , "135" ] ] , ["setVar:to:" , "BallX" , "0" ] , ["setVar:to:" , "BallY" , "0" ] , ["doIf" , ["=" , ["readVariable" , "First" ] , "1" ] ,[ ["setVar:to:" , "PlayerY" , "0" ] , ["setVar:to:" , "OppY" , "0" ] , ["setVar:to:" , "First" , "0" ] ] ] ]] , [ -98 , 145 , [ ["/" , "" , "12" ] ]] , [ 23 , 44 , [ ["whenGreenFlag" ] , ["hide" ] , ["setVar:to:" , "Difficulty" , "1" ] , ["setVar:to:" , "First" , "1" ] , ["broadcast:" , "Game Loop Init" ] , ["wait:elapsed:from:" , "1" ] , ["doForever" ,[ ["clearPenTrails" ] , ["broadcast:" , "Main" ] , ["doIf" , [">" , ["computeFunction:of:" , "abs" , ["readVariable" , "BallX" ] ] , "240" ] ,[ ["doIfElse" , [">" , ["readVariable" , "BallX" ] , "0" ] ,[ ["doAsk" , ["concatenate:with:" , "You Lose with a score of: " , ["concatenate:with:" , ["-" , ["readVariable" , "Difficulty" ] , "1" ] , " Play again? (Y/N)" ] ] ] , ["doIfElse" , ["=" , ["answer" ] , "Y" ] ,[ ["setVar:to:" , "Difficulty" , "1" ] , ["broadcast:" , "Game Loop Init" ] ] ,[ ["stopScripts" , "all" ] ] ] ] ,[ ["broadcast:" , "Game Loop Init" ] , ["changeVar:by:" , "Difficulty" , "1" ] ] ] ] ] , ["doIf" , [">" , ["computeFunction:of:" , "abs" , ["readVariable" , "BallY" ] ] , "75" ] ,[ ["setVar:to:" , "BallDir" , ["-" , "180" , ["readVariable" , "BallDir" ] ] ] ] ] ] ] ]] , [ 311 , 20 , [ ["whenIReceive" , "Main" ] , ["broadcast:" , "FillBackground" ] , ["penColor:" , "0xffffff" ] , ["penSize:" , "5" ] , ["warpSpeed" ,[ ["setVar:to:" , "BallX" , ["+" , ["readVariable" , "BallX" ] , ["*" , ["computeFunction:of:" , "sin" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] , ["setVar:to:" , "BallY" , ["+" , ["readVariable" , "BallY" ] , ["*" , ["computeFunction:of:" , "cos" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] , ["gotoX:y:" , ["readVariable" , "BallX" ] , ["readVariable" , "BallY" ] ] , ["putPenDown" ] , ["putPenUp" ] , ["gotoX:y:" , "160" , ["+" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] , ["putPenDown" ] , ["changeYposBy:" , ["-" , "" , ["readVariable" , "BatWidth" ] ] ] , ["putPenUp" ] , ["gotoX:y:" , "-160" , ["+" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] , ["putPenDown" ] , ["changeYposBy:" , ["-" , "" , ["readVariable" , "BatWidth" ] ] ] , ["putPenUp" ] , ["doIf" , ["keyPressed:" , "up arrow" ] ,[ ["changeVar:by:" , "Yvel" , "1" ] ] ] , ["doIf" , ["keyPressed:" , "down arrow" ] ,[ ["changeVar:by:" , "Yvel" , "-1" ] ] ] , ["changeVar:by:" , "PlayerY" , ["readVariable" , "Yvel" ] ] , ["setVar:to:" , "Yvel" , ["*" , ["readVariable" , "Yvel" ] , "0.85" ] ] , ["doIf" , [">" , ["readVariable" , "PlayerY" ] , "50" ] ,[ ["setVar:to:" , "PlayerY" , "50" ] , ["setVar:to:" , "Yvel" , "0" ] ] ] , ["doIf" , ["<" , ["readVariable" , "PlayerY" ] , "-50" ] ,[ ["setVar:to:" , "PlayerY" , "-50" ] , ["setVar:to:" , "Yvel" , "0" ] ] ] , ["doIf" , [">" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "OppY" ] , ["/" , "10" , ["readVariable" , "Difficulty" ] ] ] ] ,[ ["changeVar:by:" , "OppYvel" , "1" ] ] ] , ["doIf" , ["<" , ["readVariable" , "BallY" ] , ["-" , ["readVariable" , "OppY" ] , ["/" , "10" , ["readVariable" , "Difficulty" ] ] ] ] ,[ ["changeVar:by:" , "OppYvel" , "-1" ] ] ] , ["changeVar:by:" , "OppY" , ["readVariable" , "OppYvel" ] ] , ["setVar:to:" , "OppYvel" , ["*" , ["readVariable" , "OppYvel" ] , "0.8" ] ] , ["doIf" , [">" , ["readVariable" , "OppY" ] , "50" ] ,[ ["setVar:to:" , "OppY" , "50" ] , ["setVar:to:" , "OppYvel" , "0" ] ] ] , ["doIf" , ["<" , ["readVariable" , "OppY" ] , "-50" ] ,[ ["setVar:to:" , "OppY" , "-50" ] , ["setVar:to:" , "OppYvel" , "0" ] ] ] , ["doIf" , ["&" , ["&" , ["<" , ["-" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] , ["readVariable" , "BallY" ] ] , ["<" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] ] , ["&" , ["<" , "152.5" , ["readVariable" , "BallX" ] ] , ["<" , ["readVariable" , "BallX" ] , "167.5" ] ] ] ,[ ["changeVar:by:" , "BallVel" , "0.25" ] , ["doIfElse" , [">" , ["readVariable" , "BallDir" ] , "0" ] ,[ ["setVar:to:" , "BallDir" , ["+" , ["-" , "" , ["readVariable" , "BallDir" ] ] , ["*" , ["readVariable" , "Yvel" ] , "3" ] ] ] ] ,[ ["setVar:to:" , "BallDir" , ["-" , "" , ["+" , ["readVariable" , "BallDir" ] , ["*" , ["readVariable" , "Yvel" ] , "3" ] ] ] ] ] ] , ["doUntil" , ["not" , ["&" , ["&" , ["<" , ["-" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] , ["readVariable" , "BallY" ] ] , ["<" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] ] , ["&" , ["<" , "155" , ["readVariable" , "BallX" ] ] , ["<" , ["readVariable" , "BallX" ] , "165" ] ] ] ] ,[ ["setVar:to:" , "BallX" , ["+" , ["readVariable" , "BallX" ] , ["*" , ["computeFunction:of:" , "sin" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] , ["setVar:to:" , "BallY" , ["+" , ["readVariable" , "BallY" ] , ["*" , ["computeFunction:of:" , "cos" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] ] ] ] ] , ["doIf" , ["&" , ["&" , ["<" , ["-" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] , ["readVariable" , "BallY" ] ] , ["<" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] ] , ["&" , ["<" , "-167.5" , ["readVariable" , "BallX" ] ] , ["<" , ["readVariable" , "BallX" ] , "-152.5" ] ] ] ,[ ["changeVar:by:" , "BallVel" , "0.25" ] , ["setVar:to:" , "BallDir" , ["-" , "" , ["readVariable" , "BallDir" ] ] ] , ["doUntil" , ["not" , ["&" , ["&" , ["<" , ["-" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] , ["readVariable" , "BallY" ] ] , ["<" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] ] , ["&" , ["<" , "-167.5" , ["readVariable" , "BallX" ] ] , ["<" , ["readVariable" , "BallX" ] , "-152.5" ] ] ] ] ,[ ["setVar:to:" , "BallX" , ["+" , ["readVariable" , "BallX" ] , ["*" , ["computeFunction:of:" , "sin" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] , ["setVar:to:" , "BallY" , ["+" , ["readVariable" , "BallY" ] , ["*" , ["computeFunction:of:" , "cos" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] ] ] ] ] ] ] ]] ] }],"info":{} }
- ViggyMish
-
Scratcher
29 posts
Scratch emulator (GriffScratch) saved projects
And without JSON it will have faces
Last edited by ViggyMish (Dec. 24, 2025 10:30:14)
- itsameluigi101-test
-
Scratcher
1 post
Scratch emulator (GriffScratch) saved projects
Just a quick talk with scratch cat! Here it is: {“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 94 , 27 , [ , [“doUntil” , [“<” , , “1” ] ,[ ] ] , , , , , , , , [“doUntil” , [“>” , , ] ,[ [“say:” , [“getLine
fList:” , , “Looping” ] ] , , ] ] ]] ] }],“info”:{} }
fList:” , , “Looping” ] ] , , ] ] ]] ] }],“info”:{} }- 32ships
-
Scratcher
15 posts
Scratch emulator (GriffScratch) saved projects
when green flag clicked
if monser then
destroy
end
- adh-man
-
Scratcher
26 posts
Scratch emulator (GriffScratch) saved projects
when green flag clicked
define (☁ score)
say [scrary]
- Olivia_AM
-
Scratcher
100+ posts
Scratch emulator (GriffScratch) saved projects
MR.SQUEAK’S REMIX
Title:“All hidden blocks”.
Description:“ I created this by making a script inside the project that added every single obsolete (color=12) block be added to the custom category, thus being able to obtain all. I Ethen sorted them into the categories they should’ve been in, and got this project.”
Title:“All hidden blocks”.
Description:“ I created this by making a script inside the project that added every single obsolete (color=12) block be added to the custom category, thus being able to obtain all. I Ethen sorted them into the categories they should’ve been in, and got this project.”
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "Variables ##############################################" , "value": "" , "isPersistent":false} , {"name": "var" , "value": "" , "isPersistent":false} ] ,"customBlocks":[ {"name": "%n %b %s whoo" } , {"name": "[]" } ] ,"scripts":[ [ 134 , -627 , [ ["turnAwayFromEdge" ] ]] , [ 133 , -588 , [ ["scrollUp" , "" ] ]] , [ 138 , -603 , [ ["yScroll" ] ]] , [ 221 , -607 , [ ["scrollAlign" , "middle" ] ]] , [ 214 , -573 , [ ["glideSecs:toX:y:elapsed:from:" , "1" , "0" , "0" ] ]] , [ 28 , -611 , [ ["xScroll" ] ]] , [ 22 , -594 , [ ["scrollRight" , "" ] ]] , [ 24 , -560 , [ ["say:" , "Looks ###############################################" ] ]] , [ 26 , -528 , [ ["startSceneAndWait" , "" ] , ["startScene" , "" ] ]] , [ 27 , -476 , [ ["nextScene" ] ]] , [ 31 , -458 , [ ["sceneName" ] ]] , [ 171 , -479 , [ ["nextCostume" ] , ["lookLike:" , "" ] ]] , [ 194 , -509 , [ ["hideAll" ] ]] , [ 23 , -400 , [ ["rest:elapsed:from:" , "Sound ##############################################" ] ]] , [ 198 , -378 , [ ["instrument:" , "1" ] ]] , [ 270 , -486 , [ ["fxTest" , "" ] ]] , [ 29 , -366 , [ ["drum:duration:elapsed:from:" , "1" , "1" ] ]] , [ 22 , -650 , [ ["forward:" , "Motion ##############################################" ] ]] , [ 25 , -279 , [ ["write" , "Pen ##############################################" ] ]] , [ 72 , -258 , [ ["stampPoly:list:" , "1" , "list" ] ]] , [ 29 , -229 , [ ["readVariable" , "Variables ##############################################" ] ]] , [ 28 , -142 , [ ["broadcast:" , "events ##############################################" ] ]] , [ 34 , -120 , [ ["whenSensorGreaterThan" , "loudness" , "10" ] ]] , [ 167 , -117 , [ ["whenSceneStarts" , "" ] ]] , [ 58 , -93 , [ ["whenKeyPressed" , "space" ] ]] , [ 212 , -88 , [ ["whenClicked" ] ]] , [ 29 , -58 , [ ["wait:elapsed:from:" , "Control ##############################################" ] ]] , [ 45 , -30 , [ ["doWhile" ] ]] , [ 117 , -31 , [ ["doForLoop" , "var" , "" ] ]] , [ 254 , -30 , [ ["doForeverIf" ] ]] , [ 59 , 22 , [ ["COUNT" ] ]] , [ 62 , 37 , [ ["CLR_COUNT" ] , ["INCR_COUNT" ] ]] , [ 33 , 77 , [ ["doAsk" , "Sensing ##############################################" ] , ["setVideoState" , "on" ] ]] , [ 160 , 99 , [ ["setVideoTransparency" , "50" ] ]] , [ 44 , 122 , [ ["sensorPressed:" , "button pressed" ] ]] , [ 212 , 122 , [ ["sensor:" , "slider" ] ]] , [ 50 , 143 , [ ["senseVideoMotion" , "motion" , "this sprite" ] ]] , [ 249 , 146 , [ ["isLoud" ] ]] , [ 295 , 148 , [ ["getUserId" ] ]] , [ 38 , 193 , [ ["+" , "Operators ##############################################" , "" ] ]] , [ 147 , 167 , [ ["getAttribute:of:" , "x position" , "sprite" ] ]] , [ 169 , 21 , [ ["doReturn" ] ]] , [ 184 , 45 , [ ["stopAll" ] ]] , [ 45 , 216 , [ ["sqrt" , "" ] ]] , [ 108 , 220 , [ ["abs" , "" ] ]] , [ 44 , 244 , [ ["undefined" , "2" , "Other ##############################################" ] ]] , [ 92 , 272 , [ ["obsolete" ] ]] , [ 67 , -210 , [ ["contentsOfList:" , "Lists ##############################################" ] ]] , [ 124 , -188 , [ ["hideList:" , "list" ] , ["showList:" , "list" ] ]] , [ 32 , -445 , [ ["backgroundIndex" ] ]] , [ 127 , -439 , [ ["costumeName" ] ]] , [ 142 , -419 , [ ["costumeIndex" ] ]] , [ 241 , -435 , [ ["goBackByLayers:" , "1" ] , ["comeToFront" ] ]] , [ 241 , -532 , [ ["sayNothing" ] ]] , [ 102 , -339 , [ ["stopSound:" , "meow" ] , ["playSound:" , "meow" ] , ["doPlaySoundAndWait" , "meow" ] ]] ] }],"info":{} }
Last edited by Olivia_AM (Dec. 31, 2025 18:24:54)
- Nividim
-
Scratcher
32 posts
Scratch emulator (GriffScratch) saved projects
Just for fun, I decided to port my bubble sorting project to this emulator and… good golly it's slow. It took it about 3 seconds for it to be done sorting 100 numbers! Granted, it's also rendering an entire list, but… come on!!
…and also an updated “lite” version that doesn't show the list while it's sorting
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "status" , "value": "Finished, completed in 2.7780000000000005 seconds" , "isPersistent":false} , {"name": "os" , "value": "" , "isPersistent":false} , {"name": "sorted?" , "value": "1" , "isPersistent":false} , {"name": "i" , "value": "63" , "isPersistent":false} , {"name": "n" , "value": "100" , "isPersistent":false} , {"name": "a" , "value": "92" , "isPersistent":false} , {"name": "sample size" , "value": "100" , "isPersistent":false} , {"name": "b" , "value": "10" , "isPersistent":false} , {"name": "c" , "value": "9" , "isPersistent":false} ] ,"scripts":[ [ 94 , -1376 , [ ["whenGreenFlag" ] , ["hide" ] , ["setVar:to:" , "os" , "" ] , ["setVar:to:" , "status" , "Initializing" ] , ["deleteLine:ofList:" , "all" , "samples" ] , ["doAsk" , "Sample size?" ] , ["setVar:to:" , "sample size" , ["answer" ] ] , ["setVar:to:" , "status" , "Sampling" ] , ["broadcast:" , "make random sample" ] , ["setVar:to:" , "status" , "Sorting" ] , ["timerReset" ] , ["doBroadcastAndWait" , "bubble sort!" ] , ["setVar:to:" , "i" , "0" ] , ["setVar:to:" , "status" , "Finished, completed in " ] , ["setVar:to:" , "status" , ["concatenate:with:" , ["readVariable" , "status" ] , ["timer" ] ] ] , ["setVar:to:" , "status" , ["concatenate:with:" , ["readVariable" , "status" ] , " seconds" ] ] ]] , [ 95 , -817 , [ ["whenIReceive" , "make random sample" ] , ["deleteLine:ofList:" , "all" , "samples" ] , ["setVar:to:" , "a" , ["randomFrom:to:" , "1" , ["readVariable" , "sample size" ] ] ] , ["warpSpeed" ,[ ["doRepeat" , ["readVariable" , "sample size" ] ,[ ["doUntil" , ["not" , ["list:contains:" , "samples" , ["readVariable" , "a" ] ] ] ,[ ["setVar:to:" , "a" , ["randomFrom:to:" , "1" , ["readVariable" , "sample size" ] ] ] ] ] , ["append:toList:" , ["readVariable" , "a" ] , "samples" ] ] ] ] ] ]] , [ 95 , -615 , [ ["whenIReceive" , "bubble sort!" ] , ["warpSpeed" ,[ ["setVar:to:" , "sorted?" , "0" ] , ["doUntil" , ["=" , ["readVariable" , "sorted?" ] , "1" ] ,[ ["setVar:to:" , "i" , "1" ] , ["doRepeat" , ["-" , ["lineCountOfList:" , "samples" ] , "1" ] ,[ ["doIf" , [">" , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] , ["getLine:ofList:" , ["+" , ["readVariable" , "i" ] , "1" ] , "samples" ] ] ,[ ["setVar:to:" , "b" , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] ] , ["setVar:to:" , "c" , ["getLine:ofList:" , ["+" , ["readVariable" , "i" ] , "1" ] , "samples" ] ] , ["setLine:ofList:to:" , ["readVariable" , "i" ] , "samples" , ["readVariable" , "c" ] ] , ["setLine:ofList:to:" , ["+" , ["readVariable" , "i" ] , "1" ] , "samples" , ["readVariable" , "b" ] ] ] ] , ["changeVar:by:" , "i" , "1" ] ] ] , ["doBroadcastAndWait" , "check if sorted" ] ] ] ] ] ]] , [ 92 , -1645 , [ ["whenGreenFlag" ] , ["broadcast:" , "preview list" ] , ["stopScripts" , "this script" ] , ["doForever" ,[ ["doIf" , ["=" , ["letter:of:" , "1" , ["readVariable" , "status" ] ] , "f" ] ,[ ["broadcast:" , "preview list" ] , ["stopScripts" , "this script" ] ] ] , ["clearPenTrails" ] , ["gotoX:y:" , ["*" , "-0.5" , ["widthOfText:" , ["readVariable" , "status" ] ] ] , "0" ] , ["write" , ["readVariable" , "status" ] ] , ["setVar:to:" , "os" , ["readVariable" , "status" ] ] , ["doWaitUntil" , ["not" , ["=" , ["readVariable" , "os" ] , ["readVariable" , "status" ] ] ] ] ] ] ]] , [ 95 , -302 , [ ["whenIReceive" , "preview list" ] , ["setVar:to:" , "i" , "1" ] , ["doForever" ,[ ["warpSpeed" ,[ ["clearPenTrails" ] , ["gotoX:y:" , "-220" , "160" ] , ["write" , "Array of numbers:" ] , ["changeYposBy:" , "-10" ] , ["doRepeat" , "27" ,[ ["doIf" , ["&" , ["<" , ["readVariable" , "i" ] , ["+" , ["lineCountOfList:" , "samples" ] , "1" ] ] , [">" , ["readVariable" , "i" ] , "0" ] ] ,[ ["write" , ["concatenate:with:" , "Item " , ["concatenate:with:" , ["readVariable" , "i" ] , ["concatenate:with:" , ": " , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] ] ] ] ] ] ] , ["changeYposBy:" , "-10" ] , ["changeVar:by:" , "i" , "1" ] ] ] , ["doRepeat" , "27" ,[ ["changeVar:by:" , "i" , "-1" ] ] ] , ["write" , ["readVariable" , "status" ] ] , ["changeYposBy:" , "-10" ] , ["write" , "Up/down arrow keys to scroll" ] , ["changeYposBy:" , "-10" ] , ["write" , "Made by Nividim" ] ] ] ] ] ]] , [ 94 , -1072 , [ ["whenIReceive" , "check if sorted" ] , ["setVar:to:" , "i" , "1" ] , ["setVar:to:" , "sorted?" , "1" ] , ["setVar:to:" , "n" , "0" ] , ["warpSpeed" ,[ ["doUntil" , ["|" , [">" , ["readVariable" , "i" ] , ["lineCountOfList:" , "samples" ] ] , ["=" , ["readVariable" , "sorted?" ] , "0" ] ] ,[ ["doIfElse" , [">" , ["readVariable" , "n" ] , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] ] ,[ ["setVar:to:" , "sorted?" , "0" ] ] ,[ ["setVar:to:" , "n" , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] ] ] ] , ["changeVar:by:" , "i" , "1" ] ] ] ] ] ]] , [ 95 , 161 , [ ["whenIReceive" , "preview list" ] , ["doForever" ,[ ["doWaitUntil" , ["keyPressed:" , "any" ] ] , ["doIf" , ["keyPressed:" , "up arrow" ] ,[ ["changeVar:by:" , "i" , "-1" ] ] ] , ["doIf" , ["keyPressed:" , "down arrow" ] ,[ ["changeVar:by:" , "i" , "1" ] ] ] , ["wait:elapsed:from:" , "0" ] ] ] ]] ] }],"info":{} }
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "status" , "value": "Finished, completed in 3.157 seconds" , "isPersistent":false} , {"name": "os" , "value": "" , "isPersistent":false} , {"name": "sorted?" , "value": "1" , "isPersistent":false} , {"name": "i" , "value": "-12" , "isPersistent":false} , {"name": "n" , "value": "100" , "isPersistent":false} , {"name": "a" , "value": "80" , "isPersistent":false} , {"name": "sample size" , "value": "100" , "isPersistent":false} , {"name": "b" , "value": "6" , "isPersistent":false} , {"name": "c" , "value": "5" , "isPersistent":false} , {"name": "i can haz preview?" , "value": "1" , "isPersistent":false} ] ,"scripts":[ [ 94 , -1278 , [ ["whenGreenFlag" ] , ["setVar:to:" , "i can haz preview?" , "1" ] , ["hide" ] , ["setVar:to:" , "os" , "" ] , ["setVar:to:" , "status" , "Initializing" ] , ["deleteLine:ofList:" , "all" , "samples" ] , ["doAsk" , "Sample size?" ] , ["setVar:to:" , "sample size" , ["answer" ] ] , ["setVar:to:" , "status" , "Sampling" ] , ["setVar:to:" , "i can haz preview?" , "0" ] , ["broadcast:" , "make random sample" ] , ["setVar:to:" , "status" , "Sorting" ] , ["timerReset" ] , ["doBroadcastAndWait" , "bubble sort!" ] , ["setVar:to:" , "i" , "0" ] , ["setVar:to:" , "status" , "Finished, completed in " ] , ["setVar:to:" , "status" , ["concatenate:with:" , ["readVariable" , "status" ] , ["timer" ] ] ] , ["setVar:to:" , "status" , ["concatenate:with:" , ["readVariable" , "status" ] , " seconds" ] ] , ["setVar:to:" , "i can haz preview?" , "1" ] , ["broadcast:" , "preview list" ] ]] , [ 92 , -1547 , [ ["whenGreenFlag" ] , ["setVar:to:" , "i can haz preview?" , "1" ] , ["broadcast:" , "preview list" ] , ["stopScripts" , "this script" ] , ["doForever" ,[ ["doIf" , ["=" , ["letter:of:" , "1" , ["readVariable" , "status" ] ] , "f" ] ,[ ["broadcast:" , "preview list" ] , ["stopScripts" , "this script" ] ] ] , ["clearPenTrails" ] , ["gotoX:y:" , ["*" , "-0.5" , ["widthOfText:" , ["readVariable" , "status" ] ] ] , "0" ] , ["write" , ["readVariable" , "status" ] ] , ["setVar:to:" , "os" , ["readVariable" , "status" ] ] , ["doWaitUntil" , ["not" , ["=" , ["readVariable" , "os" ] , ["readVariable" , "status" ] ] ] ] ] ] ]] , [ 92 , -689 , [ ["whenIReceive" , "make random sample" ] , ["deleteLine:ofList:" , "all" , "samples" ] , ["setVar:to:" , "a" , ["randomFrom:to:" , "1" , ["readVariable" , "sample size" ] ] ] , ["warpSpeed" ,[ ["doRepeat" , ["readVariable" , "sample size" ] ,[ ["doUntil" , ["not" , ["list:contains:" , "samples" , ["readVariable" , "a" ] ] ] ,[ ["setVar:to:" , "a" , ["randomFrom:to:" , "1" , ["readVariable" , "sample size" ] ] ] ] ] , ["append:toList:" , ["readVariable" , "a" ] , "samples" ] ] ] ] ] ]] , [ 91 , -487 , [ ["whenIReceive" , "bubble sort!" ] , ["warpSpeed" ,[ ["setVar:to:" , "sorted?" , "0" ] , ["doUntil" , ["=" , ["readVariable" , "sorted?" ] , "1" ] ,[ ["setVar:to:" , "i" , "1" ] , ["doRepeat" , ["-" , ["lineCountOfList:" , "samples" ] , "1" ] ,[ ["doIf" , [">" , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] , ["getLine:ofList:" , ["+" , ["readVariable" , "i" ] , "1" ] , "samples" ] ] ,[ ["setVar:to:" , "b" , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] ] , ["setVar:to:" , "c" , ["getLine:ofList:" , ["+" , ["readVariable" , "i" ] , "1" ] , "samples" ] ] , ["setLine:ofList:to:" , ["readVariable" , "i" ] , "samples" , ["readVariable" , "c" ] ] , ["setLine:ofList:to:" , ["+" , ["readVariable" , "i" ] , "1" ] , "samples" , ["readVariable" , "b" ] ] ] ] , ["changeVar:by:" , "i" , "1" ] ] ] , ["doBroadcastAndWait" , "check if sorted" ] ] ] ] ] ]] , [ 87 , -158 , [ ["whenIReceive" , "preview list" ] , ["setVar:to:" , "i" , "1" ] , ["doForever" ,[ ["warpSpeed" ,[ ["clearPenTrails" ] , ["doIf" , ["=" , ["readVariable" , "i can haz preview?" ] , "0" ] ,[ ["stopScripts" , "this script" ] ] ] , ["gotoX:y:" , "-220" , "160" ] , ["write" , "Array of numbers:" ] , ["changeYposBy:" , "-10" ] , ["doRepeat" , "30" ,[ ["doIf" , ["&" , ["<" , ["readVariable" , "i" ] , ["+" , ["lineCountOfList:" , "samples" ] , "1" ] ] , [">" , ["readVariable" , "i" ] , "0" ] ] ,[ ["write" , ["concatenate:with:" , "Item " , ["concatenate:with:" , ["readVariable" , "i" ] , ["concatenate:with:" , ": " , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] ] ] ] ] ] ] , ["changeYposBy:" , "-10" ] , ["changeVar:by:" , "i" , "1" ] ] ] , ["doRepeat" , "30" ,[ ["changeVar:by:" , "i" , "-1" ] ] ] , ["write" , ["readVariable" , "status" ] ] , ["changeYposBy:" , "-10" ] , ["write" , "Up/down arrow keys to scroll" ] , ["changeYposBy:" , "-10" ] , ["write" , "Made by Nividim" ] ] ] ] ] ]] , [ 88 , 352 , [ ["whenIReceive" , "preview list" ] , ["doForever" ,[ ["doWaitUntil" , ["|" , ["keyPressed:" , "any" ] , ["=" , ["readVariable" , "i can haz preview?" ] , "0" ] ] ] , ["doIf" , ["keyPressed:" , "up arrow" ] ,[ ["changeVar:by:" , "i" , "-1" ] ] ] , ["doIf" , ["keyPressed:" , "down arrow" ] ,[ ["changeVar:by:" , "i" , "1" ] ] ] , ["wait:elapsed:from:" , "0" ] , ["doIf" , ["=" , ["readVariable" , "i can haz preview?" ] , "0" ] ,[ ["stopScripts" , "this script" ] ] ] ] ] ]] , [ 257 , -910 , [ ["whenIReceive" , "check if sorted" ] , ["setVar:to:" , "i" , "1" ] , ["setVar:to:" , "sorted?" , "1" ] , ["setVar:to:" , "n" , "0" ] , ["warpSpeed" ,[ ["doUntil" , ["|" , [">" , ["readVariable" , "i" ] , ["lineCountOfList:" , "samples" ] ] , ["=" , ["readVariable" , "sorted?" ] , "0" ] ] ,[ ["doIfElse" , [">" , ["readVariable" , "n" ] , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] ] ,[ ["setVar:to:" , "sorted?" , "0" ] ] ,[ ["setVar:to:" , "n" , ["getLine:ofList:" , ["readVariable" , "i" ] , "samples" ] ] ] ] , ["changeVar:by:" , "i" , "1" ] ] ] ] ] ]] ] }],"info":{} }
Last edited by Nividim (Jan. 4, 2026 17:52:25)
- maikurakun_828
-
Scratcher
500+ posts
Scratch emulator (GriffScratch) saved projects
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ -104 , 228 , ] , [ 260 , 340 , [ , , , , [“doRepeat” , “6” ,[ [“warpSpeed” ,[ , , , , ] ] ] ] ]] , [ 42 , 336 , [ , , , , , , , ] ]] , [ -98 , 145 , ] , [ 23 , 44 , [ , , , , , , [“doForever” ,[ , , [“doIf” , [“>” , , “240” ] ,[ [“doIfElse” , ,[ [“doAsk” , [“concatenate:with:” , “You Lose with a score of: ” , [“concatenate:with:” , , “ Play again? (Y/N)” ] ] ] , , , ] ] , ] ] ] , [“doIf” , [“>” , , “75” ] ,[ [“setVar:to:” , “BallDir” , ] ] ] ] ] ]] , [ 311 , 20 , [ , , , , [“warpSpeed” ,[ [“setVar:to:” , “BallX” , [“+” , , [“*” , , ] ] ] , [“setVar:to:” , “BallY” , [“+” , , [“*” , , ] ] ] , , , , [“gotoX:y:” , “160” , [“+” , , ] ] , , [“changeYposBy:” , ] , , [“gotoX:y:” , “-160” , [“+” , , ] ] , , [“changeYposBy:” , ] , , [“doIf” , , ] , [“doIf” , , ] , , [“setVar:to:” , “Yvel” , ] , [“doIf” , , ] , [“doIf” , , ] , [“doIf” , [“>” , , [“+” , , ] ] , ] , [“doIf” , [“<” , , [“-” , , ] ] , ] , , [“setVar:to:” , “OppYvel” , ] , [“doIf” , , ] , [“doIf” , , ] , [“doIf” , [“&” ,[“&” , [“<” , [“-” , , ] , ] , [“<” , , [“+” , , ] ] ] , [“&” , , ] ] ,[ , [“doIfElse” , ,[ [“setVar:to:” , “BallDir” , [“+” , , ] ] ] ,[ [“setVar:to:” , “BallDir” , [“-” , “” , [“+” , , ] ] ] ] ] , [“doUntil” , [“not” , [“&” , [“&” , [“<” , [“-” , , ] , ] , [“<” , , [“+” , , ] ] ] , [“&” , , ] ] ] ,[ [“setVar:to:” , “BallX” , [“+” , , [“*” , , ] ] ] , [“setVar:to:” , “BallY” , [“+” , , [“*” , , ] ] ] ] ] ] ] , [“doIf” , [“&” , [“&” , [“<” , [“-” , , ] , ] , [“<” , , [“+” , , ] ] ] , [“&” , , ] ] ,[ , [“setVar:to:” , “BallDir” , ] , [“doUntil” , [“not” , [“&” , [“&” , [“<” , [“-” , , ] , ] , [“<” , , [“+” , , ] ] ] , [“&” , , ] ] ] ,[ [“setVar:to:” , “BallX” , [“+” , , [“*” , , ] ] ] , [“setVar:to:” , “BallY” , [“+” , , [“*” , , ] ] ] ] ] ] ] ] ] ]] ] }],“info”:{} }
- VruxaP
-
Scratcher
1 post
Scratch emulator (GriffScratch) saved projects
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 57 , 53 , [ , , , , , , [“doRepeat” , “10” ,[ [“doRepeat” , “4” ,[ , ] ] ] ] , , , [“doForever” ,[ [“doIf” , ,[ , , , , , [“doRepeat” , “4” ,[ , ] ] ] ] , [“doIf” , ,[ , , , , , [“doRepeat” , “4” ,[ , ] ] ] ] , [“doIf” , ,[ , , , , , [“doRepeat” , “4” ,[ , ] ] ] ] , [“doIf” , ,[ , , , , , [“doRepeat” , “4” ,[ , ] ] ] ] ] ] ]] ] }],“info”:{} }
I experimented with pen, which I have never used in Scratch before, and created a square that can move around
- Discussion Forums
- » Project Save & Level Codes
-
» Scratch emulator (GriffScratch) saved projects

SCRIPTS ARE NOT VIEWABLE CORRECTLY AFTER BEING PASTED IN LINE THIS. YOU CAN SEE THEN PROPERLY WHEN YOU CLICK QUOTE FOR A PARTICULAR POST BUT OTHERWISE IT'S NOT RIGHT.

SCRIPTS ARE NOT VIEWABLE CORRECTLY AFTER BEING PASTED IN LINE THIS. YOU CAN SEE THEN PROPERLY WHEN YOU CLICK QUOTE FOR A PARTICULAR POST BUT OTHERWISE IT'S NOT RIGHT.