напиши расширение для turbowarp которая добовляет ...

Erstellt am: 9. Mai 2025

Beantwortet mit O3 von Chat01

Frage

напиши расширение для turbowarp которая добовляет новые блоки которые способны перевести двоичный код в буквы

Gedanke

Writing TurboWarp extension

The user is requesting an extension for TurboWarp to add blocks that convert binary code to letters. TurboWarp supports custom extensions in JavaScript. For this, I’ll need to write JavaScript code that fits within the TurboWarp extension API for binary to letter conversion. The task doesn't suggest using the canvas tool, so I'll focus only on creating the extension code without relying on it. I’ll craft the necessary code to define the new blocks for them!

Thought for 19 seconds

Antwort

Ниже — минимальный JavaScript-файл расширения для TurboWarp, которое добавляет один репортирующий блок «binary … to text».
Блок принимает строку из двоичных октетов (разделённых пробелами) и возвращает расшифрованный текст.

javascript
/* Binary → Text Extension for TurboWarp Сохраните как binaryText.js и разместите по HTTPS (GitHub Pages, Glitch, т.п.). Затем в TurboWarp: Расширения → «Load Extension from URL…» → вставьте ссылку. */ (function (Scratch) { 'use strict'; class BinaryTextExtension { /** Метаданные для TurboWarp */ getInfo () { return { id: 'binaryText', name: 'Binary Tools', blocks: [ { opcode: 'binaryToText', blockType: Scratch.BlockType.REPORTER, text: 'binary [BIN] to text', arguments: { BIN: { type: Scratch.ArgumentType.STRING, defaultValue: '01001000 01101001' } } } ], menus: { } }; } /** Перевести двоичную строку в символы Unicode */ binaryToText (args) { const tokens = String(args.BIN).trim().split(/\s+/); try { return tokens .map(t => String.fromCharCode(parseInt(t, 2))) .join(''); } catch { return ''; } } } Scratch.extensions.register(new BinaryTextExtension()); })(Scratch);

Как это работает

  1. getInfo() — описывает расширение и его блоки в формате Scratch Extensions v3.
  2. binaryToText() — разбивает введённую строку на токены, переводит каждую 8-битную группу в число (parseInt(…, 2)), затем в символ (String.fromCharCode) и склеивает.

Быстрая проверка

ВходВыход
01001000 01101001Hi
01010011 01100011 01110010 01100001 01110100 01100011 01101000Scratch

Советы

  • Можно расширить логику, чтобы принимать двоичный поток без пробелов (разбивая по 8 бит) или поддержать обратную операцию «текст → двоичный код».
  • Для локальной отладки откройте файл через file:///…, а в TurboWarp выберите «Load unpacked extension…» в режиме разработчика.

Удачных проектов!

Diesen Q&A teilen