1111

Выбираем в Assistant editor Automatic > ViewController.swift.

Ниже строки

class ViewController: UIViewController {

пишем

//MARK: Properties

С нажатой клавишей Control перетягиваем Label — 0 в правое окно, ниже комментария. Появится линия, показывающая где появится новая строка. Как только мы отпустим мышку появится диалоговое окно, в котором в поле Name введем scoreLabel

Нажмем Connect и появится строка:


Так же перетянем Label 100 и дадим имя highScoreLabel

Ниже, в правом окне добавим

//MARK: Actions

И перетянем кнопку Restart ниже этого комментария. Выберем в поле Connection — Action, в поле Type — UIButton и дадим название restartGame

Появится код:

@IBAction func restartGame(_ sender: UIButton) {
}

Перетянем Switch. Connection — Action, Type — UISwitch и дадим имя showNext

 

Обратите внимание, что после того, как мы связали наши Label с кодом программы, их названия в storyboard изменились на имена, которые мы им дали (Player Score Label и Lider Score Label)

 

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

//MARK: Actions
   @IBAction func restartGame(_ sender: UIButton) {
       liderScoreLabel.text = "New"
   }
   @IBAction func showNext(_ sender: UISwitch) {
       playerScoreLabel.text = "Next"
   }

Запустим симулятор и нажмем на кнопку и на свитч

Супер! Работает!!! Теперь мы знаем как вывести результаты игры на экран, и как дать команду программе что то сделать.

Расстановка объектов… Начало Вывод игрового поля

 

В Identity inspector выбирема Class: CLGameFieldView

С нажатой клавишей Control переносим объект View в ViewController, даем название gameFieldView

 

Для того, чтоб чтоб наше игровое поле могло обрабатывать нажатия, перенесем на него объект Tap Gesture Recognizer

И перенесем его картинку с нажатой клавишей Control из дока в ViewController и дадим название tapGameField, укажем Connection: Action

 

Добавляем в Assets папку с картинками (Cells.zip) А здесь можно посмотреть как нарисовать шарик в Adobe Illustrator

При этом картинки попадут в 1x, в ручную переносим их в 2x, как показано на картинке:

 

Добавим в класс CLGameFieldView следующий код

override func draw(_ rect: CGRect) {

let context=UIGraphicsGetCurrentContext()

let imageRect = CGRect (x: 0.0, y:0.0, width: 70.0, height: 70.0)

let image = UIImage(named: «0»)

context?.draw(image!.cgImage!, in: imageRect)

}

   override func draw(_ rect: CGRect) {
        let context=UIGraphicsGetCurrentContext()
        let imageRect = CGRect (x: 0.0, y:0.0, width: 70.0, height: 70.0)
        let image = UIImage(named: "0")
        context?.draw(image!.cgImage!, in: imageRect)
    }

   override func draw(_ rect: CGRect) {
        let context=UIGraphicsGetCurrentContext()
        let imageRect = CGRect (x: 0.0, y:0.0, width: 70.0, height: 70.0)
        let image = UIImage(named: "0")
        context?.draw(image!.cgImage!, in: imageRect)
    }

override func draw(_ rect: CGRect) {
let context=UIGraphicsGetCurrentContext()
let imageRect = CGRect (x: 0.0, y:0.0, width: 70.0, height: 70.0)
let image = UIImage(named: "0")
context?.draw(image!.cgImage!, in: imageRect)
}

и запустим симулятор. На экране должна появиться таблица 9 на 9 из пустых клеток.

[code]
override func draw(_ rect: CGRect) {
let context=UIGraphicsGetCurrentContext()
let imageRect = CGRect (x: 0.0, y:0.0, width: 70.0, height: 70.0)
let image = UIImage(named: «0»)
context?.draw(image!.cgImage!, in: imageRect)
}
[/code]