Логические операторы

Содержание

Слайд 2

Проверка домашнего задания

Проверка домашнего задания

Слайд 3

Домашнее задание Добавь 3 новых изображения к своему приложению и сделай

Домашнее задание

Добавь 3 новых изображения к своему приложению и сделай так,

чтобы они появлялись при нажатии на кнопку смены изображения
Слайд 4

Домашнее задание Добавь звуки к своему приложению

Домашнее задание

Добавь звуки к своему приложению

Слайд 5

Домашнее задание Создай список цветов и добавь кнопку, которая будет менять

Домашнее задание

Создай список цветов и добавь кнопку, которая будет менять цвет

кисти на случайный цвет из этого списка
Слайд 6

Сегодня мы: Разберем принцип работы условных блоков и научимся составлять сложные условия при помощи логических операторов

Сегодня мы:

Разберем принцип работы условных блоков и научимся составлять сложные условия

при помощи логических операторов
Слайд 7

Сегодня мы: Научимся использовать процедуры в AppInventor

Сегодня мы:

Научимся использовать процедуры в AppInventor

Слайд 8

Сегодня мы: Продолжим создавать приложения для мобильных телефонов и создадим игру «Минигольф»

Сегодня мы:

Продолжим создавать приложения для мобильных телефонов и создадим игру «Минигольф»

Слайд 9

Повторение

Повторение

Слайд 10

Повторение Что такое список? Что такое переменная? Чем локальная переменная отличается от глобальной?

Повторение

Что такое список?
Что такое переменная?
Чем локальная переменная отличается от глобальной?

Слайд 11

Повторение Что такое принцип адаптивности интерфейса? Что такое пиксель? Чем размер

Повторение

Что такое принцип адаптивности интерфейса?
Что такое пиксель?
Чем размер элемента указанный в

пикселях отличается от размера в процентах?
Слайд 12

Программирование Приступим к работе!

Программирование

Приступим к работе!

Слайд 13

Откроем приложение Откроем приложение AppInventor Для этого вам нужно дважды нажать

Откроем приложение

Откроем приложение AppInventor
Для этого вам нужно дважды нажать левой клавишей

мыши по ярлыку приложения на рабочем столе

x2

+

Слайд 14

Откроем приложение Откроем приложение AppInventor В открывшемся окне нажмите на кнопку «All AI2U Server»

Откроем приложение

Откроем приложение AppInventor
В открывшемся окне нажмите на кнопку «All AI2U

Server»
Слайд 15

Откроем приложение Откроем приложение AppInventor В открывшемся окне нажмите на кнопку «Start Invent»

Откроем приложение

Откроем приложение AppInventor
В открывшемся окне нажмите на кнопку «Start Invent»

Слайд 16

Откроем приложение Зайдем в учетную запись Для этого нажмем на кнопку

Откроем приложение

Зайдем в учетную запись
Для этого нажмем на кнопку «Click Here

to use your Account to login»
В открывшемся окне нажмем на кнопку «Log In»
Слайд 17

Откроем заготовку Откроем заготовку Для этого нажмем на кнопку «Проекты» и

Откроем заготовку

Откроем заготовку
Для этого нажмем на кнопку «Проекты» и в выпадающем

меню выберем «Импортировать проект(.aia) с моего компьютера». В открывшемся окне выберем в папке заготовок урока файл «Minigolf_Prefab»
Слайд 18

Изучаем заготовку Заготовка нашего урока содержит в себе такие элементы как:

Изучаем заготовку

Заготовка нашего урока содержит в себе такие элементы как:
Элементы холста,

к которым относятся спрайты препятствий, мяч для гольфа и лунка, в которую необходимо попасть
Элементы меню, помещенные внутрь горизонтального расположения отобразят на экране номер уровня и помогут запустить игру заново
Слайд 19

Изучаем заготовку Элементы из группы «Рисование и анимация» предназначены для создания

Изучаем заготовку

Элементы из группы «Рисование и анимация» предназначены для создания анимированных

спрайтов приложения
Элемент «Холст» необходим для рисования на нем, а также для добавления таких элементов как «Шар» и «Изображение спрайта»
Слайд 20

Изучаем заготовку Элемент «Изображение спрайта» позволяет добавить на холст изображение (персонажа)

