Swift Playgrounds на русском, Types 1 урок | Deactivating a Portal

preview_player
Показать описание
Друзья, я рад приветствовать всех на второй части по урокам в Swift Playgrounds. Мы с вами приступаем к первому уроку в части по Типам. Успехов в прохождении!!!

Мой телеграм канал, где перевод уроков по swift playgrounds выходит чаще и раньше чем видео! Если отключат Ютьюб, вы знаете где найти уроки по Свифту)

Learn to code 2 - Types
Introduction

1.
Типы
———🏠———
Умные чертежи
1.

2.
Если вы хотите построить дом, вы используете чертёж.

Чертёж показывает особенности вашего дома, такие как кухня, ванные комнаты и спальни.
2.

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

В программировании, тип (type) подобен чертежу, а экземпляр (instance) подобен дому, который вы построили по чертежу.
3.

4.
Чертёж показывает особенности и поведение дома.

В типе, особенности называются свойствами, а поведения называются методами.

Особенности Поведения
Цвет Проточная вода
Спальни Включение света
4.

5.
Свойства Методы
(Properties) (Methods)
var Цвет = 🟩 Проточная вода()
var Спальни = 2 Включение света()

Свойство (Properties) на самом деле - это просто переменная определенная внутри типа.

Метод (Methods) на самом деле - это просто функция определенная внутри типа.
5.

6.
Теперь, допустим, вы хотите открыть гаражную дверь в доме.

🏠 🏠 🏠
еёДом мойДом егоДом

Сначала вы ссылаетесь на тот дом по имени, затем говорите что делать.
6.

7.
В Свифте, часть перед точкой является экземпляром (конкретный дом).
⬇️
мойДом.открытьДверьГаража()
⬆️
Часть после точки является методом из экземпляра мойДом.

🏠 🏠 🏠
еёДом мойДом егоДом
7.

8.
В мире головоломке, вы можете использовать свойство для включения или выключения порталов.

синийПортал.являетсяАктивным = ложь
⬆️
Здесь, вы изменяете свойство isActive (активен) у синегоПортала (экземпляр-синий портал) на false - ложь, которое выключает портал.
8.

1-1 Deactivating a Portal 1-1
Типы

Цель: Деактивируйте (выключите) портал для того чтобы достигнуть переключателей.

До этого, вы вызывали функции общим способом, используя moveForward() или turnLeft(). Эти функции работали для перемещения вашего персонажа по головоломке, но вы не могли использовать их для других элементов в мире головоломке; например, портала.

Чтобы деактивировать портал, используйте точечную нотацию для изменения значения у свойства isActive на конкретном экземпляре портала.

( property - “пропити” - свойство - переменная (именной контейнер который хранит значение) определенная внутри типа. )

( instance - “инстанс” - экземпляр - значение конкретного типа. Например, в let greenPortal = Portal (), greenPortal - является экземпляром типа портала. )

( syntax - “синтакс” - синтаксис - правила написания кода, которые понимает компьютер и запускает. )

Использование точечной нотации

Правила написания кода, которые понимает компьютер известны как синтаксис. Синтаксис точечной нотации выглядит вот так:

1. Используйте точечную нотацию для выставления значения false свойству isActive экземпляра greenPortal.

2. Нажмите на каждый свитчер.

#swiftplaygroundsнарусском #swiftplayground #learntocode2 #swift
Рекомендации по теме
Комментарии
Автор

С возвращением 👍

Спасибо за разъяснение этой точки, хоть понял логику и принцип работы )
Заметил, что если не повторять пройденный материал, все выветривается мгновенно (

jonetito
Автор

хорошее решение! у меня получилось похожее, только снова без функций. По сути если пригляделся, то можно заметить, что в центре всегда нужен поворот на лево, а если на включенном свитере, то два раза на лево:
while switcherCouner != 3 {
moveForward()
if !isBlockedLeft {
turnLeft()
}
if isOnClosedSwitch {
toggleSwitch()
switcherCouner += 1
turnLeft()
turnLeft()

}
}
но в таком случае будет в самом конце два лишних поворота на лево. Довести до идеала можно так:

while switcherCouner != 3 {
moveForward()
if !isBlockedLeft {
turnLeft()
}
if isOnClosedSwitch {
toggleSwitch()
switcherCouner += 1
}
if isOnOpenSwitch && switcherCouner != 3 {
turnLeft()
turnLeft()

}
}

KrisBond-ebge
Автор

можно вопрос? вы полностью прошли playground? и если закончили можете поделиться своим опытом, и получится ли создать первое приложение по этим гайдам

Xair
Автор

Супер🥳Вы про меня вообще забыли 😏не заходите не смотрите меня😕

MANDRAGORA_
Автор

greenPortal.isActive = false
var switchCounter = 0
while switchCounter != 3 {
moveForward()
if isBlocked && isOnClosedSwitch {
toggleSwitch()
switchCounter += 1
turnLeft()
turnLeft()
}else if !isBlockedRight {
turnRight()
}
}

AquaRioUK