Skip to content

Контрольная — Projects 4–6

Ты научился работать с формами, вводом, списками, functions и animation. Теперь собери игру для тренировки таблицы умножения.

Требования

  • пользователь выбирает таблицы, например от 2 до 12;
  • выбирает длину раунда: 5, 10 или 20 вопросов;
  • получает случайные примеры и вводит ответ;
  • видит текущий счёт и номер вопроса;
  • после раунда может начать заново;
  • хотя бы одно изменение сопровождается осмысленной animation.
  • состояния setup, playing и finished описаны enum;
  • Reduce Motion отключает крупные перемещения, сохраняя понятную обратную связь;
  • generation и scoring проверяются тестами отдельно от View.
Самостоятельная работа

Испытание

Задание

Собери игру целиком. Не начинай с дизайна: сначала опиши state и функции `startGame`, `checkAnswer`, `nextQuestion`.

Что уже нужно знать

Ranges, Arrays, random values, `TextField`, conditions, functions и animation.
Показать подсказку 1
Создай Array возможных множителей через Range, затем выбирай `randomElement()`.
Показать подсказку 2
Раздели состояния настройки и игры enum-значением или простым Bool.
Показать решение
swift
func nextQuestion() {
    left = Int.random(in: 2...selectedTable)
    right = Int.random(in: 2...12)
    answer = ""
}

func checkAnswer() {
    if Int(answer) == left * right { score += 1 }
    questionNumber += 1
}

Когда игра выдерживает полный раунд без сбоя, переходи к приложениям с несколькими экранами: iExpense →.

Переход между соседними страницами: и вне полей ввода.

ОБСУЖДЕНИЕ

Комментарии

Вопросы, находки и подсказки по этой странице.

Загружаем комментарии…