Изучаем заготовку

Элемент «Изображение спрайта» позволяет добавить на холст изображение (персонажа) и

описать его действия
Элемент «Шар» позволяет создать круглый спрайт, которому возможно задать направление и скорость движения, словно настоящему мячику
Слайд 21

Изучаем заготовку Узнать подробнее о каждом элементе области «Палитра» можно, нажав

Изучаем заготовку

Узнать подробнее о каждом элементе области «Палитра» можно, нажав левой

клавишей мыши на знак вопроса правее от него
Слайд 22

Изучаем заготовку В нашем проекте присутствует два элемента «Надпись»: Надпись «Раунд_2»

Изучаем заготовку

В нашем проекте присутствует два элемента «Надпись»:
Надпись «Раунд_2» будет хранить

значение номера уровня
Надпись «Попытки_2» сохранит число попыток попадания в лунку, которые будут увеличиваться каждый раз как мы будем бить мяч
Слайд 23

Запрограммируем игру Зайдем в поле программирования, нажав в правом верхнем углу

Запрограммируем игру

Зайдем в поле программирования, нажав в правом верхнем углу на

кнопку «Блоки»
Мы всегда можем вернуться к настройке внешнего вида приложения нажав на кнопку «Дизайнер»
Слайд 24

Запрограммируем игру В области блоков нашей заготовки уже находится несколько скриптов,

Запрограммируем игру

В области блоков нашей заготовки уже находится несколько скриптов, главной

целью которых является подготовка спрайтов к правильному отображению в случае загрузки нового уровня и победы. Эти действия описаны в скриптах «Новый раунд» и «Победа», которые являются процедурами
Слайд 25

Процедура Процедура – это часть программы, которая используется в разных частях

Процедура

Процедура – это часть программы, которая используется в разных частях кода

и помогает сократить исходный код
Слайд 26

Запрограммируем игру В скрипте игры находятся несколько команд, которые будут выполняться,

Запрограммируем игру

В скрипте игры находятся несколько команд, которые будут выполняться, если

мы нажмем на кнопку «Новая игра» или проиграем в нашей игре
Для того чтобы избежать многократного повторения этих команд в коде игры просто добавим эту команду в еще одну процедуру
Слайд 27

Запрограммируем игру Для создания процедуры перейдем по вкладку «Процедуры» в окне

Запрограммируем игру

Для создания процедуры перейдем по вкладку «Процедуры» в окне «Блоки»
Возьмем

первую команду из списка и добавим в неё наши команды перезагрузки уровня
Переименуем процедуру, дав ей название «Перезагрузка». Имя процедуры поможет нам вызвать её при необходимости
Слайд 28

Запрограммируем игру Запрограммируем вызов процедуры «Перезагрузка» по нажатию на кнопку «Новая_игра»

Запрограммируем игру

Запрограммируем вызов процедуры «Перезагрузка» по нажатию на кнопку «Новая_игра»
Для этого

возьмем команду «Когда Новая_игра.Щелчок» и добавим в неё команду вызова процедуры «Перезагрузка» из вкладки «Процедуры»
Слайд 29

Запрограммируем игру Для того чтобы запрограммировать перемещение мяча для гольфа по

Запрограммируем игру

Для того чтобы запрограммировать перемещение мяча для гольфа по холсту

добавим команду «Когда Мяч.Бросок»
В этой команде находится несколько локальных переменных, которые помогут нам описать правильное движение мяча
Слайд 30

Запрограммируем игру Большинство языков программирования и программ для создания игр или

Запрограммируем игру

Большинство языков программирования и программ для создания игр или мобильных

приложений создаются на английском языке. Из-за этого в таких приложениях как AppInventor нередко возникают ошибки перевода на русский язык, а программисты начинают учить английский
Слайд 31

Запрограммируем игру Встроенные локальные переменные X и Y команды «Когда Мяч.Бросок»

Запрограммируем игру

Встроенные локальные переменные X и Y команды «Когда Мяч.Бросок» хранят

в себе текущие координаты элемента «Мяч» на экране телефона
Слайд 32

Запрограммируем игру Переменная Speed или Скорость, сохранит в себе текущее значение

