Создайте псевдоним Chessman для типа словаря [String:( alpha:Character,num:Int)?]. Данный тип описывает шах- матную фигуру на игровом поле. В ключе словаря должно храниться имя фигуры, например «Белый король», а в значе- нии — кортеж, указывающий на координаты фигуры на игро- вом поле. Если вместо кортежа находится nil, это означает, что фигура убита (не имеет координат на игровом поле).
2. Создайте переменный словарь Chessmans типа Chessman и добавьте в него три произвольные фигуры, одна из которых не должна иметь координат.
3. Создайте конструкцию if-else, которая проверяет, убита ли переданная ей фигура (элемент словаря Chessmans), и выводит на консоль информацию либо о координатах фигуры, либо о ее отсутствии на игровом поле.
4. Для получения координат переданной фигуры используйте опциональное связывание.
5. Сохраните данную программу, так как мы вернемся к ней в последующем.
Я решил так, но это не совсем по заданию. Не могу понять как сюда применить опциональное связывание, ругается на код.
typealias Chessman = [String:( alpha:Character,num:Int)?]
var chessmans: Chessman = ["Белый король": (alpha: "A", num: 4), "Белый ферзь": (alpha: "B", num: 7), "Черная пешка": (nil)]
if chessmans["Белый король"] != nil {
print(chessmans["Белый король"])
}
if chessmans["Белый ферзь"] != nil {
print(chessmans["Белый ферзь"])
}
if chessmans["Черная пешка"] != nil {
var chessmans1 = chessmans.keys
print("Черная пешка нет на игровом поле")
}
//Забегая чуть вперед еще такое решение придумал
typealias Chessman = [String: (alpha:Character,num:Int)?]
var chessmans: Chessman = ["Белый король": (alpha: "A", num: 4), "Белый ферзь": (alpha: "B", num: 7), "Черная пешка": (nil)]
for var chessmansValues in chessmans.values {
if (chessmansValues != nil) {
print(chessmansValues)
} else {
print("\(chessmansValues) нет на поле")
}
}