The Panther Logo

is a spin-off from Scratch. It offers greater manipulation, such as blocks that create, move, show, and hide lists and variables, has the ability to clone and delete sprites, and offers external file manipulation.


Panther was devised after a group of programmers got together in an attempt to make up for some of the features they felt Scratch lacked. It is understandable why Scratch would not have many of Panther's features as it is designed to be easily grasped and too many features would make it harder to get the hang of it. Panther is therefore designed for people who have already used Scratch, rather than as a starting point for programmers. Panther is still in testing, but is expected to be released for public use mid-April. The website is


The following people are working on panther:

  • nXIII - Head programmer
  • Markyparky56 - Programming/research
  • MathWizz - Java applet programmer
  • Septimusheap - Programmer/founder
  • Sparks - Site master/advertising/programming advisor.
  • Sperry - Programmer/advisor.

New featuresEdit

Please note: a new block type has been created that can drop into a colour square in another block. The block edge [! !] will be used here to refer to the new block type.

The following features will be available in Panther 1.0[1]:


  • [make draggable] Makes the sprite draggable online/in full-screen
  • [make undraggable] Makes the sprite undraggable online/in full-screen
  • <is draggable?> Reports if the sprite is draggable (true) or not (false).

Control Blocks Edit

  • "'when sprite1 created" hat This new hat is triggered in a clone sprite when it is created.
  • [clone] Clones the sprite, including costumes, scripts and local variables.
  • [delete] Deletes any cloned sprite. Does not delete a sprite that is not cloned to avoid accidental deletion.
  • "when key [ ] pressed" Hat has added keys. (see sensing)

Looks Blocks Edit

  • [replace costume ( ) with|dropdown|] Replaces the specified costume with a new one.





  • [add costume|dropdown|] Adds a new costume

(same as above block)

  • do while camera open (loop block) Opens the webcam connection at the beginning of the mouth and closes it when the loop is done.
  • <camera open?> Boolean reporter stating the camera connection state
  • ([color] effect) Reporter block that will show the value of any chosen graphic effect. Drop down selection included.
    • |saturate |
    • |pointilise| These two obselete graphic effects have been ressurected.
  • <visible?> Boolean reporter that shows if a sprite is showing or hidden.
  • [paint new costume] Opens the paint editor and gives the finished drawing to the sprite as a costume. useful for importing images.
  • [change stretch by( )]/[change Vstretch by( )] changes the horizontal and vertical size of a sprite respectively.
  • [set stretch to( )]/[set Vstretch to( )] sets the horizontal and vertical size of a sprite respectively.
  • (stretch)/(Vstretch) Report the current values of Stretch and Vstretch respectively.


stage only:

  • [change pan by( )] Pans the stage along the X axis.
  • [set pan to( )] Sets the stage to a set position.
  • [change Vpan by( )] Pans the stage along the Y axis.
  • [set Vpan to( )] Sets the stage to a set position.

Sensing Blocks Edit

  • [Set sprite name to [ ]] Allows the sprite's name to be changed in the script.
  • (sprite name) Reports the sprite's name
  • Boolean reporter stating if a sprite is a clone or not.
  • <key [ ] pressed?> Now has the keys control, shift, alt, backspace, escape, f1, f3, f4,f5,f6,f7,f8,f9,f10,f11,f12 keys added.
  • (key pressed) Reports the currently pressed key.
  • [ask [ ] in dialogue] Acts like the Ask block, but opens it in a dialogue box on the screen.
  • [show dialogue[info] with text[ ]] Shows a dialogue box with a heading and message of your choice.
  • (date/time[↓]) Reports the date or time from the computer clock. drop down menu provides selection.
    • |time |
    • |hour |
    • |minute |
    • |second |
    • |date |
    • |day of month|
    • |day of year |
    • |weekday |
    • |weekday-# |
    • |month |
    • month-# |
    • |year |
  • <i am a clone?>¯¯¯¯¯¯¯¯¯¯¯¯

Operators Blocks Edit

  • (( )^( )) Reports number in box 1 to the power of number in box 2
  • <true> Reports true
  • <false> reports false
  • <[string] as a boolean> turns a string into "true" unless the string is "false"
  • (if < > then [ ] else [ ]) Reports the string in box 1 if the boolean is true, and the string in box 2 if the boolean is false.
  • <if < > then < > else < >> Reports the truth of the then boolean if the first boolean is true, else reports the truth of the else boolean.
  • (letters (1)-(5) of [string]) Is an advanced version of the (letter ( ) of [ ]) block.
  • (pi) (drop down block) Reports the value Pi to 15 significant figures. drops down to blocks below:
    • (e) Reports the value of e to 15 significant figures.
    • (newline) Is a special "character" that causes a new line to start in a speech bubble, list, .txt document or dialogue box.
    • (tab) Inserts a "tab" character
  • (index of [o] starting at (6) in [hello world]) reports the position of the letter (s) in a selected string, staring from the set position.


  • [!pen color!] This block reports the current pen colour, as a colour and can drop into a colour square.

Variables Blocks Edit

