Пятнашки

Игра в 15, пятнашки, такен — популярная головоломка, придуманная в 1878 году Ноем Чепмэном. Представляет собой набор одинаковых квадратных костяшек с нанесёнными числами, заключённых в квадратную коробку. Длина стороны коробки в четыре раза больше длины стороны костяшек для набора из 15 элементов, соответственно в коробке остаётся незаполненным одно квадратное поле. Цель игры — перемещая костяшки по коробке, добиться упорядочивания их по номерам, желательно сделав как можно меньше перемещений.

Запускаем Xcode и выбираем «Create a new Xcode project», создаем новый проект

Выбираем во вкладке Multiplatform

struct ContentView: View {
  var body: some View {
    ForEach(0 ..< 5) { item in
      Text("\(15)").padding()
    }
  }
}
struct ContentView: View {
  var body: some View {
    VStack(spacing: 2) {
      ForEach(0 ..< 4) { i in
        HStack(spacing: 2) {
          ForEach(0 ..< 4) { j in
            Text("\(i * 4 + j)")
              .font(.system(size: 50))
              .frame(width: 100, height: 100)
              .background(Color.orange)
              .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous))
          }
        }
      }
    }
  }
}
struct ChipView: View {
  var index = 0
  var body: some View {
    Text("\(index)")
      .font(.system(size: 50))
      .frame(width: 100, height: 100)
      .foregroundColor(index == 0 ? .clear : .primary)
      .background(index == 0 ? Color.clear : Color.orange)
      .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous))
  }
}
ChipView(index: i * 4 + j)
import SwiftUI

struct ContentView: View {
  @State var title = "Привет!"
  var body: some View {
    VStack(spacing: 2) {
      Text(title).font(.largeTitle).padding(.bottom, 20)
      ForEach(0 ..< 4) { i in
        HStack(spacing: 2) {
          ForEach(0 ..< 4) { j in
            ChipView(index: i * 4 + j)
              .onTapGesture {
                title = "\(i + 1) строка, \(j + 1) столбец"
              }
          }
        }
      }
    }
  }
}