This is a place to show off project summaries.
...What's that? You've never heard of project summaries?! It's easy to get them. Just shift-click (yes, shift-click. don't think I'm saying that just because I'm on a Mac and can't right-click.) on the File menu in Scratch after opening a project. Then select "Get Project Summary". Save it wherever you like (I made a folder for them) and then open the document. Copy all the text, and you're ready to post it here!
Here's the summary for a project I never released. Enjoy!
Project: Art-O-Matic
Author: big-bang
Scratch: 1.3 (release of 2-Sep-08)
Notes:
History:
2008-12-20 09:32:07 save Art-O-Matic
2008-12-20 09:32:26 save Art-O-Matic
2008-12-20 09:32:54 save Art-O-Matic
2008-12-20 09:33:17 save Art-O-Matic
2008-12-20 09:34:24 save Art-O-Matic
2008-12-20 11:23:02 save Art-O-Matic
2009-3-5 09:11:37 save Art-O-Matic
Totals:
Sprites: 1
Stacks: 2
Unique costumes: 2
Unique sounds: 1
--------
Sprite: Stage
Costumes (1):
background1 (480x360)
Sounds (1):
pop (0:00:00)
No stacks.
--------
Sprite: Sprite1
Costumes (1):
costume1 (1x1)
Sounds (0):
Stacks (2):
when green flag clicked
go to x: 0 y: 0
clear
pen down
forever
repeat 25
turn (Degree) degrees
move 2 steps
change pen color by 1
if on edge, bounce
repeat 25
turn (Degree) degrees
move 2 steps
change pen color by 1
if on edge, bounce
end
when green flag clicked
forever
set "Degree" to (pick random 2 to 10)
wait 1 secs
end
--------Offline
You seem to have found a text-based scratch...
Project: ScratchText 2.1.1
Author: The-Whiz
Scratch: 1.4 of 30-Jun-09
Notes:
ScratchText is back!
Done in this version:
Added > and < as booleans.
Now tells what percent loaded it is.
Thanks to Paddle2See, who let me use his Calculator. Without that, none of this would be possible.
See http://scratch.mit.edu/forums/viewtopic.php?pid=181827#p181827 for commands.
Also, you can type
load Math (or) Names (or) Slots
(enter)
run
(enter)
To run a sample program.
The slowness IS NOT lag, this requires so much processing power that it is hard for Scratch to run quickly. Don't be alarmed if it is very slow.
History:
2009-6-28 14:54:41 save ScratchText 2.0.1 [Alpha]
2009-6-28 15:30:31 save ScratchText 2.0.1 [Alpha]
2009-6-28 15:42:47 save ScratchText 2.0.1 [Alpha]
2009-6-29 13:56:40 save ScratchText 2.0.1 [Alpha]
2009-6-30 08:00:46 save ScratchText 2.0.1 [Alpha]
2009-6-30 08:08:25 save ScratchText 2.0.1 [Alpha]
2009-6-30 08:52:06 save ScratchText 2.0.1 [Alpha]
2009-6-30 08:56:34 save ScratchText 2.0.1 [Alpha]
2009-7-10 17:02:55 share ScratchText 2.0.1 [Alpha 1.0] The-Whiz
2009-7-10 17:03:10 save ScratchText 2.0.1 [Alpha 1.0] The-Whiz The-Whiz
2009-7-10 17:04:22 share ScratchText 2.0.1 [Alpha 1.0] The-Whiz
2009-7-10 17:08:07 save ScratchText 2.0.1 [Alpha 1.0] The-Whiz
2009-7-10 17:35:09 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-10 18:26:58 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-10 22:07:38 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-10 22:07:42 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-11 07:44:31 share ScratchText 2.0.1 [Alpha 1.0] The-Whiz
2009-7-11 07:49:18 save ScratchText 2.0.1 [Alpha 1.0] The-Whiz
2009-7-11 08:56:32 save ScratchText 2.0.1 [Alpha 1.0] The-Whiz
2009-7-11 12:15:48 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-11 13:00:44 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-11 13:07:26 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-11 13:07:48 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-11 13:18:14 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-11 13:37:32 save ScratchText 2.0.1 [Alpha 1.0]
2009-7-11 15:05:35 save ScratchText 2.0.1 [Alpha 1.2]
2009-8-7 14:22:35 save ScratchText 2.1 [Alpha 1.0]
2009-8-7 14:59:30 save ScratchText 2.1 [Alpha 1.0]
2009-8-7 15:48:13 save ScratchText 2.1 [Alpha 1.0]
2009-8-7 18:21:01 save ScratchText 2.1 [Alpha 1.0]
2009-8-7 18:32:46 save ScratchText 2.1 [Alpha 1.0]
2009-8-7 19:07:33 save ScratchText 2.1 [Alpha 1.0]
2009-8-8 09:34:06 save ScratchText 2.1 [Alpha 1.0]
2009-8-8 10:58:32 save ScratchText 2.1 [Alpha 1.0]
2009-8-8 11:28:15 save ScratchText 2.1 [Alpha 1.0]
2009-8-8 12:36:30 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 12:36:51 save ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 12:41:22 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 12:43:02 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 12:44:37 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 12:47:01 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 12:50:10 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 12:56:00 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 12:59:47 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 13:04:10 save ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 15:52:50 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 15:53:25 save ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 15:56:18 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 15:58:44 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 16:02:22 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 16:03:54 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 16:09:15 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 16:14:14 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 16:21:18 save ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 16:26:28 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 16:26:47 save ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 18:19:46 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 18:23:42 save ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 19:08:07 share ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-8 19:09:44 save ScratchText 2.1 [Alpha 1.0] The-Whiz
2009-8-9 09:10:02 save ScratchText 2.1 [Alpha 1.0]
2009-8-9 09:41:52 save ScratchText 2.1 [Alpha 1.0]
2009-8-13 10:07:44 share ScratchText 2.1 [Alpha 1.1] The-Whiz
2009-8-13 10:08:03 save ScratchText 2.1 [Alpha 1.1] The-Whiz
2009-8-16 09:00:26 save ScratchText 2.1 [Alpha 1.2]
2009-8-16 09:44:21 share ScratchText 2.1 [Alpha 2] TEST The-Whiz
2009-8-16 09:46:00 share ScratchText 2.1 [Alpha 2] TEST The-Whiz
2009-8-16 12:14:08 share ScratchText 2.1 [Alpha 2] TEST The-Whiz
2009-8-16 14:05:24 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 14:09:36 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 14:19:11 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 14:22:23 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 14:25:20 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 14:29:32 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 14:32:26 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 14:34:39 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 14:38:21 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 14:39:12 save ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 16:52:46 save ScratchText 2.1 [Alpha 2]
2009-8-16 16:53:00 save ScratchText 2.1 [Alpha 2]
2009-8-16 16:54:41 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 17:03:17 share ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-16 17:03:57 save ScratchText 2.1 [Alpha 2] The-Whiz
2009-8-23 19:11:51 save ScratchText 2.1
2009-8-23 19:25:46 save ScratchText 2.1
2009-8-23 19:27:04 share ScratchText 2.1 The-Whiz
2009-8-23 19:27:59 save ScratchText 2.1 The-Whiz
2009-8-27 17:09:33 save ScratchText 2.2
2009-8-27 17:16:09 share ScratchText 2.1.1 The-Whiz
2009-8-27 17:16:42 save ScratchText 2.1.1 The-Whiz
2009-8-27 18:28:37 share ScratchText 2.1.1 The-Whiz
2009-8-27 18:28:58 save ScratchText 2.1.1 The-Whiz
2009-8-28 16:19:55 save ScratchText 2.1.1
Totals:
Sprites: 2
Stacks: 35
Unique costumes: 4
Unique sounds: 2
--------
Sprite: Stage
Costumes (2):
background1 (480x360)
background2 (480x360)
Sounds (1):
pop (0:00:00)
Stacks (25):
when I receive "endif"
set "Go?" to "1"
end
when I receive "else"
set "ifs encountered" to "0"
repeat until (((item (Line) of "Run_commands" ) = ">endif") and ((ifs encountered) = "0"))
change "Line" by 1
repeat (length of (item (Line) of "Run_commands" ))
change "Var" by 1
if (not ((letter (Var) of (item (Line) of "Run_commands" )) = " "))
if ((space?) = "0")
set "edit_funtion" to (join (edit_funtion) (letter (Var) of (item (Line) of "Run_commands" )))
if ((letter (Var) of (item (Line) of "Run_commands" )) = " ")
set "space?" to "1"
if ((edit_funtion) = ">if")
change "ifs encountered" by 1
if ((edit_funtion) = ">endif")
change "ifs encountered" by -1
if ((Line) > (length of "Run_commands" ))
set "if error?" to "1"
set "Go?" to "1"
stop script
if ((Line) > (length of "Run_commands" ))
set "if error?" to "1"
set "Go?" to "1"
stop script
set "Go?" to "1"
end
when I receive "if_end"
set "ifs encountered" to "0"
if ((operator (=,<,>)) = "=")
if ((Var) = (Var2)) else
else
repeat until (((item (Line) of "Run_commands" ) = ">else") and ((ifs encountered) = "0"))
change "Line" by 1
set "Var" to "0"
set "edit_funtion" to ""
set "space?" to "0"
repeat (length of (item (Line) of "Run_commands" ))
change "Var" by 1
if (not ((letter (Var) of (item (Line) of "Run_commands" )) = " "))
if ((space?) = "0")
set "edit_funtion" to (join (edit_funtion) (letter (Var) of (item (Line) of "Run_commands" )))
if ((letter (Var) of (item (Line) of "Run_commands" )) = " ")
set "space?" to "1"
if ((edit_funtion) = ">if")
change "ifs encountered" by 1
if ((edit_funtion) = ">endif")
change "ifs encountered" by -1
if ((Line) > (length of "Run_commands" ))
set "if error?" to "1"
set "Go?" to "1"
stop script
if ((operator (=,<,>)) = ">")
if ((Var) < (Var2)) else
else
repeat until (((item (Line) of "Run_commands" ) = ">else") and ((ifs encountered) = "0"))
change "Line" by 1
set "Var" to "0"
set "edit_funtion" to ""
set "space?" to "0"
repeat (length of (item (Line) of "Run_commands" ))
change "Var" by 1
if (not ((letter (Var) of (item (Line) of "Run_commands" )) = " "))
if ((space?) = "0")
set "edit_funtion" to (join (edit_funtion) (letter (Var) of (item (Line) of "Run_commands" )))
if ((letter (Var) of (item (Line) of "Run_commands" )) = " ")
set "space?" to "1"
if ((edit_funtion) = ">if")
change "ifs encountered" by 1
if ((edit_funtion) = ">endif")
change "ifs encountered" by -1
if ((Line) > (length of "Run_commands" ))
set "if error?" to "1"
set "Go?" to "1"
stop script
if ((operator (=,<,>)) = "<")
if ((Var) > (Var2)) else
else
repeat until (((item (Line) of "Run_commands" ) = ">else") and ((ifs encountered) = "0"))
change "Line" by 1
set "Var" to "0"
set "edit_funtion" to ""
set "space?" to "0"
repeat (length of (item (Line) of "Run_commands" ))
change "Var" by 1
if (not ((letter (Var) of (item (Line) of "Run_commands" )) = " "))
if ((space?) = "0")
set "edit_funtion" to (join (edit_funtion) (letter (Var) of (item (Line) of "Run_commands" )))
if ((letter (Var) of (item (Line) of "Run_commands" )) = " ")
set "space?" to "1"
if ((edit_funtion) = ">if")
change "ifs encountered" by 1
if ((edit_funtion) = ">endif")
change "ifs encountered" by -1
if ((Line) > (length of "Run_commands" ))
set "if error?" to "1"
set "Go?" to "1"
stop script
set "Go?" to "1"
end
when I receive "if2"
if ((item "1" of "Command_running" ) = """) else
if ((item "last" of "Command_running" ) = """) else
delete 1 of "Command_running"
delete "last" of "Command_running"
set "Var" to ""
repeat until ((length of "Command_running" ) = "0")
if (not ((length of "Command_running" ) = "0"))
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
broadcast "if_end"
stop script
else
set "Var" to ""
repeat until ((length of "Command_running" ) = "0")
if (not ((length of "Command_running" ) = "0"))
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
broadcast "calculator (Thanks Paddle2See!)"
else
set "Var" to ""
repeat until ((length of "Command_running" ) = "0")
if (not ((length of "Command_running" ) = "0"))
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
broadcast "calculator (Thanks Paddle2See!)"
set "done calculating" to "0"
wait until ((done calculating) = "1")
broadcast "if_end"
end
when I receive "if"
if ((item "1" of "Command_running" ) = """) else
if ((item "last" of "Command_running" ) = """) else
delete 1 of "Command_running"
delete "last" of "Command_running"
set "Var" to ""
repeat until ((item 1 of "Command_running" ) = "=")
if (not ((item 1 of "Command_running" ) = "="))
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
delete 1 of "Command_running"
set "Var2" to (Var)
broadcast "if2"
stop script
else
set "Var" to ""
repeat until (((item 1 of "Command_running" ) = "=") or (((item 1 of "Command_running" ) = "<") or ((item 1 of "Command_running" ) = ">")))
if (not (((item 1 of "Command_running" ) = "=") or (((item 1 of "Command_running" ) = "<") or ((item 1 of "Command_running" ) = ">"))))
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
set "operator (=,<,>)" to (item 1 of "Command_running" )
delete 1 of "Command_running"
broadcast "calculator (Thanks Paddle2See!)"
else
set "Var" to ""
repeat until (((item 1 of "Command_running" ) = "=") or (((item 1 of "Command_running" ) = "<") or ((item 1 of "Command_running" ) = ">")))
if (not (((item 1 of "Command_running" ) = "=") or (((item 1 of "Command_running" ) = "<") or ((item 1 of "Command_running" ) = ">"))))
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
set "operator (=,<,>)" to (item 1 of "Command_running" )
delete 1 of "Command_running"
broadcast "calculator (Thanks Paddle2See!)"
set "done calculating" to "0"
wait until ((done calculating) = "1")
set "Var2" to (Var)
broadcast "if2"
end
when I receive "set"
set "Var2" to ""
repeat until ((item 1 of "Command_running" ) = "=")
if (not ((item 1 of "Command_running" ) = "="))
set "Var2" to (join (Var2) (item 1 of "Command_running" ))
delete 1 of "Command_running"
delete 1 of "Command_running"
if ((item "1" of "Command_running" ) = """) else
if ((item "last" of "Command_running" ) = """) else
delete 1 of "Command_running"
delete "last" of "Command_running"
set "Var" to ""
repeat until ((length of "Command_running" ) = "0")
if (not ((length of "Command_running" ) = "0"))
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
broadcast "set_end"
stop script
else
set "Var" to ""
repeat until ((length of "Command_running" ) = "0")
if (not ((length of "Command_running" ) = "0"))
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
broadcast "calculator (Thanks Paddle2See!)"
else
set "Var" to ""
repeat until ((length of "Command_running" ) = "0")
if (not ((length of "Command_running" ) = "0"))
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
broadcast "calculator (Thanks Paddle2See!)"
set "done calculating" to "0"
wait until ((done calculating) = "1")
broadcast "set_end"
end
when I receive "set2"
add (Var2) to "Variables"
add (Var) to "VarValues"
set "Go?" to "1"
end
when I receive "input2"
add (Var) to "Variables"
add (answer) to "VarValues"
set "Go?" to "1"
end
when I receive "set1"
replace item (var4) of "VarValues" with (Var)
set "Go?" to "1"
end
when I receive "input1"
replace item (Var2) of "VarValues" with (answer)
set "Go?" to "1"
end
when I receive "Run"
set "if error?" to "0"
set "joined" to "0"
set "Line" to "0"
forever
change "Line" by 1
if ((Line) > (length of "Run_commands" ))
broadcast "end error"
stop script
delete "all" of "Command_running"
set "Var" to "0"
repeat (length of (item (Line) of "Run_commands" ))
change "Var" by 1
add (letter (Var) of (item (Line) of "Run_commands" )) to "Command_running"
delete 1 of "Command_running"
if ((item "last" of "Command_running" ) = ";")
delete "last" of "Command_running"
if ((letter (length of (item ((Line) - 1) of "Run_commands" )) of (item ((Line) - 1) of "Run_commands" )) = ";")
set "joined" to "1"
set "Command" to ""
if ( "Command_running" contains " ") else
repeat until ((item 1 of "Command_running" ) = " ")
set "Command" to (join (Command) (item 1 of "Command_running" ))
delete 1 of "Command_running"
delete 1 of "Command_running"
else
repeat until ((length of "Command_running" ) = "0")
set "Command" to (join (Command) (item 1 of "Command_running" ))
delete 1 of "Command_running"
if ( "Valid_commands" contains (Command)) else
broadcast (Command)
set "Go?" to "0"
wait until ((Go?) = "1")
else
broadcast "error"
stop script
if ((stop program?) = "1")
broadcast "break"
stop script
if ((if error?) = "1")
broadcast "if error"
stop script
if ((Running) = "0")
stop script
end
when green flag clicked
delete "all" of "Console"
add "ScratchText 2.1.1" to "Console"
add "Release Date of August 27,2009" to "Console"
add "By The-Whiz" to "Console"
ask "Press enter to continue..." and wait
delete 1 of "Console"
delete 1 of "Console"
delete 1 of "Console"
forever
ask "Input command" and wait
add (answer) to "Console"
if ((answer) = "run")
delete "all" of "real_program"
delete "last" of "Console"
repeat (length of "Console" )
add (item 1 of "Console" ) to "real_program"
delete 1 of "Console"
delete "all" of "Run_commands"
set "Var" to "0"
repeat (length of "real_program" )
change "Var" by 1
if ((letter 1 of (item (Var) of "real_program" )) = ">")
add (item (Var) of "real_program" ) to "Run_commands"
set "stop program?" to "0"
broadcast "Run"
set "Running" to "1"
wait until ((Running) = "0")
set "Var" to "0"
set "edit_funtion" to ""
set "space?" to "0"
repeat (length of (answer))
change "Var" by 1
if (not ((letter (Var) of (answer)) = " "))
if ((space?) = "0")
set "edit_funtion" to (join (edit_funtion) (letter (Var) of (answer)))
if ((letter (Var) of (answer)) = " ")
set "space?" to "1"
if ( "Valid_commands" contains (edit_funtion))
if (((length of (answer)) - (length of (edit_funtion))) > "0")
delete "all" of "Command_running"
set "Var" to ((length of (edit_funtion)) + 1)
repeat (((length of (answer)) - (length of (edit_funtion))) - 1)
change "Var" by 1
add (letter (Var) of (answer)) to "Command_running"
broadcast (edit_funtion)
set "Go?" to "0"
wait until ((Go?) = "1")
if ((edit_funtion) = "new")
ask "Sure? (Y/N)" and wait
if ((answer) = "Y")
delete "all" of "Console"
if ((edit_funtion) = "save")
set "Var" to "5"
set "Var2" to ""
repeat ((length of (answer)) - 5)
change "Var" by 1
set "Var2" to (join (Var2) (letter (Var) of (answer)))
delete "last" of "Console"
if ( "Program" contains (Var2))
set "Var" to "0"
repeat until (not ( "Program" contains (Var2)))
if ((item (Var) of "Program" ) = (Var2)) else
delete (Var) of "Program"
delete (Var) of "ProgramCommand"
else
change "Var" by 1
set "Var" to "0"
repeat (length of "Console" )
change "Var" by 1
add (Var2) to "Program"
add (item (Var) of "Console" ) to "ProgramCommand"
add (join (join "saved as "" (Var2)) """) to "Console"
ask "Press enter to continue" and wait
delete "last" of "Console"
if ((edit_funtion) = "load")
set "Var2" to ""
set "Var" to "5"
repeat ((length of (answer)) - 5)
change "Var" by 1
set "Var2" to (join (Var2) (letter (Var) of (answer)))
delete "all" of "Console"
add "Loading" to "Console"
if ( "Program" contains (Var2)) else
set "Var" to "0"
repeat until ((item (Var) of "Program" ) = (Var2))
change "Var" by 1
replace item 1 of "Console" with (join "Loading " (join ((round (((Var) / (length of "Program" )) * 10000)) / 100) "%"))
repeat until ((Var) = ((length of "Program" ) + 1))
if ((item (Var) of "Program" ) = (Var2))
add (item (Var) of "ProgramCommand" ) to "Console"
change "Var" by 1
replace item 1 of "Console" with (join "Loading " (join ((round (((Var) / (length of "Program" )) * 10000)) / 100) "%"))
delete 1 of "Console"
add (join (join """ (Var2)) "" has been loaded.") to "Console"
ask "Press enter to continue" and wait
delete "last" of "Console"
else
add "No such file." to "Console"
ask "Press enter to continue" and wait
delete "last" of "Console"
if ((edit_funtion) = "delete")
set "Var2" to ""
set "Var" to "7"
repeat ((length of (answer)) - 7)
change "Var" by 1
set "Var2" to (join (Var2) (letter (Var) of (answer)))
delete (Var2) of "Console"
delete "last" of "Console"
if ((edit_funtion) = "edit")
set "Var2" to ""
set "Var" to "5"
repeat ((length of (answer)) - 5)
change "Var" by 1
set "Var2" to (join (Var2) (letter (Var) of (answer)))
ask (join (join "Editing " (Var2)) "; Input command. Enter "Undo" to null action.") and wait
if (not ((answer) = "undo"))
replace item (Var2) of "Console" with (answer)
delete "last" of "Console"
if ((edit_funtion) = "insert")
set "Var2" to ""
set "Var" to "7"
repeat ((length of (answer)) - 7)
change "Var" by 1
set "Var2" to (join (Var2) (letter (Var) of (answer)))
ask (join (join "Inserting at " (Var2)) "; Input command. Enter "Undo" to null action.") and wait
if (not ((answer) = "undo"))
insert (answer) at (Var2) of "Console"
delete "last" of "Console"
end
when I receive "print"
if ((item 1 of "Command_running" ) = """) else
if ((item "last" of "Command_running" ) = """) else
delete 1 of "Command_running"
delete "last" of "Command_running"
set "Var" to ""
repeat (length of "Command_running" )
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
if ((joined) = "1") else
replace item "last" of "Console" with (join (item "last" of "Console" ) (Var))
else
add (Var) to "Console"
set "joined" to "0"
set "Go?" to "1"
else
broadcast "print2"
else
broadcast "print2"
end
when I receive "error"
add (join (join "Error in line " (Line)) ": Unrecognized command") to "Console"
ask "Press enter to continue." and wait
delete "all" of "Console"
repeat (length of "real_program" )
add (item 1 of "real_program" ) to "Console"
delete 1 of "real_program"
set "Go?" to "1"
set "Running" to "0"
end
when I receive "print2"
set "Var" to ""
repeat (length of "Command_running" )
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
set "done calculating" to "0"
broadcast "calculator (Thanks Paddle2See!)"
wait until ((done calculating) = "1")
if ((joined) = "1") else
replace item "last" of "Console" with (join (item "last" of "Console" ) (Var))
else
add (Var) to "Console"
set "joined" to "0"
set "Go?" to "1"
end
when I receive "wait"
set "Var" to ""
repeat (length of "Command_running" )
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
wait (Var) secs
set "Go?" to "1"
end
when I receive "set_end"
set "var4" to "0"
forever
if ((item (var4) of "Variables" ) = (Var2))
broadcast "set1"
stop script
if ((var4) = (length of "Variables" ))
broadcast "set2"
stop script
change "var4" by 1
end
when I receive "input"
set "Var" to ""
repeat (length of "Command_running" )
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
if ((joined) = "1") else
replace item "last" of "Console" with (join (item "last" of "Console" ) "?")
else
add "?" to "Console"
set "joined" to "0"
ask "Enter input:" and wait
set "Var2" to "0"
forever
if ((item (Var2) of "Variables" ) = (Var))
broadcast "input1"
stop script
if ((Var2) = (length of "Variables" ))
broadcast "input2"
stop script
change "Var2" by 1
end
when I receive "goto"
set "Var" to ""
repeat (length of "Command_running" )
set "Var" to (join (Var) (item 1 of "Command_running" ))
delete 1 of "Command_running"
set "done calculating" to "0"
broadcast "calculator (Thanks Paddle2See!)"
wait until ((done calculating) = "1")
set "Line" to ((Var) - 1)
set "Go?" to "1"
end
when green flag clicked
forever
if ((key "q" pressed?) and ((key "u" pressed?) and ((key "i" pressed?) and (key "t" pressed?))))
set "Go?" to "1"
set "stop program?" to "1"
end
when I receive "break"
add (join "Break in line " (Line)) to "Console"
ask "Press enter to continue." and wait
delete "all" of "Console"
repeat (length of "real_program" )
add (item 1 of "real_program" ) to "Console"
delete 1 of "real_program"
set "Go?" to "1"
set "Running" to "0"
end
when I receive "clear"
delete "all" of "Console"
set "Go?" to "1"
end
when I receive "end"
delete "all" of "Console"
repeat (length of "real_program" )
add (item 1 of "real_program" ) to "Console"
delete 1 of "real_program"
set "Running" to "0"
set "Go?" to "1"
end
when I receive "if error"
add "Uncomplete IF!" to "Console"
ask "Press enter to continue." and wait
delete "all" of "Console"
repeat (length of "real_program" )
add (item 1 of "real_program" ) to "Console"
delete 1 of "real_program"
set "Go?" to "1"
set "Running" to "0"
end
when I receive "end error"
add "Program end not specified!" to "Console"
ask "Press enter to continue." and wait
delete "all" of "Console"
repeat (length of "real_program" )
add (item 1 of "real_program" ) to "Console"
delete 1 of "real_program"
set "Go?" to "1"
set "Running" to "0"
end
--------
Sprite: Calculator
Costumes (1):
costume1 (13x14)
Sounds (0):
Stacks (7):
when I receive "calculator (Thanks Paddle2See!)"
set "Input Line" to (Var)
broadcast "Parse Line into Infix Fields" and wait
broadcast "Substitute Constants" and wait
broadcast "Translate Infix to Postfix" and wait
broadcast "Evaluate Postfix Expression" and wait
end
when I receive "Evaluate Postfix Expression"
repeat until ((length of "Postfix" ) < "2")
set "I1" to "2"
set "Field" to (item (I1) of "Postfix" )
repeat until ((( "Op High" contains (Field)) or ( "Op Medium" contains (Field))) or (( "Op Low" contains (Field)) or ( "Functions" contains (Field))))
change "I1" by 1
set "Field" to (item (I1) of "Postfix" )
if (not ( "Functions" contains (Field)))
set "A" to (item ((I1) - 2) of "Postfix" )
set "B" to (item ((I1) - 1) of "Postfix" )
set "Op" to (item (I1) of "Postfix" )
if ((Op) = "+") else
replace item ((I1) - 2) of "Postfix" with ((A) + (B))
else
if ((Op) = "-") else
replace item ((I1) - 2) of "Postfix" with ((A) - (B))
else
if ((Op) = "*") else
replace item ((I1) - 2) of "Postfix" with ((A) * (B))
else
if ((Op) = "/") else
replace item ((I1) - 2) of "Postfix" with ((A) / (B))
else
if ((Op) = "^") else
replace item ((I1) - 2) of "Postfix" with ( "10 ^" of ((B) * ( "log" of (A))))
else
if ((Op) = "sin") else
replace item ((I1) - 1) of "Postfix" with ( "sin" of (B))
else
if ((Op) = "cos") else
replace item ((I1) - 1) of "Postfix" with ( "cos" of (B))
else
if ((Op) = "tan") else
replace item ((I1) - 1) of "Postfix" with ( "tan" of (B))
else
if ((Op) = "asin") else
replace item ((I1) - 1) of "Postfix" with ( "asin" of (B))
else
if ((Op) = "acos") else
replace item ((I1) - 1) of "Postfix" with ( "acos" of (B))
else
if ((Op) = "atan") else
replace item ((I1) - 1) of "Postfix" with ( "atan" of (B))
else
if ((Op) = "sqrt") else
replace item ((I1) - 1) of "Postfix" with ( "sqrt" of (B))
else
if ((Op) = "%") else
replace item ((I1) - 1) of "Postfix" with (0 - (B))
else
add (join (join "Unrecognized Operator '" (Op)) (join "' in line " (Line))) to "Console"
if ( "Functions" contains (Field)) else
delete (I1) of "Postfix"
else
delete ((I1) - 1) of "Postfix"
delete ((I1) - 1) of "Postfix"
set "Var" to (item 1 of "Postfix" )
set "done calculating" to "1"
end
when green flag clicked
hide
end
when I receive "Parse Line into Infix Fields"
delete "all" of "Infix"
set "L1" to (length of (Input Line))
set "Unary Operator" to "1"
set "Field" to ""
set "I1" to "1"
repeat (L1)
set "Character" to (letter (I1) of (Input Line))
if (((( "Op High" contains (Character)) or ( "Op Medium" contains (Character))) or (( "Op Low" contains (Character)) or ( "Paren" contains (Character)))) or ((Character) = " ")) else
if (((Unary Operator) = "1") and ((Character) = "-"))
set "Character" to "%"
if ((( "Op High" contains (Character)) or ( "Op Medium" contains (Character))) or (( "Op Low" contains (Character)) or ((Character) = "("))) else
set "Unary Operator" to "1"
else
set "Unary Operator" to "0"
if ((length of (Field)) > "0")
add (Field) to "Infix"
set "Field" to ""
if (not ((Character) = " "))
add (Character) to "Infix"
else
if (not ((Character) = " "))
set "Unary Operator" to "0"
set "Field" to (join (Field) (Character))
change "I1" by 1
if ((length of (Field)) > "0")
add (Field) to "Infix"
end
when I receive "Translate Infix to Postfix"
delete "all" of "Postfix"
delete "all" of "Translation Stack"
set "I1" to "1"
repeat (length of "Infix" )
set "Field" to (item (I1) of "Infix" )
if (((( "Op High" contains (Field)) or ( "Op Medium" contains (Field))) or (( "Op Low" contains (Field)) or ( "Paren" contains (Field)))) or ( "Functions" contains (Field))) else
broadcast "Process Operators and Functions" and wait
else
add (Field) to "Postfix"
change "I1" by 1
repeat (length of "Translation Stack" )
add (item (length of "Translation Stack" ) of "Translation Stack" ) to "Postfix"
delete "last" of "Translation Stack"
end
when I receive "Process Operators and Functions"
if ((Field) = "(") else
add (Field) to "Translation Stack"
else
if ((Field) = ")") else
repeat until ((item (length of "Translation Stack" ) of "Translation Stack" ) = "(")
add (item (length of "Translation Stack" ) of "Translation Stack" ) to "Postfix"
delete "last" of "Translation Stack"
delete "last" of "Translation Stack"
else
set "Move Required" to "1"
repeat until ((Move Required) = "0")
set "Top Op" to (item (length of "Translation Stack" ) of "Translation Stack" )
set "Move Required" to "0"
if (( "Op Low" contains (Field)) and (( "Op Low" contains (Top Op)) or (( "Op Medium" contains (Top Op)) or ( "Op High" contains (Top Op)))))
set "Move Required" to "1"
if (( "Op Medium" contains (Field)) and (( "Op Medium" contains (Top Op)) or ( "Op High" contains (Top Op))))
set "Move Required" to "1"
if (( "Op High" contains (Field)) and ( "Op High" contains (Top Op)))
set "Move Required" to "1"
if ((( "Op Low" contains (Field)) or (( "Op Medium" contains (Field)) or ( "Op High" contains (Field)))) and ( "Functions" contains (Top Op)))
set "Move Required" to "1"
if ((Move Required) = "1")
add (Top Op) to "Postfix"
delete "last" of "Translation Stack"
if ((length of "Translation Stack" ) < "1")
set "Move Required" to "0"
add (Field) to "Translation Stack"
end
when I receive "Substitute Constants"
replace item 1 of "VarValues" with (pick random (item 2 of "VarValues" ) to (item 3 of "VarValues" ))
set "I1" to "1"
repeat (length of "Infix" )
if ( "Variables" contains (item (I1) of "Infix" ))
set "J1" to "1"
repeat until ((item (I1) of "Infix" ) = (item (J1) of "Variables" ))
change "J1" by 1
replace item (I1) of "Infix" with (item (J1) of "VarValues" )
change "I1" by 1
end
--------
Sprite: Sprite1
Costumes (1):
costume3 (480x360)
Sounds (1):
meow (0:00:01)
Stacks (1):
when green flag clicked
go back 1 layers
end
--------Offline
The-Whiz wrote:
You seem to have found a text-based scratch...
Code:
Project: ScratchText 2.1.1 Author: The-Whiz Scratch: 1.4 of 30-Jun-09 Notes: ScratchText is back! Done in this version: Added > and < as booleans. Now tells what percent loaded it is. Thanks to Paddle2See, who let me use his Calculator. Without that, none of this would be possible. See http://scratch.mit.edu/forums/viewtopic.php?pid=181827#p181827 for commands. Also, you can type load Math (or) Names (or) Slots (enter) run (enter) To run a sample program. The slowness IS NOT lag, this requires so much processing power that it is hard for Scratch to run quickly. Don't be alarmed if it is very slow. History: 2009-6-28 14:54:41 save ScratchText 2.0.1 [Alpha] 2009-6-28 15:30:31 save ScratchText 2.0.1 [Alpha] 2009-6-28 15:42:47 save ScratchText 2.0.1 [Alpha] 2009-6-29 13:56:40 save ScratchText 2.0.1 [Alpha] 2009-6-30 08:00:46 save ScratchText 2.0.1 [Alpha] 2009-6-30 08:08:25 save ScratchText 2.0.1 [Alpha] 2009-6-30 08:52:06 save ScratchText 2.0.1 [Alpha] 2009-6-30 08:56:34 save ScratchText 2.0.1 [Alpha] 2009-7-10 17:02:55 share ScratchText 2.0.1 [Alpha 1.0] The-Whiz 2009-7-10 17:03:10 save ScratchText 2.0.1 [Alpha 1.0] The-Whiz The-Whiz 2009-7-10 17:04:22 share ScratchText 2.0.1 [Alpha 1.0] The-Whiz 2009-7-10 17:08:07 save ScratchText 2.0.1 [Alpha 1.0] The-Whiz 2009-7-10 17:35:09 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-10 18:26:58 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-10 22:07:38 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-10 22:07:42 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-11 07:44:31 share ScratchText 2.0.1 [Alpha 1.0] The-Whiz 2009-7-11 07:49:18 save ScratchText 2.0.1 [Alpha 1.0] The-Whiz 2009-7-11 08:56:32 save ScratchText 2.0.1 [Alpha 1.0] The-Whiz 2009-7-11 12:15:48 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-11 13:00:44 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-11 13:07:26 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-11 13:07:48 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-11 13:18:14 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-11 13:37:32 save ScratchText 2.0.1 [Alpha 1.0] 2009-7-11 15:05:35 save ScratchText 2.0.1 [Alpha 1.2] 2009-8-7 14:22:35 save ScratchText 2.1 [Alpha 1.0] 2009-8-7 14:59:30 save ScratchText 2.1 [Alpha 1.0] 2009-8-7 15:48:13 save ScratchText 2.1 [Alpha 1.0] 2009-8-7 18:21:01 save ScratchText 2.1 [Alpha 1.0] 2009-8-7 18:32:46 save ScratchText 2.1 [Alpha 1.0] 2009-8-7 19:07:33 save ScratchText 2.1 [Alpha 1.0] 2009-8-8 09:34:06 save ScratchText 2.1 [Alpha 1.0] 2009-8-8 10:58:32 save ScratchText 2.1 [Alpha 1.0] 2009-8-8 11:28:15 save ScratchText 2.1 [Alpha 1.0] 2009-8-8 12:36:30 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 12:36:51 save ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 12:41:22 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 12:43:02 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 12:44:37 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 12:47:01 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 12:50:10 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 12:56:00 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 12:59:47 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 13:04:10 save ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 15:52:50 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 15:53:25 save ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 15:56:18 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 15:58:44 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 16:02:22 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 16:03:54 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 16:09:15 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 16:14:14 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 16:21:18 save ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 16:26:28 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 16:26:47 save ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 18:19:46 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 18:23:42 save ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 19:08:07 share ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-8 19:09:44 save ScratchText 2.1 [Alpha 1.0] The-Whiz 2009-8-9 09:10:02 save ScratchText 2.1 [Alpha 1.0] 2009-8-9 09:41:52 save ScratchText 2.1 [Alpha 1.0] 2009-8-13 10:07:44 share ScratchText 2.1 [Alpha 1.1] The-Whiz 2009-8-13 10:08:03 save ScratchText 2.1 [Alpha 1.1] The-Whiz 2009-8-16 09:00:26 save ScratchText 2.1 [Alpha 1.2] 2009-8-16 09:44:21 share ScratchText 2.1 [Alpha 2] TEST The-Whiz 2009-8-16 09:46:00 share ScratchText 2.1 [Alpha 2] TEST The-Whiz 2009-8-16 12:14:08 share ScratchText 2.1 [Alpha 2] TEST The-Whiz 2009-8-16 14:05:24 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 14:09:36 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 14:19:11 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 14:22:23 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 14:25:20 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 14:29:32 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 14:32:26 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 14:34:39 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 14:38:21 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 14:39:12 save ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 16:52:46 save ScratchText 2.1 [Alpha 2] 2009-8-16 16:53:00 save ScratchText 2.1 [Alpha 2] 2009-8-16 16:54:41 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 17:03:17 share ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-16 17:03:57 save ScratchText 2.1 [Alpha 2] The-Whiz 2009-8-23 19:11:51 save ScratchText 2.1 2009-8-23 19:25:46 save ScratchText 2.1 2009-8-23 19:27:04 share ScratchText 2.1 The-Whiz 2009-8-23 19:27:59 save ScratchText 2.1 The-Whiz 2009-8-27 17:09:33 save ScratchText 2.2 2009-8-27 17:16:09 share ScratchText 2.1.1 The-Whiz 2009-8-27 17:16:42 save ScratchText 2.1.1 The-Whiz 2009-8-27 18:28:37 share ScratchText 2.1.1 The-Whiz 2009-8-27 18:28:58 save ScratchText 2.1.1 The-Whiz 2009-8-28 16:19:55 save ScratchText 2.1.1 Totals: Sprites: 2 Stacks: 35 Unique costumes: 4 Unique sounds: 2 -------- Sprite: Stage Costumes (2): background1 (480x360) background2 (480x360) Sounds (1): pop (0:00:00) Stacks (25): when I receive "endif" set "Go?" to "1" end when I receive "else" set "ifs encountered" to "0" repeat until (((item (Line) of "Run_commands" ) = ">endif") and ((ifs encountered) = "0")) change "Line" by 1 repeat (length of (item (Line) of "Run_commands" )) change "Var" by 1 if (not ((letter (Var) of (item (Line) of "Run_commands" )) = " ")) if ((space?) = "0") set "edit_funtion" to (join (edit_funtion) (letter (Var) of (item (Line) of "Run_commands" ))) if ((letter (Var) of (item (Line) of "Run_commands" )) = " ") set "space?" to "1" if ((edit_funtion) = ">if") change "ifs encountered" by 1 if ((edit_funtion) = ">endif") change "ifs encountered" by -1 if ((Line) > (length of "Run_commands" )) set "if error?" to "1" set "Go?" to "1" stop script if ((Line) > (length of "Run_commands" )) set "if error?" to "1" set "Go?" to "1" stop script set "Go?" to "1" end when I receive "if_end" set "ifs encountered" to "0" if ((operator (=,<,>)) = "=") if ((Var) = (Var2)) else else repeat until (((item (Line) of "Run_commands" ) = ">else") and ((ifs encountered) = "0")) change "Line" by 1 set "Var" to "0" set "edit_funtion" to "" set "space?" to "0" repeat (length of (item (Line) of "Run_commands" )) change "Var" by 1 if (not ((letter (Var) of (item (Line) of "Run_commands" )) = " ")) if ((space?) = "0") set "edit_funtion" to (join (edit_funtion) (letter (Var) of (item (Line) of "Run_commands" ))) if ((letter (Var) of (item (Line) of "Run_commands" )) = " ") set "space?" to "1" if ((edit_funtion) = ">if") change "ifs encountered" by 1 if ((edit_funtion) = ">endif") change "ifs encountered" by -1 if ((Line) > (length of "Run_commands" )) set "if error?" to "1" set "Go?" to "1" stop script if ((operator (=,<,>)) = ">") if ((Var) < (Var2)) else else repeat until (((item (Line) of "Run_commands" ) = ">else") and ((ifs encountered) = "0")) change "Line" by 1 set "Var" to "0" set "edit_funtion" to "" set "space?" to "0" repeat (length of (item (Line) of "Run_commands" )) change "Var" by 1 if (not ((letter (Var) of (item (Line) of "Run_commands" )) = " ")) if ((space?) = "0") set "edit_funtion" to (join (edit_funtion) (letter (Var) of (item (Line) of "Run_commands" ))) if ((letter (Var) of (item (Line) of "Run_commands" )) = " ") set "space?" to "1" if ((edit_funtion) = ">if") change "ifs encountered" by 1 if ((edit_funtion) = ">endif") change "ifs encountered" by -1 if ((Line) > (length of "Run_commands" )) set "if error?" to "1" set "Go?" to "1" stop script if ((operator (=,<,>)) = "<") if ((Var) > (Var2)) else else repeat until (((item (Line) of "Run_commands" ) = ">else") and ((ifs encountered) = "0")) change "Line" by 1 set "Var" to "0" set "edit_funtion" to "" set "space?" to "0" repeat (length of (item (Line) of "Run_commands" )) change "Var" by 1 if (not ((letter (Var) of (item (Line) of "Run_commands" )) = " ")) if ((space?) = "0") set "edit_funtion" to (join (edit_funtion) (letter (Var) of (item (Line) of "Run_commands" ))) if ((letter (Var) of (item (Line) of "Run_commands" )) = " ") set "space?" to "1" if ((edit_funtion) = ">if") change "ifs encountered" by 1 if ((edit_funtion) = ">endif") change "ifs encountered" by -1 if ((Line) > (length of "Run_commands" )) set "if error?" to "1" set "Go?" to "1" stop script set "Go?" to "1" end when I receive "if2" if ((item "1" of "Command_running" ) = """) else if ((item "last" of "Command_running" ) = """) else delete 1 of "Command_running" delete "last" of "Command_running" set "Var" to "" repeat until ((length of "Command_running" ) = "0") if (not ((length of "Command_running" ) = "0")) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" broadcast "if_end" stop script else set "Var" to "" repeat until ((length of "Command_running" ) = "0") if (not ((length of "Command_running" ) = "0")) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" broadcast "calculator (Thanks Paddle2See!)" else set "Var" to "" repeat until ((length of "Command_running" ) = "0") if (not ((length of "Command_running" ) = "0")) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" broadcast "calculator (Thanks Paddle2See!)" set "done calculating" to "0" wait until ((done calculating) = "1") broadcast "if_end" end when I receive "if" if ((item "1" of "Command_running" ) = """) else if ((item "last" of "Command_running" ) = """) else delete 1 of "Command_running" delete "last" of "Command_running" set "Var" to "" repeat until ((item 1 of "Command_running" ) = "=") if (not ((item 1 of "Command_running" ) = "=")) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" delete 1 of "Command_running" set "Var2" to (Var) broadcast "if2" stop script else set "Var" to "" repeat until (((item 1 of "Command_running" ) = "=") or (((item 1 of "Command_running" ) = "<") or ((item 1 of "Command_running" ) = ">"))) if (not (((item 1 of "Command_running" ) = "=") or (((item 1 of "Command_running" ) = "<") or ((item 1 of "Command_running" ) = ">")))) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" set "operator (=,<,>)" to (item 1 of "Command_running" ) delete 1 of "Command_running" broadcast "calculator (Thanks Paddle2See!)" else set "Var" to "" repeat until (((item 1 of "Command_running" ) = "=") or (((item 1 of "Command_running" ) = "<") or ((item 1 of "Command_running" ) = ">"))) if (not (((item 1 of "Command_running" ) = "=") or (((item 1 of "Command_running" ) = "<") or ((item 1 of "Command_running" ) = ">")))) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" set "operator (=,<,>)" to (item 1 of "Command_running" ) delete 1 of "Command_running" broadcast "calculator (Thanks Paddle2See!)" set "done calculating" to "0" wait until ((done calculating) = "1") set "Var2" to (Var) broadcast "if2" end when I receive "set" set "Var2" to "" repeat until ((item 1 of "Command_running" ) = "=") if (not ((item 1 of "Command_running" ) = "=")) set "Var2" to (join (Var2) (item 1 of "Command_running" )) delete 1 of "Command_running" delete 1 of "Command_running" if ((item "1" of "Command_running" ) = """) else if ((item "last" of "Command_running" ) = """) else delete 1 of "Command_running" delete "last" of "Command_running" set "Var" to "" repeat until ((length of "Command_running" ) = "0") if (not ((length of "Command_running" ) = "0")) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" broadcast "set_end" stop script else set "Var" to "" repeat until ((length of "Command_running" ) = "0") if (not ((length of "Command_running" ) = "0")) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" broadcast "calculator (Thanks Paddle2See!)" else set "Var" to "" repeat until ((length of "Command_running" ) = "0") if (not ((length of "Command_running" ) = "0")) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" broadcast "calculator (Thanks Paddle2See!)" set "done calculating" to "0" wait until ((done calculating) = "1") broadcast "set_end" end when I receive "set2" add (Var2) to "Variables" add (Var) to "VarValues" set "Go?" to "1" end when I receive "input2" add (Var) to "Variables" add (answer) to "VarValues" set "Go?" to "1" end when I receive "set1" replace item (var4) of "VarValues" with (Var) set "Go?" to "1" end when I receive "input1" replace item (Var2) of "VarValues" with (answer) set "Go?" to "1" end when I receive "Run" set "if error?" to "0" set "joined" to "0" set "Line" to "0" forever change "Line" by 1 if ((Line) > (length of "Run_commands" )) broadcast "end error" stop script delete "all" of "Command_running" set "Var" to "0" repeat (length of (item (Line) of "Run_commands" )) change "Var" by 1 add (letter (Var) of (item (Line) of "Run_commands" )) to "Command_running" delete 1 of "Command_running" if ((item "last" of "Command_running" ) = ";") delete "last" of "Command_running" if ((letter (length of (item ((Line) - 1) of "Run_commands" )) of (item ((Line) - 1) of "Run_commands" )) = ";") set "joined" to "1" set "Command" to "" if ( "Command_running" contains " ") else repeat until ((item 1 of "Command_running" ) = " ") set "Command" to (join (Command) (item 1 of "Command_running" )) delete 1 of "Command_running" delete 1 of "Command_running" else repeat until ((length of "Command_running" ) = "0") set "Command" to (join (Command) (item 1 of "Command_running" )) delete 1 of "Command_running" if ( "Valid_commands" contains (Command)) else broadcast (Command) set "Go?" to "0" wait until ((Go?) = "1") else broadcast "error" stop script if ((stop program?) = "1") broadcast "break" stop script if ((if error?) = "1") broadcast "if error" stop script if ((Running) = "0") stop script end when green flag clicked delete "all" of "Console" add "ScratchText 2.1.1" to "Console" add "Release Date of August 27,2009" to "Console" add "By The-Whiz" to "Console" ask "Press enter to continue..." and wait delete 1 of "Console" delete 1 of "Console" delete 1 of "Console" forever ask "Input command" and wait add (answer) to "Console" if ((answer) = "run") delete "all" of "real_program" delete "last" of "Console" repeat (length of "Console" ) add (item 1 of "Console" ) to "real_program" delete 1 of "Console" delete "all" of "Run_commands" set "Var" to "0" repeat (length of "real_program" ) change "Var" by 1 if ((letter 1 of (item (Var) of "real_program" )) = ">") add (item (Var) of "real_program" ) to "Run_commands" set "stop program?" to "0" broadcast "Run" set "Running" to "1" wait until ((Running) = "0") set "Var" to "0" set "edit_funtion" to "" set "space?" to "0" repeat (length of (answer)) change "Var" by 1 if (not ((letter (Var) of (answer)) = " ")) if ((space?) = "0") set "edit_funtion" to (join (edit_funtion) (letter (Var) of (answer))) if ((letter (Var) of (answer)) = " ") set "space?" to "1" if ( "Valid_commands" contains (edit_funtion)) if (((length of (answer)) - (length of (edit_funtion))) > "0") delete "all" of "Command_running" set "Var" to ((length of (edit_funtion)) + 1) repeat (((length of (answer)) - (length of (edit_funtion))) - 1) change "Var" by 1 add (letter (Var) of (answer)) to "Command_running" broadcast (edit_funtion) set "Go?" to "0" wait until ((Go?) = "1") if ((edit_funtion) = "new") ask "Sure? (Y/N)" and wait if ((answer) = "Y") delete "all" of "Console" if ((edit_funtion) = "save") set "Var" to "5" set "Var2" to "" repeat ((length of (answer)) - 5) change "Var" by 1 set "Var2" to (join (Var2) (letter (Var) of (answer))) delete "last" of "Console" if ( "Program" contains (Var2)) set "Var" to "0" repeat until (not ( "Program" contains (Var2))) if ((item (Var) of "Program" ) = (Var2)) else delete (Var) of "Program" delete (Var) of "ProgramCommand" else change "Var" by 1 set "Var" to "0" repeat (length of "Console" ) change "Var" by 1 add (Var2) to "Program" add (item (Var) of "Console" ) to "ProgramCommand" add (join (join "saved as "" (Var2)) """) to "Console" ask "Press enter to continue" and wait delete "last" of "Console" if ((edit_funtion) = "load") set "Var2" to "" set "Var" to "5" repeat ((length of (answer)) - 5) change "Var" by 1 set "Var2" to (join (Var2) (letter (Var) of (answer))) delete "all" of "Console" add "Loading" to "Console" if ( "Program" contains (Var2)) else set "Var" to "0" repeat until ((item (Var) of "Program" ) = (Var2)) change "Var" by 1 replace item 1 of "Console" with (join "Loading " (join ((round (((Var) / (length of "Program" )) * 10000)) / 100) "%")) repeat until ((Var) = ((length of "Program" ) + 1)) if ((item (Var) of "Program" ) = (Var2)) add (item (Var) of "ProgramCommand" ) to "Console" change "Var" by 1 replace item 1 of "Console" with (join "Loading " (join ((round (((Var) / (length of "Program" )) * 10000)) / 100) "%")) delete 1 of "Console" add (join (join """ (Var2)) "" has been loaded.") to "Console" ask "Press enter to continue" and wait delete "last" of "Console" else add "No such file." to "Console" ask "Press enter to continue" and wait delete "last" of "Console" if ((edit_funtion) = "delete") set "Var2" to "" set "Var" to "7" repeat ((length of (answer)) - 7) change "Var" by 1 set "Var2" to (join (Var2) (letter (Var) of (answer))) delete (Var2) of "Console" delete "last" of "Console" if ((edit_funtion) = "edit") set "Var2" to "" set "Var" to "5" repeat ((length of (answer)) - 5) change "Var" by 1 set "Var2" to (join (Var2) (letter (Var) of (answer))) ask (join (join "Editing " (Var2)) "; Input command. Enter "Undo" to null action.") and wait if (not ((answer) = "undo")) replace item (Var2) of "Console" with (answer) delete "last" of "Console" if ((edit_funtion) = "insert") set "Var2" to "" set "Var" to "7" repeat ((length of (answer)) - 7) change "Var" by 1 set "Var2" to (join (Var2) (letter (Var) of (answer))) ask (join (join "Inserting at " (Var2)) "; Input command. Enter "Undo" to null action.") and wait if (not ((answer) = "undo")) insert (answer) at (Var2) of "Console" delete "last" of "Console" end when I receive "print" if ((item 1 of "Command_running" ) = """) else if ((item "last" of "Command_running" ) = """) else delete 1 of "Command_running" delete "last" of "Command_running" set "Var" to "" repeat (length of "Command_running" ) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" if ((joined) = "1") else replace item "last" of "Console" with (join (item "last" of "Console" ) (Var)) else add (Var) to "Console" set "joined" to "0" set "Go?" to "1" else broadcast "print2" else broadcast "print2" end when I receive "error" add (join (join "Error in line " (Line)) ": Unrecognized command") to "Console" ask "Press enter to continue." and wait delete "all" of "Console" repeat (length of "real_program" ) add (item 1 of "real_program" ) to "Console" delete 1 of "real_program" set "Go?" to "1" set "Running" to "0" end when I receive "print2" set "Var" to "" repeat (length of "Command_running" ) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" set "done calculating" to "0" broadcast "calculator (Thanks Paddle2See!)" wait until ((done calculating) = "1") if ((joined) = "1") else replace item "last" of "Console" with (join (item "last" of "Console" ) (Var)) else add (Var) to "Console" set "joined" to "0" set "Go?" to "1" end when I receive "wait" set "Var" to "" repeat (length of "Command_running" ) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" wait (Var) secs set "Go?" to "1" end when I receive "set_end" set "var4" to "0" forever if ((item (var4) of "Variables" ) = (Var2)) broadcast "set1" stop script if ((var4) = (length of "Variables" )) broadcast "set2" stop script change "var4" by 1 end when I receive "input" set "Var" to "" repeat (length of "Command_running" ) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" if ((joined) = "1") else replace item "last" of "Console" with (join (item "last" of "Console" ) "?") else add "?" to "Console" set "joined" to "0" ask "Enter input:" and wait set "Var2" to "0" forever if ((item (Var2) of "Variables" ) = (Var)) broadcast "input1" stop script if ((Var2) = (length of "Variables" )) broadcast "input2" stop script change "Var2" by 1 end when I receive "goto" set "Var" to "" repeat (length of "Command_running" ) set "Var" to (join (Var) (item 1 of "Command_running" )) delete 1 of "Command_running" set "done calculating" to "0" broadcast "calculator (Thanks Paddle2See!)" wait until ((done calculating) = "1") set "Line" to ((Var) - 1) set "Go?" to "1" end when green flag clicked forever if ((key "q" pressed?) and ((key "u" pressed?) and ((key "i" pressed?) and (key "t" pressed?)))) set "Go?" to "1" set "stop program?" to "1" end when I receive "break" add (join "Break in line " (Line)) to "Console" ask "Press enter to continue." and wait delete "all" of "Console" repeat (length of "real_program" ) add (item 1 of "real_program" ) to "Console" delete 1 of "real_program" set "Go?" to "1" set "Running" to "0" end when I receive "clear" delete "all" of "Console" set "Go?" to "1" end when I receive "end" delete "all" of "Console" repeat (length of "real_program" ) add (item 1 of "real_program" ) to "Console" delete 1 of "real_program" set "Running" to "0" set "Go?" to "1" end when I receive "if error" add "Uncomplete IF!" to "Console" ask "Press enter to continue." and wait delete "all" of "Console" repeat (length of "real_program" ) add (item 1 of "real_program" ) to "Console" delete 1 of "real_program" set "Go?" to "1" set "Running" to "0" end when I receive "end error" add "Program end not specified!" to "Console" ask "Press enter to continue." and wait delete "all" of "Console" repeat (length of "real_program" ) add (item 1 of "real_program" ) to "Console" delete 1 of "real_program" set "Go?" to "1" set "Running" to "0" end -------- Sprite: Calculator Costumes (1): costume1 (13x14) Sounds (0): Stacks (7): when I receive "calculator (Thanks Paddle2See!)" set "Input Line" to (Var) broadcast "Parse Line into Infix Fields" and wait broadcast "Substitute Constants" and wait broadcast "Translate Infix to Postfix" and wait broadcast "Evaluate Postfix Expression" and wait end when I receive "Evaluate Postfix Expression" repeat until ((length of "Postfix" ) < "2") set "I1" to "2" set "Field" to (item (I1) of "Postfix" ) repeat until ((( "Op High" contains (Field)) or ( "Op Medium" contains (Field))) or (( "Op Low" contains (Field)) or ( "Functions" contains (Field)))) change "I1" by 1 set "Field" to (item (I1) of "Postfix" ) if (not ( "Functions" contains (Field))) set "A" to (item ((I1) - 2) of "Postfix" ) set "B" to (item ((I1) - 1) of "Postfix" ) set "Op" to (item (I1) of "Postfix" ) if ((Op) = "+") else replace item ((I1) - 2) of "Postfix" with ((A) + (B)) else if ((Op) = "-") else replace item ((I1) - 2) of "Postfix" with ((A) - (B)) else if ((Op) = "*") else replace item ((I1) - 2) of "Postfix" with ((A) * (B)) else if ((Op) = "/") else replace item ((I1) - 2) of "Postfix" with ((A) / (B)) else if ((Op) = "^") else replace item ((I1) - 2) of "Postfix" with ( "10 ^" of ((B) * ( "log" of (A)))) else if ((Op) = "sin") else replace item ((I1) - 1) of "Postfix" with ( "sin" of (B)) else if ((Op) = "cos") else replace item ((I1) - 1) of "Postfix" with ( "cos" of (B)) else if ((Op) = "tan") else replace item ((I1) - 1) of "Postfix" with ( "tan" of (B)) else if ((Op) = "asin") else replace item ((I1) - 1) of "Postfix" with ( "asin" of (B)) else if ((Op) = "acos") else replace item ((I1) - 1) of "Postfix" with ( "acos" of (B)) else if ((Op) = "atan") else replace item ((I1) - 1) of "Postfix" with ( "atan" of (B)) else if ((Op) = "sqrt") else replace item ((I1) - 1) of "Postfix" with ( "sqrt" of (B)) else if ((Op) = "%") else replace item ((I1) - 1) of "Postfix" with (0 - (B)) else add (join (join "Unrecognized Operator '" (Op)) (join "' in line " (Line))) to "Console" if ( "Functions" contains (Field)) else delete (I1) of "Postfix" else delete ((I1) - 1) of "Postfix" delete ((I1) - 1) of "Postfix" set "Var" to (item 1 of "Postfix" ) set "done calculating" to "1" end when green flag clicked hide end when I receive "Parse Line into Infix Fields" delete "all" of "Infix" set "L1" to (length of (Input Line)) set "Unary Operator" to "1" set "Field" to "" set "I1" to "1" repeat (L1) set "Character" to (letter (I1) of (Input Line)) if (((( "Op High" contains (Character)) or ( "Op Medium" contains (Character))) or (( "Op Low" contains (Character)) or ( "Paren" contains (Character)))) or ((Character) = " ")) else if (((Unary Operator) = "1") and ((Character) = "-")) set "Character" to "%" if ((( "Op High" contains (Character)) or ( "Op Medium" contains (Character))) or (( "Op Low" contains (Character)) or ((Character) = "("))) else set "Unary Operator" to "1" else set "Unary Operator" to "0" if ((length of (Field)) > "0") add (Field) to "Infix" set "Field" to "" if (not ((Character) = " ")) add (Character) to "Infix" else if (not ((Character) = " ")) set "Unary Operator" to "0" set "Field" to (join (Field) (Character)) change "I1" by 1 if ((length of (Field)) > "0") add (Field) to "Infix" end when I receive "Translate Infix to Postfix" delete "all" of "Postfix" delete "all" of "Translation Stack" set "I1" to "1" repeat (length of "Infix" ) set "Field" to (item (I1) of "Infix" ) if (((( "Op High" contains (Field)) or ( "Op Medium" contains (Field))) or (( "Op Low" contains (Field)) or ( "Paren" contains (Field)))) or ( "Functions" contains (Field))) else broadcast "Process Operators and Functions" and wait else add (Field) to "Postfix" change "I1" by 1 repeat (length of "Translation Stack" ) add (item (length of "Translation Stack" ) of "Translation Stack" ) to "Postfix" delete "last" of "Translation Stack" end when I receive "Process Operators and Functions" if ((Field) = "(") else add (Field) to "Translation Stack" else if ((Field) = ")") else repeat until ((item (length of "Translation Stack" ) of "Translation Stack" ) = "(") add (item (length of "Translation Stack" ) of "Translation Stack" ) to "Postfix" delete "last" of "Translation Stack" delete "last" of "Translation Stack" else set "Move Required" to "1" repeat until ((Move Required) = "0") set "Top Op" to (item (length of "Translation Stack" ) of "Translation Stack" ) set "Move Required" to "0" if (( "Op Low" contains (Field)) and (( "Op Low" contains (Top Op)) or (( "Op Medium" contains (Top Op)) or ( "Op High" contains (Top Op))))) set "Move Required" to "1" if (( "Op Medium" contains (Field)) and (( "Op Medium" contains (Top Op)) or ( "Op High" contains (Top Op)))) set "Move Required" to "1" if (( "Op High" contains (Field)) and ( "Op High" contains (Top Op))) set "Move Required" to "1" if ((( "Op Low" contains (Field)) or (( "Op Medium" contains (Field)) or ( "Op High" contains (Field)))) and ( "Functions" contains (Top Op))) set "Move Required" to "1" if ((Move Required) = "1") add (Top Op) to "Postfix" delete "last" of "Translation Stack" if ((length of "Translation Stack" ) < "1") set "Move Required" to "0" add (Field) to "Translation Stack" end when I receive "Substitute Constants" replace item 1 of "VarValues" with (pick random (item 2 of "VarValues" ) to (item 3 of "VarValues" )) set "I1" to "1" repeat (length of "Infix" ) if ( "Variables" contains (item (I1) of "Infix" )) set "J1" to "1" repeat until ((item (I1) of "Infix" ) = (item (J1) of "Variables" )) change "J1" by 1 replace item (I1) of "Infix" with (item (J1) of "VarValues" ) change "I1" by 1 end -------- Sprite: Sprite1 Costumes (1): costume3 (480x360) Sounds (1): meow (0:00:01) Stacks (1): when green flag clicked go back 1 layers end --------
A bit easier than my code...
Offline
This is awesome (how do you do that "code" thing?)
weswesrock wrote:
Project: Find the Door!
Author: weswesrock
Scratch: 1.4 of 30-Jun-09
Notes:
~~~*STORY*~~~
You are a robot, and you're trying to escape the factory you were built in so the company can't sell you.
+++ INSTRUCTIONS +++
Use the arrow keys to move in every direction (you'll scroll in every direction also) and find the door.
On your way, you will reach fake doors, water (you're water proof, it just slows you down), and padlocks with keys (there are fake keys as well).
There are ten levels and I used lists to save your progress so when you press the green flag (or have saved it on your computer), You will return to the level you were last in.
I know it's laggy, but that's because all the actions are in one script (the second script is just the music, if you don't believe me download it).
*LOVE IT IF YOU WANT MORE LEVELS!*
I'd REALLY appreciate input for future levels because this is NOT the final version.
===REMIX NOTES===
Ask in a comment if you want to remix.
History:
2009-9-6 09:52:01 save Find the Door! weswesrock
2009-9-6 13:08:46 save Find the Door!
2009-9-6 13:14:50 save Find the Door!
2009-9-6 13:59:04 save Find the Door!
2009-9-6 13:59:10 save Find the Door!
2009-9-6 16:32:30 save Find the Door!
2009-9-6 16:32:34 save Find the Door!
2009-9-6 19:51:57 save Find the Door!
2009-9-6 20:27:33 save Find the Door!
2009-9-6 20:27:44 save Find the Door!
2009-9-7 09:42:09 save Find the Door!
2009-9-7 09:59:44 save Find the Door!
2009-9-7 10:08:37 save Find the Door!
2009-9-7 10:08:52 save Find the Door!
2009-9-7 11:11:24 save Find the Door!
2009-9-7 11:21:54 save Find the Door!
2009-9-7 11:35:35 save Find the Door!
2009-9-7 11:42:18 save Find the Door!
2009-9-7 11:44:57 save Find the Door!
2009-9-7 11:46:28 save Find the Door!
2009-9-7 11:46:45 save Find the Door!
2009-9-7 11:47:02 save Find the Door!
2009-9-7 13:00:37 save Find the Door!
2009-9-7 13:09:59 save Find the Door!
2009-9-7 13:10:11 save Find the Door!
2009-9-7 16:25:54 share Find the Door! weswesrock
2009-9-7 16:26:41 save Find the Door! weswesrock
2009-9-7 18:43:47 save Find the Door!
Totals:
Sprites: 1
Stacks: 3
Unique costumes: 18
Unique sounds: 4
--------
Sprite: Stage
Costumes (1):
robot (480x360)
Sounds (0):
No stacks.
--------
Sprite: terrain
Costumes (17):
Title (480x360)
terrain1 (480x360)
terrain2 (480x360)
terrain3 (480x360)
terrain4 (480x360)
terrain5 (480x360)
terrain6 (480x360)
terrain6unlocked (480x360)
terrain7 (480x360)
terrain7unlocked (480x360)
terrain8 (480x360)
terrain8unlocked (480x360)
terrain9 (480x360)
terrain10 (480x360)
terrain10unlocked (480x360)
WIN!!! (480x360)
LOVE IT (496x374)
Sounds (4):
Techno1 (0:00:15)
ComputerBeeps1 (0:00:01)
Techno (0:00:08)
Chord (0:00:02)
Stacks (2):
when green flag clicked
hide variable "TIME:"
switch to costume "Title"
set size to 100%
go to x: 0 y: 0
play drum 37 for 0.2 beats
wait 3 secs
play sound "ComputerBeeps1"
set "pixelate" effect to 100
repeat 10
change "pixelate" effect by -10
set size to 200%
set "ghost" effect to 15
if ((length of "savelevel" ) = "0") else
switch to costume "terrain1"
else
switch to costume (savelevel)
go to x: 15 y: 0
show variable "TIME:"
reset timer
forever
set "TIME:" to (timer)
if (key "up arrow" pressed?)
if (color c[00FFFF] is touching c[636363]?) else
change y by -7
else
change y by -10
set "TIME:" to (timer)
if (color c[000008] is touching c[FF9400]?)
if (color c[00FFFF] is touching c[636363]?) else
change y by 7
else
change y by 10
set "TIME:" to (timer)
if (key "down arrow" pressed?)
if (color c[00FFFF] is touching c[636363]?) else
change y by 15
else
change y by 10
set "TIME:" to (timer)
if (color c[000008] is touching c[00FF52]?)
if (color c[00FFFF] is touching c[636363]?) else
change y by -15
else
change y by -10
set "TIME:" to (timer)
if (key "right arrow" pressed?)
if (color c[00FFFF] is touching c[636363]?) else
change x by -7
else
change x by -10
set "TIME:" to (timer)
if (color c[000008] is touching c[FFFF00]?)
if (color c[00FFFF] is touching c[636363]?) else
change x by 7
else
change x by 10
set "TIME:" to (timer)
if (key "left arrow" pressed?)
if (color c[00FFFF] is touching c[636363]?) else
change x by 7
else
change x by 10
set "TIME:" to (timer)
if (color c[000008] is touching c[FF0000]?)
if (color c[00FFFF] is touching c[636363]?) else
change x by -7
else
if (color c[000008] is touching c[FF0000]?)
change x by -10
set "TIME:" to (timer)
if (color c[FFFF9C] is touching c[636363]?)
next costume
play sound "Chord"
set "TIME:" to (timer)
if (color c[633900] is touching c[636363]?)
if ((costume #) = "15") else
go to x: 0 y: 0
switch to costume "WIN!!!"
set size to 100%
wait 3 secs
switch to costume "LOVE IT"
stop all
else
next costume
if ((length of "savelevel" ) = "0") else
insert (costume #) at "1" of "savelevel"
else
replace item 1 of "savelevel" with (costume #)
go to x: 15 y: 0
play sound "ComputerBeeps1"
set "pixelate" effect to 100
repeat 10
change "pixelate" effect by -10
set "TIME:" to (timer)
end
when green flag clicked
forever
repeat 3
play sound "Techno1" until done
set instrument to 120
play note 64 for 0.5 beats
repeat 2
play sound "Techno" until done
end
--------
Last edited by weswesrock (2009-09-07 21:49:57)
Offline
What incredibly useful information to have! This is the first I've heard of it. Up to this point I've had to make screen captures of crucial scripts and print them out. Not very efficient. And now we have the creation dates, name changes for the projects, all sorts of things that are valuable. ---- Thanks for telling us how to find this information!!
Offline
Thank you for your awesome topic big-bang! This is really cool!
Offline
Here's the summary for my newest project
In swedish Scratch
Project: Simple 3D extruder V2
Author: jacool
Scratch: 1.4 of 30-Jun-09
Notes:
Instructions:
1 First place out the first vertex.
2 Then click to place out more.
3 Press space to extrude
NOTE: You don't have to make the last line to the first vertex, it will be done automaticly.
When it's extruded you can make another one, go to step 1.
Toggle between draw mode and single vertex mode by pressing the D button.
Change the length of the current mesh with the up/down arrows.
Change the color with right/left arrows.
Hope you enjoy :)
History:
2009-9-4 15:05:04 save 3dextruder
2009-9-4 15:07:58 share Simple 3D extruder jacool
2009-9-4 15:53:25 save Simple 3D extruder jacool jacool
2009-9-7 15:51:09 save Simple 3D extruder2
2009-9-7 15:51:18 save Simple 3D extruder2
2009-9-7 15:57:40 share Simple 3D extruder V2 jacool
2009-9-7 16:00:08 save Simple 3D extruder V2 jacool jacool
2009-9-7 16:00:33 share Simple 3D extruder V2 jacool jacool
2009-9-7 16:10:11 share Simple 3D extruder V2 jacool jacool
2009-9-7 16:17:14 save Simple 3D extruder V2 jacool jacool
2009-9-7 16:18:14 share Simple 3D extruder V2 jacool jacool
2009-9-7 16:27:47 save Simple 3D extruder V2 jacool jacool
2009-9-7 16:28:11 save Simple 3D extruder V2 jacool jacool
2009-9-7 16:28:19 share Simple 3D extruder V2 jacool jacool
2009-9-7 17:00:21 save Simple 3D extruder V2 jacool jacool
2009-9-7 17:00:26 save Simple 3D extruder V2 jacool jacool
Totals:
Sprites: 4
Stacks: 16
Unique costumes: 4
Unique sounds: 1
--------
Sprite: Scen
Costumes (1):
bakgrund1 (480x360)
Sounds (1):
pop (0:00:00)
Stacks (4):
when down arrow key pressed
ändra "Length" med -1
end
when up arrow key pressed
ändra "Length" med 1
end
when d key pressed
om ((Draw) = "1") annars
sätt "Draw" till "0"
else
sätt "Draw" till "1"
end
when green flag clicked
för alltid
om ( "pil höger" nedtryckt?)
ändra "Color value" med 1
om ( "pil vänster" nedtryckt?)
ändra "Color value" med -1
end
--------
Sprite: Sprite2
Costumes (1):
klädsel1 (1x1)
Sounds (0):
Stacks (4):
when I receive "end"
göm
sätt "Color value" till "0"
sätt "Vertex" till "1"
penna upp
vänta tills (musknappen?)
vänta 0.1 sekunder
gå till x: ("1" i "X" ) y: ("1" i "Y" )
penna ned
för alltid
gå till x: ("last" i "X" ) y: ("last" i "Y" )
end
when space key pressed
penna ned
gå till x: (1 i "X" ) y: (1 i "Y" )
lägg till (x-läge) till "X"
lägg till (y-läge) till "Y"
end
when green flag clicked
radera
för alltid
sätt pennans färg till (Color value)
end
when green flag clicked
sända "end"
end
--------
Sprite: Sprite4
Costumes (1):
klädsel1 (39x36)
Sounds (0):
Stacks (1):
when green flag clicked
för alltid
sätt "färg" effekten till (Color value)
end
--------
Sprite: Sprite1
Costumes (1):
klädsel1 (5x5)
Sounds (0):
Stacks (4):
when I receive "end"
sätt "Draw" till "0"
sätt "Length" till "50"
ta bort "all" i "X"
ta bort "all" i "Y"
för alltid
gå till s[musmarkör]
end
when green flag clicked
sända "end"
end
when I receive "end"
vänta 0.1 sekunder
för alltid om (musknappen?)
stämpla
lägg till (x-läge) till "X"
lägg till (y-läge) till "Y"
om ((Draw) = "0")
vänta tills (inte (musknappen?))
vänta 0.1 sekunder
end
when green flag clicked
end
--------
Sprite: Sprite3
Costumes (1):
klädsel1 (1x1)
Sounds (0):
Stacks (3):
when green flag clicked
göm
för alltid
sätt pennans färg till (Color value)
end
when space key pressed
repetera (längd på "X" )
penna upp
gå till x: ((Vertex) i "X" ) y: ((Vertex) i "Y" )
penna ned
gå till x: (((Vertex) i "X" ) + (Length)) y: (((Vertex) i "Y" ) + (Length))
lägg till (x-läge) till "X"
lägg till (y-läge) till "Y"
penna upp
ändra "Vertex" med 1
sända "end"
end
when green flag clicked
sända "end"
end
--------Last edited by jacool (2009-09-08 12:01:30)

Offline