Есть ли визуальный язык программирования с большим / настраиваемым разрешением сцены?
Моя 8-летняя дочь учится программировать и была взволнована, создавая проекты с использованием Code.org. Теперь она хочет разработать программу, которая создает вавилонскую числовую диаграмму с числами от 1 до 1000, но нет способа воспроизвести такую вещь в любой из известных мне визуальных сред программирования. Я смотрел на Hopscotch, Tynker, Scratch, пока безрезультатно. Она еще не печатает, поэтому переключение на текстовую систему пока не вариант, поэтому я надеюсь, что кто-то еще знает о хорошем решении.
6 ответов
Щелчок! это блочный язык программирования, основанный на Scratch. Позволяет настроить размер сцены:
Размер сцены">
Щелчок! также добавляет интересные функциональные функции программирования, такие как анонимные функции и вложенные списки.
Существует инструмент для импорта проектов Scratch: https://djdolphin.github.io/Snapin8r2/
Pure Data - это язык визуального программирования с открытым исходным кодом, имеющий реализации для всех основных операционных систем.
Есть две трудности при рендеринге такого графика в Scratch.
1) Размер экрана слишком маленький.
2) Не существует очевидного способа визуализации основных символов вавилонских чисел.
Небольшой размер экрана будет проблемой в любой среде разработки, блочной или текстовой. Даже при использовании дисплея с разрешением 1366 x 768 пикселей у нее будет только 30 пикселей для каждого числа. Разбиение диаграммы на части (например, 10 страниц по 100 чисел в каждой) или рендеринг одного числа на основе пользовательского ввода - это два возможных решения проблемы размера экрана.
Оба этих связанных проекта (меньший график или преобразователь чисел) возможны в Scratch. Ваша дочь должна будет создать спрайт рендеринга, который сможет рисовать символы на сцене. Спрайт рендеринга может иметь костюмы вавилонских символов и использовать блок штампов для создания комбинаций, либо спрайт может рисовать символы пером. В этом проекте есть несколько примеров спрайтов рендеринга и того, как их можно использовать.
Вавилоняне использовали базу 60. Кажется, что каждая цифра состоит из двух уникальных спрайтов, повторенных и расположенных в парадигме базы 10.
Возможно, вы захотите рассмотреть анимированный счетчик с помощью Scratch.
- При каждом тике часов появляется другой правый "спрайт", и все исчезают на 10-м тике).
- На каждом 10-м тике появляется другой левый "десяток" спрайтов (и все исчезают на 60-м тике).
- Затем на 60-тиках появляется цифра слева от слева или обновляется на 60-м месте.
- Чтобы добраться до 1000 в базе 60, вам нужно всего две цифры.
Где-то еще на экране текстовое поле, содержащее десятичное число, отслеживает галочки.
Вы можете анимировать маленьких вавилонян на колесницах от зиккурата до зиккурата. (Извините любого вавилонянина, если я создаю стереотипы.)
Звучит как веселье, удачи.
Не должно быть никаких трудностей с его внедрением в Scratch. Но это большой проект в 8!
- Размер экрана: при 4 спрайтах на число, 1000 чисел, 4000 символов на экране сложно. Но это все-таки один уродливый график, который статически отображается. Вы можете использовать динамические характеристики дисплея компьютера, чтобы масштабировать спрайты очень маленькими (помещая их все в одну неразборчивую таблицу) или достаточно большими, но неполными, и используйте клавиши со стрелками для прокрутки. Это урок в пользовательском интерфейсе: на компьютерах нет размера столовых столов, но их отображение динамическое, поэтому используйте его.
Преобразование это немного работа.
- Во-первых, получите набор изображений для номеров 1-9 и 10-60.
создать два спрайта - первый с костюмами для 1-9 изображений; следующий за 10-60.
чтобы показать правильное изображение, используйте костюм переключения.
Я рекомендую начинать с меньших чисел, сначала до 9, а затем до 59. После этого общим решением будет использование штамповки, затем смещение спрайтов влево, смена костюмов и печать снова.
для расчета правильных значений с учетом ввода X:
- ед. = модуль X 10
X '= X / 10 единиц
если ваш номер до 59, это все; X'- номер костюма десятков. Если не:
- десятки = X'модуль 6
X'' = X'/ 10 единиц
Начните снова с X''. Если вы хотите общее решение, отметьте спрайты, сдвиньте их влево и рассчитайте. В противном случае используйте X'' для вычисления правильных костюмов двух новых спрайтов.
Этот вопрос старый, но все еще интересный.
Я думаю, что ваша дочь может использовать скретч для достижения цели с помощью действия "nextcostume", связанного со спрайтом.
Вавилоняне использовали основание 60, что означает, что нам нужна пара из 2 спрайтов для представления 0-9 и 10,20,30,40,50,(6)0. Затем мы продолжаем добавлять эти пары впереди, когда число становится больше 59.
Я разработал документ в течение 30 минут, включая время, которое я потратил, чтобы вырезать / сохранить / импортировать костюмы.
Я использую переменную, чтобы показать количество вавилонских чисел. Код прост. В итоге, одна сложная вещь - это синхронизация времени между разными спрайтами. Чтобы сделать это проще, мне пришлось вручную "настроить" ранний поп, добавив звук.
Вы можете посмотреть мой опубликованный проект здесь. https://scratch.mit.edu/projects/154836328/
Скретч-проект снимки костюма