Запрограммируем игру

Переменная Speed или Скорость, сохранит в себе текущее значение скорости

мяча, с которой он движется по холсту
Слайд 33

Запрограммируем игру Переменная Heading или Заголовок, содержит в себе текущее направление

Запрограммируем игру

Переменная Heading или Заголовок, содержит в себе текущее направление движения

мяча. Иными словами, эта переменная скажет в какую именно сторону сейчас катится наш мячик
Слайд 34

Запрограммируем игру Переменные xvel и yvel, укажет значение ускорения, которое было

Запрограммируем игру

Переменные xvel и yvel, укажет значение ускорения, которое было задано

мячу по какой-либо из координат X и Y, что позволит нам узнать силу, с которой игрок толкнул мяч
Слайд 35

Запрограммируем игру Дополним скрипт броска мяча командами, которые позволят нам задать

Запрограммируем игру

Дополним скрипт броска мяча командами, которые позволят нам задать направление

движения и установить скорость движения
Для этого в элементе «Мяч» области «Блоки» возьмем команду «Присвоить Мяч.Курс»
Присвоим текущее направление
Слайд 36

Запрограммируем игру Дополним скрипт, добавив команду «Присвоить Мяч.Скорость» Установим скорость равной

Запрограммируем игру

Дополним скрипт, добавив команду «Присвоить Мяч.Скорость»
Установим скорость равной текущему значению

скорости умноженному на 5, добавив команду умножения из блоков «Математика»
Слайд 37

Запрограммируем игру Каждый бросок мяча считается отдельной попыткой попасть в лунку

Запрограммируем игру

Каждый бросок мяча считается отдельной попыткой попасть в лунку
Для того

чтобы записать количество попыток на экране, изменим надпись «Попытки_2» добавив к текущему значению единицу
Слайд 38

Запрограммируем игру Для того, чтобы усложнить игру, в наш проект добавлено

Запрограммируем игру

Для того, чтобы усложнить игру, в наш проект добавлено два

препятствия, столкновение с которыми оттолкнет мяч
Опишем скрипт столкновения с препятствиями и касания мячом лунки
Для этого нам необходимо вспомнить что такое «Условие»
Слайд 39

Условие «Если…, то…» Условие – это проверка выполнения какого либо события

Условие «Если…, то…»

Условие – это проверка выполнения какого либо события или

действия

Действия внутри условия выполняются только в том случае, если условие верно, то есть правдиво, в противном случае условие не выполняется

Условие

Действие

Слайд 40

Запрограммируем игру Описать условие столкновения мяча с конкретным предметом на экране

Запрограммируем игру

Описать условие столкновения мяча с конкретным предметом на экране можно

при помощи команды «Когда Мяч.Наложение с объектом»
Добавим в эту команду условие «Если» из вкладки «Управление» области «Блоки»
Слайд 41

Запрограммируем игру Для начала проверим касание с мяча с лункой Для

Запрограммируем игру

Для начала проверим касание с мяча с лункой
Для этого проверим,

что предмет, с которым столкнулся мяч это лунка, сравнив локальную переменную скрипта «Другой» с предметом «Лунка»
Слайд 42

Запрограммируем игру Каждое касание мяча с лункой означает, что уровень был

Запрограммируем игру

Каждое касание мяча с лункой означает, что уровень был пройден

игроком, а значит нам необходимо подготовить игру к новому раунду, вызвав процедуру «Новый_раунд» и изменить надпись «Раунд_2», добавив к её значению единицу
Слайд 43

Запрограммируем игру В случае, если значение надписи «Раунд_2» превысит 5, нам

Запрограммируем игру

В случае, если значение надписи «Раунд_2» превысит 5, нам необходимо

будет объявить о победе игрока
Для этого добавим внутрь условия касания лунки еще одно условие «Если», которое проверит, что текст надписи «Раунд_2» стал больше 5
В этом случае вызовем процедуру «Победа»
Слайд 44

Запрограммируем игру Условия, находящиеся внутри тела другого условия принято называть «вложенными»

Запрограммируем игру

Условия, находящиеся внутри тела другого условия принято называть «вложенными»
Такие условия

