ПОНЯТИЕ КОНСТАНТА И ПЕРЕМЕННАЯ
При использовании блоков “при нажатии на кнопку A или B” являющихся обработчиками событий распространенных обработчиков событий в программировании платы micro:bit являются программируемые кнопки управления: A и B. Как известно, при нажатии на эти кнопки возникает событие — какое-либо сообщение, говорящее о начале совершения действия и представляющее собой небольшой кусочек кода, который мы видим в виде блока.
Данные, которые вы вводите и используете в программном коде, может иметь постоянное значение и оставаться неизменной на протяжении выполнения всей программы. В этом случае ее называют константой (от англ. constant).
Вспомним константы из жизни. Например, в школе есть величины, которые могут оставаться неизменными. К ним относятся: адрес школы (название улицы, номер дома), название учебного предмета, номер кабинета директора и т.п.
Но иногда поступающие на обработку данные могут принимать различные значения, быть величиной переменной (от англ. variable). И тогда этой величине нужно дать имя и присвоить ей какое-то значение (данное значение будет меняться также, как вы, например, меняете свой стиль одежды, надевая на тренировку спортивный костюм и отдавая предпочтения джинсам, идя в школу , не меняя при этом своего имени!).
Переменная в программировании — часть программного кода, которая имеет имя и значение. Имя переменной неизменно, в отличии от ее значения, которое изменяется во время выполнения программы.
Например, в школе есть величины, которые могут менять свое значение. К ним относятся: номер кабинета и название урока в расписании и т.п.
Справочник начинающего программиста…
Константа и переменные могут принимать текстовое и числовое значение.
Переменные в среде программирования MakeCode находятся в разделе “Variables” (переменные) и, в отличии от других блоков, создаются “вручную” (нами самими). Для описания переменной, прежде всего, необходимо придумать (программисты говорят, “присвоить”) ей индивидуальное имя, которое будет неизменно на протяжении всей программы. Переменные в среде программирования micro:bit могут принимать текстовые и числовые значения; переменные могут быть булевыми (логическими), спрайтами и массивами. Имя переменной задается буквами английского алфавита и цифрами.
- Числовая переменная (англ. number variable) может содержать числовые данные: год, температура, скорость, вес, проценты и т.п. Если вы хотите совершать разнообразные математические действия с числами, выводить их на плату при помощи нажатия на один из изученных ранее обработчиков событий и т.п., то вы должны создать переменную “NumberVariable” (числовая переменная)
- Строковая переменная (англ. string variable) может содержать строку, состоящую из букв: имя пользователя, день недели и т.п. Значение символьной переменной в MakeCode вводится только английскими буквами. Если вы хотите вносить изменения в созданную вами строку: удалять, добавлять символы, менять их местами и т.п., то вы должны создать переменную “StringVariable” (строковая переменная)
Логическая переменная (англ. boolean variable) может иметь два значения: истина (англ. true) или ложь (англ. false). Если вы хотите проверить истинность или ложность совершаемого действия в написанной вами программе, то вы должны создать переменную “BooleanVariable” (булева переменная).
Спрайтовая переменная (англ. sprite variable) — это специальная переменная, представляющая одну точку на экране (светодиод на плате micro:bit). Если вы хотите программировать включение и выключение отдельных светодиодов на плате micro:bit с помощью координат x и y, то вы должны создать переменную “SpriteVariable” (спрайт-переменная)
Массив (англ. list)- это еще один специальный тип переменной, который способен вмещать список из нескольких элементов. Если вы хотите одновременно работать с несколькими элементами, то вы должны создать переменную “ListVariable” (лист-переменная)
Такое многообразие переменных открывает удивительные возможности для творчества! Мы будем знакомиться с ними более подробно по мере изучения среды программирования Microsoft MakeCode.
Проверьте себя…
- В чем заключается основное отличие константы от переменной?
- Какое значение могут принимать константа и переменная?
- Для чего служат следующие типы переменных: числовая, строковая, логическая, спрайт, массив?
СОЗДАДИМ ИГРУ «РАЗОЧАРОВАНИЕ»
Вы собираетесь создать игру, в которой игроки должны вести палочку по ходу, не вступая в контакт. Установив контакт, вы добавите один к баллу игрока — игрок с самым низким счетом выигрывает!
Для этого проекта вам понадобятся некоторые дополнительные предметы:
- Металлическая проволока (прибл. 50см);
- Моделирующая глина (пластилин или аналог, должен быть непроводящим);
- Изолента (опционально);
- Крокодиловые зажимы (опционально).
ХРАНЕНИЕ КОЛИЧЕСТВА СБОЕВ
Давайте начнем с создания места для хранения количества сбоев.
- Перейдите по адресу https://makecode.microbit.org/, чтобы начать новый проект в редакторе MakeCode (PXT). Назовите свой новый проект «Разочарование».
- Удалите forever и start блоки, перетащив их в палитре:
- Новая игра должна начаться, когда игрок нажмет кнопку А. Нажмите «Ввод» и затем on button A pressed.
- Теперь вам нужна переменная для хранения количества неудачных попыток в игре, касаясь провода палочкой. Нажмите «Переменные», а затем «Создать новую переменную». Назовите переменную fails.
- Перетащите set блок из «Переменные» и выберите fails
- Это установит число сбоев равным нулю при нажатии кнопки A.
- Наконец, вы можете отобразить число fails на вашем микро: бит. Для этого сначала перетащите show number блок из «Basic» в конец вашего скрипта.
- Затем перетащите fails из «Переменные» в свой set block.
- Нажмите «Выполнить», чтобы проверить ваш скрипт. При нажатии кнопки A должно отображаться количество отказов, которое было установлено на 0.
ЗАДАЧА: ПОКАЗАТЬ ИЗОБРАЖЕНИЕ
Можете ли вы отобразить изображение в течение 1 секунды (1000 мс) до fails отображения количества?
Вам нужно использовать следующие блоки из Basic do для этого:
ОТСЛЕЖИВАНИЕ НЕУДАЧ
Давайте добавим код, чтобы отслеживать ошибки.
- Вы будете добавлять 1 к своей fails переменной каждый раз, когда устанавливается соединение с Pin0. Для этого перетащите on pin P0 pressedиз «Ввод».
- Затем добавьте 2 блока, чтобы отобразить крестик в течение 1 секунды при нажатии Pin0.
- Затем вам нужно будет добавить 1 к вашей failsпеременной. Для этого нажмите перетаскивание change item by 1из Переменных и измените item на fail.
- Наконец, вы можете добавить код для отображения обновленного количества сбоев. Вот как должен выглядеть ваш код.
- Проверьте свой код, нажав кнопку A на эмуляторе, чтобы начать игру. Каждый раз, когда вы нажимаете Pin0, вы должны видеть, как ваша fails переменная увеличивается на 1.
- Нажмите «Скачать» и перенесите ваш скрипт на ваш микро: бит. Вы можете нажать Pin0, завершив цепь. Чтобы сделать это, поместите большой палец правой руки на заземляющий контакт (GND), а затем коснитесь Pin0 большим пальцем левой руки.
СБОРКА ВАШЕЙ ИГРЫ
Теперь, когда вы закодировали свою игру, давайте все вместе!
- Во-первых, давайте сделаем вашу палочку. Возьмите кусок проволоки длиной около 20 см и согните его пополам, сделав петлю сверху.
- Затем вы можете скрутить два куска провода вместе.
- Чтобы сделать курс, возьмите другой кусок проволоки длиной около 30 см и согните среднюю часть проволоки в форму. Вы должны согнуть один конец курса.
- Если у вас есть изолента, оберните ее вокруг двух концов провода, оставив немного открытого металла на обоих концах.
- Проведите палочкой через курс и протолкните концы проволоки в замазку, чтобы она встала.
- Теперь вы можете подключить свою игру к вашему микро: биту с помощью крокодилового провода или какого-нибудь провода. Во-первых, подключите заземляющий контакт (GND) к одному концу вашего курса.
- Затем вы можете подключить контакт 0 к вашей палочке.
- Проверь свою игру. Нажмите кнопку A, и ваш счет должен быть установлен на 0. Каждый раз, когда ваша палочка касается курса, цепь завершается, и ваш микро: бит должен добавить 1 к вашему числу неудач.
ЗАДАЧА: ЧИТ-РЕЖИМ!
МОЖЕТЕ ЛИ ВЫ ДОБАВИТЬ ЧИТ В СВОЮ ИГРУ, ЧТОБЫ НАЖАТИЕ КНОПКИ B УМЕНЬШИЛО ВАШ СЧЕТ НА 1?
ЗАДАЧА: ПЕРСОНАЛИЗИРОВАТЬ СВОЮ ИГРУ
Найдите друзей, чтобы опробовать вашу игру. Если ваша игра слишком проста, вы можете сделать ее сложнее:
- Создание более длинного курса;
- Добавление дополнительных изгибов к вашему курсу;
- Делаем палочку с меньшим зазором.