Eng:Bingo (Scratch Modification)

Bingo is a Scratch Modification based on Scratch 1.4 that aims to extend Scratch's programming ceiling by adding more blocks and capabilities as well as making it easier to work with projects by adding usability enhancements.

Changes
Bingo has changes to Scratch's interface, blocks, menus, and dialogues.

Feature Changes

 * An "Open Shortcut" button
 * 'Last opened project' in file menu
 * Skin Themes are in v2.0
 * Four extra categories
 * Tooltips are more detailed
 * Direct Browsing + Uploading to Mod Share
 * Compiling into EXE for Windows

Block Changes
Bingo has a total of approximately 80 added or modified blocks. These include:

Motion Blocks

 * [Set rotation style to []] Sets the style of rotation for the sprite
 * [Toggle draggable] Changes whether a sprite can be dragged online and in presentation mode
 * (Rotation style) Reports the Rotation Style

Control Blocks

 * (Last Broadcasted) Reports the last broadcast that was broadcasted
 * [run without screen refresh] C block Runs the enclosed blocks without refreshing the screen until it reaches the end of the block

Looks Blocks

 * (Grab from screen) Makes a new costume for sprite in the same way as if one right clicked on the Stage and selected "grab screen region for new costume."
 * (Name of costume []) Reports the name of a certain costume which one has specified.
 *  Reports true if a sprite is showing
 *  Reports true if a sprite is visible (i.e. ghost effect is not set to 100)
 * (Layer) Reports the layer of the current sprite
 * [Import image] Imports an image from the computer to the project in the form of a new sprite

Sensing Blocks

 * [Sprite [] is touching sprite []] Reports true if the two sprites specified are touching
 * [Ask [] in dialog] Brings up dialog onto the program and asks the question specified
 * (Color [] as []) Changes colors on the sprite in the specified manner
 * (Color r [] g [] b []) Changed colors on the sprite accordingly
 * <[] Mouse down> Reports true if specified button of mouse is pressed (left, right, middle or any)

Sound Blocks

 * [Default system beep] Makes the default system beep of one's computer play

Operators Blocks

 * ([] [+] []) Updated version of the  +,  - ,  *  and  /  blocks, it includes all of these in a drop down menu, as well as a ^ (to the power of) sign and E
 * <[] xor []> Mixture of the [] and [] and [] or [] blocks, it means << or > and  and >>>
 * (Letters [] to [] of []) Specifies certain letters of a string
 * ([] []) The string in the first box can be changed according to what is in the second, the options are reversed, lowercased, uppercased and shuffled
 * (Index of [] from [] of []) Indexes a string from a certain letter according to how one specifies it to do
 * [Split [] using [] into []] Splits up a string divided by a specified character into a list, for example: Split [1, 2, 3, 4, 5] using [,] into [List]
 * (Join [] using []) Does the opposite of the above block, for example: Join [List] using [,] would report "1, 2, 3, 4, 5"
 * (If [] then [] else []) If the first box reports true, then it does the coding after "then," whereas if it reports false, it does the coding after "else"
 * <[] contains []> Reports if a string contains a certain character
 * <[] is []> Reports true if the string in the first box equals one of the options in the second. These options are "a number," "text," "a color," "all uppercase," "all lowercase," "some uppercase," and "some lowercase"
 * (Round [] to [] places) Rounds a value to a specified number of decimal places
 * ([] of [],[]) Finds either the lowest common denominator (LCM), Greatest common factor (GCF) or modular arithmetic (mod) of two values
 * (Log base [] of []) Logarithm
 * (Sum from [] to []) Adds up all the numbers specified, for example: Sum from [1] to [5] would be 15, because 1 + 2 + 3 + 4 + 5 = 15
 * (∞Inf) Uses infinity as a value

Pen Blocks

 *  Reports true if the pen is down, and false if not
 * (Pen color) Reports the color of the pen
 * (Pen hue) Reports the hue of the pen
 * (Pen size) Reports the size of the pen

Variables Blocks

 * [Set [] to [color]] Makes a variable a certain color
 * [Show list []] Shows the specified list
 * [Hide list []] Hides the specified list

World



 * [Quit Bingo] Exits the Bingo program
 * ([]) Shows the time, short date, weekday, weekday #, hour, minute or second according to one's computer
 * (Key pressed) Reporter block reporting if a key is pressed
 * (Read file []) Reads and reports a text file on one's computer
 * [Write [] to file []] Writes text to a text file on one's computer
 * (Read URL []) Reads and reports the source code of a webpage
 * (Read line [] of file []) Reads and reports a certain line of a text file
 * (Read line [] of URL []) Reads and reports a certain line of source coding of a webpage
 * [Go to []] Opens a webpage in one's browser
 * (IP Address) Reports one's IP address
 *  Reports true if one is hosting Mesh
 * [Host mesh] Hosts a mesh session
 * [Join Mesh on IP []] Joins a mesh session on the specified IP
 * [Quit Mesh] Quits a Mesh session
 * [Switch to [] cursor] Switches to a different cursor, the available cursors are:
 * Normal
 * Square
 * None
 * Working
 * Read
 * Write
 * Execute
 * Crosshair
 * Eyedropper
 * Fill
 * Marker
 * Pen
 * Stamp
 * Right arrow
 * Down arrow
 * Up arrow
 * Move
 * Question mark
 * Menu
 * Hand
 * Fist
 * Origin
 * Corner
 * Resize diag
 * Resize horiz
 * [Run [] as smalltalk code] Runs something in smalltalk code (note: block is obsolete by Bingo 2.0)

More



 * [Press flag] This can be used instead of manually pressing the Green Flag
 * ([Constant]) Provides list of values which are constants, these values are pi, e, phi, new line, tab and userpath
 *  Reports true
 *  Reports false
 * (Sprite name) Reports the name of the sprite
 * [Add variable []] Creates a new variable
 * [Delete var []] Deletes a variable
 * [Add list []] Creates a list
 * [Delete list []] Deletes a list
 * [Move [] to X:[] Y:[]] Changes the position of a variable or list
 * [Set layout of [] to []] Changes the layout of a variable, large, small or slider
 * [Show dialog [] title []] Brings up dialog onto the screen with a specified title
 * <[] in dialog confirmed> Brings up dialog onto the screen with the option to press "OK"
 * [Inform []] When block is activated it brings up a small menu with the text one specifies in it, with the option to press "OK"
 * <[] confirmed?> Brings up a menu similar to the one in the block above, which gives one the options of "Yes" and "No," depending on what one chooses the block will either give false or true