Существует ли визуальный язык программирования с большим/настраиваемым разрешением сцены?

Моя 8-летняя дочь учится программировать и с удовольствием создает проекты с помощью Code.org. Теперь она хочет разработать программу, которая создает вавилонскую числовую диаграмму с числами от 1 до 1000, но ни в одной из известных мне визуальных программных сред нет возможности отобразить такую ​​вещь. Я смотрел на Hopscotch, Tynker, Scratch, пока безрезультатно. Она еще не печатает, поэтому переход на текстовую систему пока невозможен, поэтому я надеюсь, что кто-то еще знает хорошее решение.


person Emily Crutcher    schedule 15.10.2015    source источник
comment
Многие хорошие программисты печатают одним пальцем. Не думайте, что ваша дочь не сможет освоить текстовый язык, потому что она не машинистка. Я тоже не думаю, что вы выбрали тривиальную задачу. Иногда задача по кодированию выглядит легкой, но это не так. Я не смог найти много генераторов вавилонских числовых диаграмм в Интернете, но я нашел этот: dcode.fr/babylonian- номера   -  person Sammy    schedule 15.10.2015
comment
Также радуйтесь, что у вас есть 8-летний ребенок, который так интересуется программированием. Я надеюсь вовлечь моего сына в визуальное кодирование с помощью существующего интереса — он прямо в Disney Infinity 3.0. Он имеет довольно сложную среду визуального программирования, встроенную для создания вещей и реагирования на события.   -  person Sammy    schedule 15.10.2015
comment
Преобразователь очень симпатичный, покажу ей. Сейчас она намерена создать диаграмму, так как любит распечатывать свои проекты, но я мог бы ее уговорить. Disney Infinity 3 звучит интересно, какая платформа вам подходит? Она была достаточно довольна LearnToMod, но из-за сложности входа/выхода из майнкрафта у него иногда возникали сбои.   -  person Emily Crutcher    schedule 15.10.2015


Ответы (6)


Snap! — это блочный язык программирования, основанный на Scratch. Он позволяет настроить размер сцены:

Настройка ->Размер рабочей области

Щелчок! также добавляет интересные функции функционального программирования, такие как анонимные функции и вложенные списки.

Существует инструмент для импорта проектов Scratch: https://djdolphin.github.io/Snapin8r2/.

person tjvr    schedule 22.10.2015
comment
Да :-). Конвертер работал отлично, размер сцены легко изменялся. Ты жжешь! - person Emily Crutcher; 23.10.2015

При отображении такой диаграммы в Scratch есть две трудности.

1) Размер экрана слишком мал.
2) Нет очевидного способа отобразить основные символы вавилонских чисел.

Маленький размер экрана будет проблемой в любой среде разработки, будь то блочная или текстовая. Даже используя весь дисплей с разрешением 1366 x 768 пикселей, у нее будет только 30-пиксельный квадрат для каждого числа. Разбиение диаграммы на части (например, 10 страниц по 100 чисел в каждой) или отображение одного числа на основе пользовательского ввода — два возможных решения проблемы с размером экрана.

Оба этих связанных проекта (меньшая диаграмма или преобразователь чисел) возможны в Scratch. Вашей дочери нужно будет создать спрайт-рендерер, который сможет рисовать символы на сцене. Спрайт рендерера может либо иметь костюмы вавилонских символов и использовать блок печати для создания комбинаций, либо спрайт может рисовать символы пером. В этом проекте есть несколько примеров спрайтов рендерера и способов их использования.

person Kate Fractal    schedule 15.10.2015
comment
Если выяснится, что нет никаких визуальных сред с большими сценами, я посмотрю, смогу ли я убедить ее изменить свой проект на конвертер чисел :-). - person Emily Crutcher; 15.10.2015

Вавилоняне использовали основание 60. Похоже, что каждое число состоит из двух уникальных спрайтов, повторяющихся и организованы в парадигме с основанием 10.

Возможно, вы захотите рассмотреть анимированный счетчик с помощью Scratch.

  • На каждом такте часов появляется еще один правый спрайт «единицы», и все исчезают на 10-м такте).
  • На каждом 10-м такте появляется еще один левый спрайт «десятки» (и все исчезают на 60-м такте).
  • Затем на 60-м тике цифра слева от левого появляется или обновляется на 60-м месте.
  • Чтобы получить 1000 по основанию 60, вам нужно всего две цифры.
  • Где-то еще на экране текстовое поле, содержащее десятичное число, отслеживает тики.

  • Вы можете оживить маленьких вавилонян, едущих на колесницах от зиккурата к зиккурату. (Извините перед любыми вавилонянами, если я создаю стереотипы.)

Звучит весело, удачи.

person C8H10N4O2    schedule 16.10.2015

Реализовать его в 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'' для расчета правильных костюмов двух новых спрайтов.

person boisvert    schedule 19.10.2015
comment
Проблема в том, что я по глупости не понял проблемы с экраном, поэтому уже заставил ее пройти через работу по созданию цифр путем их рисования (мы использовали их упрощенную версию). Теперь мне предстоит сказать ей, что все это было напрасно, или выяснить, как заставить их печатать :-) - person Emily Crutcher; 19.10.2015
comment
Поскольку вы хорошо знакомы со Scratch, знаете ли вы какой-нибудь способ вызвать функцию, сохраняющую скриншот сцены? Как если бы я мог автоматически сбрасывать скриншоты в каталог, я мог бы затем написать программу, которая собирала бы их в печатную диаграмму... - person Emily Crutcher; 19.10.2015
comment
В качестве альтернативы Scratch, если у вас есть изображения, вы можете использовать другой язык, например, javascript (таблица HTML для вывода — красивая и пригодная для печати). Функция сохранения снимка экрана - нет... А нельзя ли с помощью скретча показать, скажем, 60 цифр на экране, используя цикл и штамп? Скриншотов всего 17.... А можно было и по 60, но не до 1000... Я полагаю, ваша дочь выбрала это произвольное амбициозное число? Может, она решит, что 480 достаточно для шоу, и расскажет? - person boisvert; 20.10.2015

Pure Data – это язык визуального программирования с открытым исходным кодом, который поддерживает все основные операционные системы.

person Joshua Cook    schedule 22.10.2015

Этот вопрос старый, но все еще интересный.

Я думаю, что ваша дочь может использовать царапины для достижения цели, используя действие «следующий костюм», связанное со спрайтом.

Вавилоняне использовали основание 60, что означает, что нам нужна пара из 2 спрайтов для представления чисел 0-9 и 10, 20, 30, 40, 50, (6) 0. Затем мы продолжаем добавлять эти пары впереди, когда число становится больше 59.

Я разработал POC в течение 30 минут, включая время, которое я потратил на вырезание/сохранение/импорт костюмов.

Я использую эту переменную, чтобы показать число вавилонян. Код прост. В конце концов, одна сложная вещь — это временная синхронизация между разными спрайтами. Чтобы упростить задачу, мне пришлось вручную «настраивать» ранний щелчок, добавляя звук.

Вы можете просмотреть мой опубликованный проект здесь. https://scratch.mit.edu/projects/154836328/

Снимки проекта Scratch Костюм

person Ela Cai    schedule 08.04.2017
comment
авввв это мило! - person Emily Crutcher; 09.04.2017