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

Creato il: 9 maggio 2025

Risposto usando O3 da Chat01

Domanda

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

Pensiero

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

Risposta

Ниже готовый минимальный 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. Удачного кодинга!

Condividi questa Q&A