This page's contents needs to be merged into List of Scratch Modifications, as per the discussion here. (June 2024) |
This article has links to websites or programs outside of Scratch and Wikipedia. Remember to stay safe while using the internet, as we cannot guarantee the safety of other websites. |
Explore | |
Current Version | 3.4.1 |
Operating Systems | Windows, Mac OS X, and Linux (the latter two are image-only) |
Developer(s) | powerpoint56, jueschnei (Windows installed version) |
Open source? | Yes |
Programming language | Squeak |
Released? | Yes |
Compatible with | Scratch 1.4 |
Official Website | http://explore-programming.weebly.com and https://explore4.weebly.com |
Forum Topic | topic:8314 |
Active | Yes |
Explore[1] is a Scratch Modification created by powerpoint56 based on Scratch 1.4. Its main purpose is to improve Scratch by allowing the user to "explore" in such ways as using the Internet, file manipulation, etc.
New Blocks
Explore has 210+ new blocks as well as 6 new categories: Connect, Objects, Program, More, Strings and Files.
These blocks are as of version 3.4.
Motion
point to x:(0) y:(0):: motion // points towards the given coordinates if touching [mouse-pointer v] bounce::motion // makes the sprite bounce when touching a specific sprite set rotation style to [normal v]:: motion // sets the rotation style for the sprite set rotation center to x:(10) y:(10):: motion // sets the rotation center of the sprite to a specific coordinate toggle draggable:: motion // toggles whether a sprite can be dragged in the player snap to grid x:(10) y:(10):: motion // snaps the sprite to a specific coordinate <draggable:: motion> // reports true if sprite is draggable in player (rotation style:: motion) // reports the rotation style for the sprite
Control
while <>{ }:: control c block // c-block that acts as the opposite of 'repeat until <>' launch{ }:: control c block // c block that starts a script but continues right on to the next with no delay stop all and press green flag:: control cap // cap block which stop all scripts and restarts the project stop scripts of [ v]:: control // stops a specific sprite's scripts stop broadcast [ v]:: control // stops a specific broadcast
Looks
(number of costumes:: looks) // reports the amount of costumes (name of costume (1):: looks) // reports the name of a costume delete costume (10):: looks // deletes specified costume add costume from [paint new v]:: looks // adds a new costume from specified location <camera open?:: looks> // reports if the computer's camera (webcam) is available close camera:: looks // closes the user's computer's camera add costume from [url v] []:: looks // adds a new costume from specified location (last said/thought:: looks) // reports what the sprite last said or thought (graphic effect [color v]:: looks) // reports the specified graphic effect amount apply graphic effects to costume:: looks change [size v] by ():: looks // changes the size, stretch, or vertical stretch of a sprite by a certain amount set [size v] to ():: looks // sets the size, stretch or vertical stretch of a sprite ([size v]:: looks) // reports the size, stretch, or vertical stretch of a sprite <showing?:: looks> // reports if a sprite is showing go to layer (1):: looks // sends the sprite to the specified layer (height:: looks) // reports the height of the sprite (width:: looks) // reports the width of the sprite flip horizontal:: looks // flips the sprite horizontally flip vertical:: looks // flips the sprite vertically
Sensing
(sprites I'm touching:: sensing) // reports a list of sprites the sprite is touching (current [time v]:: sensing) // reports the specified item involving time <[left v] mouse down?:: sensing> // reports if the specified part of the mouse is being pressed (all keys pressed \(max. 4\):: sensing) // reports up to 4 keys that are being pressed (key pressed:: sensing) // reports the last key pressed (distance to x:(10) y:(10):: sensing) // reports the distance to the specified location (pitch:: sensing) // reports the pitch of the sound from the microphone
Sound
play sec () to () of [ v]:: sound // plays a specified portion of a sound stop sound [ v]:: sound // stops a specific sound import sound from []::sound // imports a sound from a user's local files record sound::sound // record a sound (length of sound [pop v]:: sound) // reports the length of a sound (my sounds:: sound) // reports a list of sounds error beep:: sound // play's the user's computer's error sound
Operators
(() [ v] ():: operators) // performs an operation on two numbers <true:: operators> // constant; reports true <false ::operators> // constant; reports false (if <> then [] else []:: operators) // if the boolean is true it reports the first item, otherwise it reports the second item (round () to () places:: operators) // rounds a number to a specific decimal place (constant [pi v]:: operators) // reports the selected constant (ascii for [A]:: operators) // reports the ascii code of a letter (ascii [65] as letter:: operators) // reports the letter for the ascii code specified
Pen
<pen down?:: pen> // reports true if the pen is down (pen color:: pen) // reports the pen color (pen color as rgb:: pen) // reports the RGB version of a color (pen shade:: pen) // reports the pen shade (pen size:: pen) // reports the pen size stamp text [hi] at x: (0) y: (0) font: [Arial v] size: (10) color: [#FF0000]:: pen // stamps text at the given location and using the specified information oval radius (80) by (50):: pen // creates an oval with a specified horizontal and vertical radius rectangle radius (50) by (50):: pen // creates a rectangle with specificed side lengths
Variables
move [ v] to x (10) y (10):: variables // moves the variable monitor to a certain location set [ v] color to [#FF0000]:: variables // changes a variable's monitor color set [ v] style to [small v]:: variables // sets the type of monitor (variable []:: variables) // reports the inputted variable's value
Lists
add list [] type [private v]:: list // creates a local or global list delete private list [list v]:: list // deletes a specific list (items (1) to (3) of [list v]:: list) // reports a specific range of items in a list show list [list v] // shows a specific list monitor hide list [list v] // hides a specific list monitor set list blocks color to [#FF0000]:: list // sets the color of every list and list block to the given color send collection [] to [list v]:: list // sets a list to a collection (split [1,2,3] at [,]:: list) // splits the string at each specified spot and reports it (join [list v] with [,]:: list) // joins the items in the list together using the specified character (sort [collection] alphabetically/numerically:: list) // sorts a collection numerically/alphabetically ([mean v] of [list v]:: list) // reports the data specified about a list ([list v] replace all [this] with [this]:: list) // reports a collection with another list's item being replaced with a specific string (place (1) that [this] is in [list v]:: list) (times [this] is in [list v]:: list) // reports the amount of times a string is in a list
Strings (New Category)
(letters (1) to (5) of [hello world]:: #949400) // reports a specific part of the specified string <[raincoat] [contains v] [coat]:: #949400> // compares two strings based on a specific criteria ([reverse v] [hello]:: #949400) // performs a change on a string (newline:: #949400) // constant; reports a newline character (line (1) of [multiline]:: #949400) // reports a specific line of a multiline string (lines in [multiline]:: #949400) // reports the amount of lines in a multiline string ([multiline]:: #949400) // reports a multiline string as a single-line string (replace letters (2) to (2) of [cut] with [a]:: #949400) // replaces a specific portion of a string with anotehr string (replace every [u] with [a] in [cut]:: #949400) // replaces every instance of a string with another string in a string (place (1) that [a] is in [apple]:: #949400) (times [a] is in [raincoat]:: #949400) // reports the amount of times a specific string is in a string (repeat [do] (2) times:: #949400) // joins a string with itself a specific amount of times (word (2) of [hello world]:: #949400) // reports the nth word in a string (words in [hello world]:: #949400) // reports the amount of words in a string (censor string [bad word]:: #949400) // replaces any bad words with asterisks
Objects (New Category)
(clone me:: #ff8c00) // clones the sprite and reports its name clone me and do { }:: #ff8c00 // clones the sprite and has clone perform the task inside loop <[ v] is a clone?:: #ff8c00> // reports if a specific sprite is a clone (my parent:: #ff8c00) // reports the sprite's parent (my clones:: #ff8c00) // reports the sprite's clones delete sprite [ v]:: #ff8c00 // deletes a speicific sprite set my name of [ v] to []:: #ff8c00 // renames a specific sprite (name of [ v]:: #ff8c00) // reports the name of a specific sprite make [ v] do { }:: #ff8c00 // makes a specific sprite perform the task inside of the c block (self:: #ff8c00) (object [ v]:: #ff8c00) (all sprites:: #ff8c00) (stage:: #ff8c00) export self to file []:: #ff8c00
Files (New Category)
(read file []:: #643f23) // reads a file from a specific path <file [] exists?:: #643f23> // checks if a file exists in a specific path (size of file [] \(KB\):: #643f23) // reports the size of a file in KBs from a specific path (extension of file []:: #643f23) // reports the extension of a file in from a specific path (directory for []:: #643f23) (local name for []:: #643f23) ([files v] in folder []:: #643f23) write [] to file []:: #643f23 export [costume1 v] to file []:: #643f23 make file/folder at []:: #643f23 delete file []:: #643f23 (dialog ask for file, title [] extention\(s\) [txt docx]:: #643f23) (pick file path, title [], initial directory []:: #643f23) (pick folder path, title [], initial directory []:: #643f23) (file path [user v]:: #643f23)
Connect (New Category)
(read url []:: #39bf93) // reports the contents of the url <internet connection:: #39bf93> // reports true if the user has internet connection (http post to document [www.domain.com/]:: #39bf93) open URL or file [http://google.com]:: #39bf93 (search [Google v] for []:: #39bf93) (info for zipcode [02139]:: #39bf93) (weather in days [1] in zipcode [02139]:: #39bf93) add costume from Google map location: [Cambridge, Massachusetts] zoom: (18) width: (640) height: (640) type: [roadmap v]:: #39bf93 add costume from street-view map location: [Cambridge, Massachusetts] width: (640) height: (640) compass dir: (360) zoom: (90) vertical angle: (0):: #39bf93 set cloud var [] to []:: #39bf93 (get cloud var []:: #39bf93) make cloud list []:: #39bf93 (cloud list []:: #39bf93) add [thing] to c-list []:: #39bf93 delete (1) of c-list []:: #39bf93 delete all of c-list []:: #39bf93 insert [thing] at (1) of c-list []:: #39bf93 replace (1) of c-list [] with [thing]:: #39bf93 (item (1) of c-list []:: #39bf93) (items (1) to (3) of c-list []:: #39bf93) (length of c-list []:: #39bf93) transfer c-list [] to list [list v]:: #39bf93 transfer list [list v] to c-list []:: #39bf93
Program (New Category)
[enter v] presentation mode:: #003ae6 <presentation mode?:: #003ae6> <using Explore?:: #003ae6> set stepping speed to (0):: #003ae6 save project:: #003ae6 save project to []:: #003ae6 import sprite or project from []:: #003ae6 open project at []:: #003ae6 (system [project directory v]:: #003ae6) (remaining memory:: #003ae6) quit Explore:: #003ae6 cap set cursor to [normal v]:: #003ae6 copy [] to clipboard:: #003ae6 (clipboard:: #003ae6) run code [] in [Squeak v]:: #003ae6 (Squeak code []:: #003ae6) host mesh:: #003ae6 join mesh []:: #003ae6 leave mesh:: #003ae6 (IP address:: #003ae6)
More (New Category)
(last dialog entry:: #000001) dialog [Info] title [This is info]:: #000001 dialog of current costume title []:: #000001 <confirm [Are you sure?] with title [Question]:: #000001> (ask [Do you agree?] with buttons [Yes, I agree] [No, I do not.] []:: #000001) (ask [What's your name?] initial answer [John Doe]:: #000001) (scrolling dialog text [] title [] editable <>:: #000001) close dialogs:: #000001 <confirm []:: #000001> inform []:: #000001 (fonts:: #000001) (color at pixel x:(0) y:(0):: #000001) (color r:(10) g:(10) b:(10):: #000001) (color h:(10) s:(10) v:(10):: #000001) ([#FF0000] [hue v]:: #000001) (color [#FF0000] lighter by:(10):: #000001) (mix [#FF0000] and [#FF0000] with ratio (10):(10):: #000001) <[#FF0000]=[#FF0000]:: #000001> ([#FF0000] negated:: #000001) ([#FF0000] as hex:: #000001) (hex [] as color:: #000001)
Other Features
Explore has various new features, the most important being a new menu called "Explore". Other non-block improvements have been made in more recent versions.[2]
The Explore menu has the following options. Most of the options are updated using info from the cloud.
- Check for updates: Checks for new versions of Explore.
- Current Development: Discusses current development of Explore.
- Explore community: Lists members who have signed up for the community (see Join community).
- Find member: Finds a member in the community.
- Join community: The Explore community is simply a group of people who use Explore. By clicking this button a user adds their username to the list.
The rest of the options open certain URLs.
New Plugins Feature
Explore 3.4 and later has a new feature called plugins. Plugins are change sets that developers can make to be added to Explore. People who use Explore can use the new Plugins menu to find plugins and install them to get special blocks/features.
Malware Protection
Explore, like most programming languages, has many useful features that can also be used to create viruses. There will be a malware protection feature in Explore 4.
Windows Installer
During development of Explore 3.3, jueschnei began working with powerpoint56, and created a new Windows Installer that is still in active development.
The installed version of Explore by jueschnei comes with many helpful new features. It automatically keeps Explore up to date, and has its own Explore2EXE converter. Recent development has been focused on the Explore Store, which will let users share and browse projects, plugins and more.
Future Development
There were plans for a version 4 of Explore. However, no update on this has been given since its announcement.
Images from Explore
See Also
References
- ↑ powerpoint56. (22/7/2013). "Explore, Scratch mod[title]" projects:11544873
- ↑ explore-programming.weebly.com/features.html