Variables Edit

  • [move[a variable] to x:( ) y:( )] Sets the selected variable to the new grid coordinate.
  • [make [a variable]] Creates a new variable.
  • [make [a variable] with value[ ]] Creates a new variable with a value.
  • ([a variable]) Reports the value of the variable selected from the drop down menu. Also has the option to insert a string for variables that may be created later.
  • [set layout of[a variable] to[slider]] Changes the watcher type between slider, normal and large.

Lists Edit

  • [make list [a list]] Creates a new list.
  • [delete list [a lsit]] Deletes a list.
  • [show list[a list]] Shows the list selected from the drop-down menu.
  • [hide list[a list]] Hides the list selected from the drop-down menu.
  • [make a block] (button) lets people with knowledge of Squeak program their own block into Panther, it will export and run anywhere it is sent. (warning message before it runs)

Files Blocks (new category) Edit

  • (contents of file [ ]) Reports the contents of the specified file. It can read any .txt file. A path must be given, unless it is in the Panther folder, which is the default path.
  • (line( )of file[ ]) Reports the contents of the specified line in the specified file.
  • (number of lines in file [ ]} Reports the number of lines the specified file contains.
  • (contents of file at URL[ ]) Reports the content of the specified web page.
  • (line( )of file at URL[ ]) Reports the Contents of the specified line if the specified URL address.
  • (number of lines in file at URL[ ]) Reports the number of lines the specified web page contains.
  • [write [ ] to file [ ]) Will write the inserted string to the end of the specified file. (does not write to online pages for obvious reasons)
  • [clear file [ ]) Clears the entire file.
  • [host mesh] Opens the mesh port and begins a mesh hosting session.
  • [join mesh [ ]] joins a mesh at the inserted IP address.
  • <am hosting mesh?> states whether the project is hosting mesh or not.
  • [leave mesh] Closes the mesh connection if there is one. This works for both the host and the client.
  • (mesh IP address) Reports your IP address.

Colors (new catagory)Edit

Please Note: Colors are now sometimes treated as variables. They can drop into the colour section of a block. Colour inserters are depicted as the symbol ◙ here (and are referred to in squeak as %c or %C).

  • {make a color} Button like "make a variable" but this makes a new colour "variable".
  • {delete a color} Button like "delete a variable" but the deletes a colour "variable"
  • [![a color]!] Reports the colour of the selected colour varible (or Cv for short) from a list of existing Cv's
  • [set[a color]to◙] Sets the Cv to the chosen colour.
  • [make color[a color]] Makes a new Cv
  • [delete color[a color]] Deletes an existing Cv
  • [!color r:( )g:( )b:( )!] reports the colour that the red, green and blue values make.
  • (◙ red) Reports the amount of red in that colour (as a number.)
  • (◙ green) Reports the amount of green in that colour (as a number.) < all three of these are accurate to 15 decimal places.
  • (◙ blue) Reports the amount of blue in that colour (as a number.)
  • [!color h:( )s:( )b:( )!] reports the color of that hue, saturation and brightness.
  • (◙ hue) Reports the hue of that colour.(as a number.)
  • (◙ saturation) Reports the saturation of that colour.(as a number.) <all of these are accurate to 15 decimal places.
  • (◙ brightness) Reports the brightness of that colour.(as a number.)
  • [!mix ◙ with ◙!] Mixes the two colours and reports them as a Cv.
  • [!mix ◙ (10):(10) with ◙!] Mixes the two colours to the specifed ratio.
  • [!color of pixel x:( )y:( )!] reports the colour of the pixel at the specified grid position (finally making a paint project with colour picker possible).
  • (◙as string) reports the color as a string.
  • [![#FFFFFF] as color!] Turns the hexadecimal colour value into a color.
  • [!color named[black]!] reports the colour value of the selected Cv.

Other new features:Edit

  • remaking the %v argument to fit the new variable manipulation features. %v arguments now accept reporter blocks and have the ability to be typed into (used for varibles created and deleted in the code)
  • Having the variable blocks are now available regardless of whether or not a user variable has been created. The "delete a variable" button, however, is shown only when at least one user variable exists.
  • Providing the same functionality for variables to lists.
  • A new menu (Mesh) providing mesh functionality
  • Two new categories: Files and Colors, the former being a small category containing file blocks such as reading/writing files and also URL functions, the latter being a category for blocks that allow advanced pen and colouring controls.
  • File commands that warn the user about the risk of allowing file writing and giving him/her the option to cancel the operation or set a default (also accessible from the file menu)
  • The "delete me" block, which only works on sprites that are clones to prevent accidental deletion of a non-clone sprite.
  • Creating a new costume no longer snaps the costume menu tab back to the top, something that will allow large collections of costumes can be created faster.
  • areas with a side scrollbar can be dragged with the mouse.
  • Block graphics quality choices. Low quality for faster rendering, useful for large projects and slow computers, normal is the original scratch block design and high is a high quality block style that looks very nice.
  • Panther 1.0 will be released in German as well as English.



External LinksEdit

Community content is available under CC-BY-SA unless otherwise noted.