будут выполнены только в том случае, если было выполнено внешнее условие
В нашем случае проверка значения надписи «Раунд_2» произойдет только в случае касания мяча лунки
Слайд 45

Перерыв Немного отдохнем и перекусим

Перерыв

Немного отдохнем и перекусим

Слайд 46

Запрограммируем игру В нашем проекте существует два одинаковых препятствия, касание любого

Запрограммируем игру

В нашем проекте существует два одинаковых препятствия, касание любого из

которых должно оттолкнуть мяч. Мы могли бы создать условие для каждого из них, однако есть более простой способ для которого нам необходимо изучить логические операторы
Слайд 47

Логические операторы Логические операторы – это операторы, которые работают с логическими

Логические операторы

Логические операторы – это операторы, которые работают с логическими значениями,

такими как истина и ложь
Слайд 48

Логический оператор «И» Разберем принцип работы логического оператора «И» на примере:

Логический оператор «И»

Разберем принцип работы логического оператора «И» на примере:
«Если я

сделал уроки И по русскому языку, и по математике, то я иду гулять.»
Истина И Истина = Истина
Слайд 49

Логический оператор «Или» Разберем принцип работы логического оператора «Или» на примере:

Логический оператор «Или»

Разберем принцип работы логического оператора «Или» на примере:
«Если я

проснулся ИЛИ собираюсь спать, я иду чистить зубы.»
Истина ИЛИ Истина = Истина
Слайд 50

Логический оператор «Не» Разберем принцип работы логического оператора «Не» на примере:

Логический оператор «Не»

Разберем принцип работы логического оператора «Не» на примере:
«Если у

меня НЕТ двоек, то меня похвалят.»
НЕ Ложь= Истина
Слайд 51

Запрограммируем игру Воспользуемся полученными знаниями о логических операторах и дополним скрипт

Запрограммируем игру

Воспользуемся полученными знаниями о логических операторах и дополним скрипт столкновения

мяча с объектами новым условием
Добавим новое условие, в котором проверим, что «Другой» предмет, с которым столкнулся мяч – это или «Препятствие_1» или «Препятствие_2»
Слайд 52

Запрограммируем игру В случае если это касание произошло, направление движения мяча

Запрограммируем игру

В случае если это касание произошло, направление движения мяча будет

изменено на противоположное
Для этого установим новое значение направления мяча равным 0 минус текущее направление
Слайд 53

Запрограммируем игру Наша игра практически готова, однако, если мы попытаемся запустить

Запрограммируем игру

Наша игра практически готова, однако, если мы попытаемся запустить её

прямо сейчас, то мы увидим, что мяч не снижает скорости после броска, что не кажется реалистичным и добавляет некоторые сложности при прохождении игры
Слайд 54

Запрограммируем игру Чтобы это исправить, добавим в наш проект «Часы» Для

Запрограммируем игру

Чтобы это исправить, добавим в наш проект «Часы»
Для этого перейдем

в «Дизайнер» проекта и перетащим нужный нам элемент из палитры на экран просмотра приложения
Слайд 55

Запрограммируем игру Вернемся в область программирования проекта Из элемента «Часы1» добавим

Запрограммируем игру

Вернемся в область программирования проекта
Из элемента «Часы1» добавим команду «Когда

Часы1.Таймер»
Эта команда будет срабатывает всегда, пока часы запущены, каждую секунду выполняя команды, добавленные внутрь неё
Слайд 56

Условие «Если…, то… Иначе…» Ранее мы познакомились с условием «Если…то…», действия

Условие «Если…, то… Иначе…»

Ранее мы познакомились с условием «Если…то…», действия которого

выполняются только в том случае, если само условие оказалось верно
Однако существуют условия «Если…, то… Иначе…», которые в случае, если условие оказалось ложно, выполнят дополнительное действие
Слайд 57

Запрограммируем игру Дополним скрипт часов новым условием «Если… то… Иначе…» Для

Запрограммируем игру

Дополним скрипт часов новым условием «Если… то… Иначе…»
Для этого добавим

условие «Если» из вкладки «Управление»
В верхнем левом углу команды «Если» нажмем на синюю шестеренку
Добавим внутрь условия блок «Иначе»
Слайд 58

Запрограммируем игру В случае, если скорость мяча больше чем 0.5 будем

