Swift Playgrounds на русском, Parameters 7 урок | Two Experts

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

Мой телеграм канал, где перевод уроков по swift playgrounds выходит чаще и раньше чем видео!

1-7 Two Experts 1-7
Параметры

Испытание: Решите эту головоломку используя ваши знания об инициализации, параметрах, и других навыков, которыми вы уже овладели.

Для решения этой головоломки, вам понадобятся два эксперта, работающие вместе. Каждый из них должен взаимодействовать с разными замками чтобы поднимать или опускать разные платформы таким образом чтобы вы смогли собрать драгоценные камни.

Помните, что типы - это просто чертежи для экземпляров? Вы можете инициализировать два экземпляра одного и того же типа. Сами по себе они полностью идентичны, но контролировать их вам придётся по отдельности.

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

Я если честно не стал париться на этом задании и создал 5 экспертов иии сработало)
let expert = Expert()
let eexpert = Expert()
let eeexpert = Expert()
let eeeexpert = Expert()
let = Expert()

world.place(expert, facing: west, atColumn: 0, row: 4)
world.place(eexpert, facing: west, atColumn: 0, row: 0)
world.place(eeexpert, facing: west, atColumn: 2, row: 4)
world.place(eeeexpert, facing: west, atColumn: 3, row: 4)
facing: west, atColumn: 4, row: 4)
var gemeCounter = 0

expert.collectGem()
gemeCounter += 1
expert.turnLeft()
expert.turnLeft()
expert.moveForward()
gemeCounter += 1
eexpert.collectGem()
gemeCounter += 1
eeexpert.collectGem()
gemeCounter += 1
eeeexpert.collectGem()
gemeCounter += 1

gemeCounter += 1




gemeCounter += 1

Goikhman_music
Автор

Все бы хорошо но одно лишнее движение есть у всех нас

let expert1 = Expert()
let expert2 = Expert()

world.place(expert1, facing: north, atColumn: 0, row: 4)
world.place(expert2, facing: east, atColumn: 0, row: 0)
var moveDistanceExpert1 = 0
if expert2.isOnGem {
expert2.collectGem()
}

expert2.move(distance: 3)
expert2.turnLeft()
expert2.turnLock(up: true, numberOfTimes: 2)
expert2.turnRight()
expert1.turnLockDown()
expert1.turnRight()
expert2.move(distance: 3)
expert2.turnLock(up: false, numberOfTimes: 2)
while !expert1.isBlocked {
if expert1.isOnGem {
expert1.collectGem()
}
expert1.moveForward()
}

AquaRioUK
Автор

Ты функцию не использовал, которую создавал )
-
func expertNorthCollectGams() {
if expertNorth.isOnGem {
expertNorth.collectGem()
}
}


Попробовал сделать так, вроде работает.
-
while !expertNorth.isBlocked {
expertNorthCollectGams()
expertNorth.moveForward()
}

titovis