Контрольная — 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 →.
Комментарии
Вопросы, находки и подсказки по этой странице.
Войди, чтобы задать вопрос или помочь другим.