Запрограммируем игру

В случае, если скорость мяча больше чем 0.5 будем вычитать

из текущей скорости мяча 0.5 каждую секунду
Иначе (если скорость уже меньше 0.5) зададим скорость мяча равной 0
Слайд 59

Проверим скрипты

Проверим скрипты

Слайд 60

Сохранение проектов

Сохранение проектов

Слайд 61

Сохранение Чтобы сохранить проект на компьютере необходимо нажать на кнопку «Проекты»

Сохранение

Чтобы сохранить проект на компьютере необходимо нажать на кнопку «Проекты» в

меню
Выбрать пункт «Сохранить проект»
Слайд 62

Сохранение Чтобы сохранить проект для доработки на другом компьютере необходимо нажать

Сохранение

Чтобы сохранить проект для доработки на другом компьютере необходимо нажать на

кнопку «Проекты» в меню
Выбрать пункт «Экспортировать выбранные проекта (.aia) на мой компьютер»
Слайд 63

Сохранение Чтобы сохранить проект для тестирования на телефоне необходимо нажать на

Сохранение

Чтобы сохранить проект для тестирования на телефоне необходимо нажать на кнопку

«Построить» в меню
Выбрать пункт «Приложение (сохранить .apk) на компьютер»
Необходимо дождаться окончания сборки проекта
Слайд 64

Сохранение Сохраним файлы на флешку, для этого скопируем файлы .apk и .aia

Сохранение

Сохраним файлы на флешку, для этого скопируем файлы .apk и .aia


Слайд 65

Смотрим результат Протестируем результат, нажав дважды левой клавишей мыши по .apk

Смотрим результат

Протестируем результат, нажав дважды левой клавишей мыши по .apk файлу

проекта
Этот файл может быть открыт на компьютере с помощью специального приложения или добавлен на телефон

x2

+

Слайд 66

Смотрим результат

Смотрим результат

Слайд 67

Повторим пройденное Вспомним все то, что узнали на занятии.

Повторим пройденное

Вспомним все то, что узнали на занятии.

Слайд 68

Повторение Что такое условие? Как работает условие «Если… то… Иначе»? Приведи пример условия «Если… то..»

Повторение

Что такое условие?
Как работает условие «Если… то… Иначе»?
Приведи пример условия «Если…

то..»
Слайд 69

Повторение Какие логические операторы ты знаешь? Для чего используются логические операторы?

Повторение

Какие логические операторы ты знаешь?
Для чего используются логические операторы?
В чем разница

между операторами «И» и «Или»
Слайд 70

Повторение Что такое процедура? Для чего используются процедуры?

Повторение

Что такое процедура?
Для чего используются процедуры?

Слайд 71

На следующем занятии: На следующем занятии мы научимся работать с направлениями,

На следующем занятии:

На следующем занятии мы научимся работать с направлениями, узнаем

что такое градусная мера и создадим игру «Аэрохоккей»
Слайд 72

Свободное время Теперь можно улучшать свою игру!

Свободное время

Теперь можно улучшать свою игру!

Слайд 73

Добавим препятствие Добавим в нашу игру еще одно препятствие – озеро,

Добавим препятствие

Добавим в нашу игру еще одно препятствие – озеро, при

попадании мячика в которое, игра будет начинаться с самого начала
Для начала перейдем в «Дизайнер» приложения
Включим и сделаем видимым спрайт «Озеро»
Слайд 74

Добавим препятствие Добавим в скрипт мяча дополнительное условие касания спрайта «Озеро»

Добавим препятствие

Добавим в скрипт мяча дополнительное условие касания спрайта «Озеро»
В случае

если «Другой» объект, с которым произошло столкновение равен «Озеро» будет вызвана процедура «Перезагрузка»
Слайд 75

Домашнее задание

Домашнее задание

Слайд 76

Домашнее задание Загрузи в игру новый фон поражения Добавь новое условие,

Домашнее задание

Загрузи в игру новый фон поражения
Добавь новое условие, в котором

будет проверяться, что количество бросков больше 10
Создай процедуру «Проигрыш» по аналогии с процедурой «Победа». Сделай так, чтобы процедура срабатывала в случае если совершено больше 10 бросков за раунд