Introduction to CreatiCode Scratch Plugin

CreatiCode Scratch

Display Scratch programs as images and write 2D/3D programs using CreatiCode Scratch extensions.

Listing

  • No Reviews Yet

Creaticode_Extension_of_MIT_Scratch

The CreatiCode Scratch plugin is an innovative ChatGPT plugin that brings Scratch programming into a new dimension. Scratch, as a block-based visual language, is easier to read and understand in its graphical representation than pseudocode. The CreatiCode Scratch plugin eliminates the need for pseudocode, directly generating and displaying the graphical representation of Scratch programs, allowing users to understand the structure and functionality of programs in a more intuitive way. In addition, CreatiCode also provides the syntax and functionality of custom blocks, further expanding the capabilities of Scratch. Whether you are a beginner in Scratch programming or an experienced developer, the CreatiCode Scratch plugin can provide you with a more intuitive and efficient programming experience.

Function

  • Get a list of all block IDs.
  • Get the description and syntax rules of blocks.
  • Define custom blocks to organize code.
  • Convert the program of each sprite to images separately.
  • Directly generate and display the images of Scratch programs, no need to display pseudocode.

Categories

Learn about the tutorial of this plugin:
How to Use the CreatiCode Scratch ChatGPT Plugin?

JSON Data

{"id":"plugin-874e73d9-ca73-4698-8937-1c3684dd873d","domain":"openai.creaticode.com","namespace":"Creaticode_Extension_of_MIT_Scratch","status":"approved","manifest":{"schema_version":"v1","name_for_model":"Creaticode_Extension_of_MIT_Scratch","name_for_human":"CreatiCode Scratch","description_for_model":"This plugin allows ChatGPT to display Scratch programs as images instead of pseudocode, which are much easier to read (Scratch is a visual language). When using this plugin, ChatGPT can directly generate and display the programs images without showing the pseudocode. The plugin *eliminates* the need to display pseudocode, as it would be redundant and less user-friendly, and it uses extra tokens. \n\nExample prompts:\n* move in square path\n* draw a house with pen\n* load a 3d crown\n\nHere are the steps:\n\n1. You should *ALWAYS* call 'getListOfAllBlocks' once at the beginning of each conversation to get a list of all block IDs. Even if you know which blocks to use, and even it is a standard block (like 'wait'), you should still call this API, because the list of blocks may have changed over time, and there may be new blocks that can better fulfill the user request. This method also returns the syntax rules you should use for writing the program.\n\n2. Determine if this is a 2D or 3D program. Choose 2D by default unless user asks for 3D explicitly.\n\n3. Based on IDs of all blocks from step 1, predict what each block does, and select blocks you might use from this list. Call 'getBlockDescription' to get the exact syntax and function of those blocks. *ONLY* select block IDs returned from step 1. *DO NOT* make up new block IDs. DO NOT guess the pseudocode syntax of any block. Ask for information using 'getBlockDescription' when you are not sure. Note that 'getBlockDescription' may return information on additional blocks besides those you have selected. These blocks may be useful, so you should consider using them. Based on *ALL* blocks returned, re-design the program. Only use the syntax returned by getBlockDescription.\n\n4. If the task is complex, define custom blocks to organize code. Implement individual tasks as custom blocks, and then call them in the main script. This makes the program easier to read. For example, if the task is to draw a house, you can define this custom block first: \ndefine (add walls)\n add box [#001AFFFF] size in x (100) y (100) z (240) edge radius (0) as [wall] \nend\n\n5. Write the main program that starts with 'when green flag clicked'. Call the custom blocks you have defined earlier. Do not use block ID in pseudocode directly. Strictly follow the syntax returned from 'getBlockDescription'. For example:\nwhen green flag clicked\n initialize 3D scene [Empty] as hidden [No v] \n call add walls\nend\n\n6. Convert the program of each sprite to images separately using 'getCodeImage'. A stack refers to script that starts with a hat block (e.g., blocks starting with 'when') or a 'define' block (e.g., 'define (customBlock)'). If a stack is too long, you may run into 'Unterminated string' problem when calling the API. In this case, you should refactor the program into multiple stacks. You can use custom blocks or broadcast messages to trigger other stacks. After that, you can call getCodeImage on each stack separately.\n\n7. If you get an error from getCodeImage, most likely you are not using the exact syntax given by getBlockDescription. You need to provide all parameters and do not change any word ouside the parameters.\n\n8. IMPORTANT: When generating Scratch programs, DO NOT show the pseudocode in the response to the user. Instead, ALWAYS use the Creaticode_Extension_of_MIT_Scratch plugin to directly generate and display the Scratch program images. This approach is more user-friendly, avoids duplication, and saves tokens and time. Pseudocode should only be used internally for generating program images and should never be shown to the user.","description_for_human":"Display Scratch programs as images and write 2D\/3D programs using CreatiCode Scratch extensions.","auth":{"type":"none"},"api":{"type":"openapi","url":"https:\/\/openai.creaticode.com\/.well-known\/openapi.yaml"},"logo_url":"https:\/\/play.creaticode.com\/tcode-static-files\/images\/newlogo200.png","contact_email":"[email protected]","legal_info_url":"https:\/\/app.creaticode.com\/about"},"oauth_client_id":null,"user_settings":{"is_installed":false,"is_authenticated":true},"categories":[]}

Ratings