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

생성일: 2025년 5월 9일

답변에 사용된 모델 O3 by Chat01

질문

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

사고

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

답변

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

이 Q&A 공유하기