напиши расширение для turbowarp которая добовляет ...
Created on: May 9, 2025
Created on: May 9, 2025
напиши расширение для turbowarp которая добовляет новые блоки которые способны перевести буквы в двоичный код c пробелами
Вот минимальное расширение TurboWarp, которое добавляет два репорт-блока для перевода символов/строк в двоичный код (байты разделяются пробелами).
js/* TurboWarp Extension: Binary Encoder Сохраните как binary.js и подключайте через «Extensions → Import Extension → URL/файл». */ (function (Scratch) { 'use strict'; /* Для работы нужен Unsandboxed-режим: TurboWarp → Advanced → Enable unsandboxed extensions */ if (!Scratch.extensions?.unsandboxed) { throw new Error('Включите Unsandboxed Extensions в TurboWarp (Advanced).'); } class BinaryEncoder { getInfo () { return { id: 'binaryencoder', name: 'Binary Tools', color1: '#0d99ff', color2: '#0b7fd8', blocks: [ { opcode: 'strToBinary', blockType: Scratch.BlockType.REPORTER, text: 'строка [TEXT] → двоичный', arguments: { TEXT: { type: Scratch.ArgumentType.STRING, defaultValue: 'Привет' } } }, { opcode: 'charToBinary', blockType: Scratch.BlockType.REPORTER, text: 'буква [CHAR] → двоичный', arguments: { CHAR: { type: Scratch.ArgumentType.STRING, defaultValue: 'A' } } } ] }; } /* Перевод всей строки */ strToBinary (args) { const str = String(args.TEXT); return [...str].map(ch => ch.codePointAt(0).toString(2).padStart(8, '0') ).join(' '); } /* Перевод только первого символа */ charToBinary (args) { const ch = String(args.CHAR)[0] ?? ''; if (!ch) return ''; return ch.codePointAt(0).toString(2).padStart(8, '0'); } } Scratch.extensions.register(new BinaryEncoder()); })(Scratch);
binary.js
или опубликуйте его (GitHub Gist, локальный HTTP-сервер и т.д.).File → Load Project…
(если нужно) →Extensions → Import Extension
Advanced
включена опция “Unsandboxed extensions”.строка () → двоичный
— возвращает цепочку 8-битных кодов через пробел (например 01001000 01101001
).буква () → двоичный
— то же самое, но только для первого символа аргумента.Теперь можно соединять их с другими блоками Scratch/TurboWarp (выводить в «join», отправлять по Cloud, хранить в переменных и т.д.). Удачного кодирования!