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

Created on: May 9, 2025

Answered using O3 by Chat01

Question

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

Thought

The user is asking for a TurboWarp extension that translates binary code (without spaces) into letters. TurboWarp is based on Scratch and uses JavaScript to create custom blocks. The goal is to create a block that decodes binary strings like “01001000 01100101...” into letters, possibly including a block for encoding. Since the user requested the code directly, I’ll be providing JavaScript for the extension, avoiding tables since they don’t render well. I’ll avoid using canmore as it’s not available.

Thought for 19 seconds

Answer

Ниже готовый минимальный JavaScript-файл расширения для TurboWarp.
Он добавляет репорт-блок «двоичный [BIN] → текст», который принимает строку из «0» и «1» (без пробелов) и возвращает расшифрованный текст.

javascript
/* Binary-to-Text Extension for TurboWarp Автор: ChatGPT • 2025-05-09 */ (() => { // TurboWarp передаёт объект Scratch в качестве аргумента, // но в self-invoking функции он уже в глобальной области. const Scratch = window.Scratch; class BinaryToolsExtension { getInfo () { return { id: 'binaryTools', name: 'Бинарные инструменты', color1: '#4C97FF', color2: '#3373CC', blocks: [ { opcode: 'binToText', blockType: Scratch.BlockType.REPORTER, text: 'двоичный [BIN] &rarr; текст', arguments: { BIN: { type: Scratch.ArgumentType.STRING, defaultValue: '01001000011001010110110001101100' } } } ] }; } /** * Преобразует двоичную строку (без пробелов) в обычный текст. * Возвращает сообщение об ошибке, если длина не кратна 8 * или встречены символы отличные от 0/1. */ binToText ({ BIN }) { const cleaned = String(BIN).replace(/\s+/g, ''); if (!/^[01]+$/.test(cleaned)) { return 'только 0 и 1'; } if (cleaned.length % 8 !== 0) { return 'длина не кратна 8'; } let result = ''; for (let i = 0; i < cleaned.length; i += 8) { const byte = cleaned.substr(i, 8); result += String.fromCharCode(parseInt(byte, 2)); } return result; } } // Регистрируем расширение Scratch.extensions.register(new BinaryToolsExtension()); })();

Как подключить

  1. Откройте turbowarp.org/editor.
  2. Нажмите «Расширения» → «Загрузить с URL».
  3. Вставьте ссылку на этот файл (например, разместите его на GitHub Pages или в gist, получив прямую ссылку на сырой код).
  4. В палитре появится новая категория «Бинарные инструменты» с блоком-репортёром.

Теперь можно передавать блоку строку вида
0100100001100101011011000110110001101111
и получать результат Hello. Удачного кодинга!

Share this Q&A