Задание 1*. Настольная альтернатива с клеточным автоматами
Это задание является альтернативой заданию 1, все задачи аналогичны, но достаточно программного обеспечения из задания 0 и соответственно требования к компьютеру гораздо ниже + отстутсвует режим nightmare. Но результат этого задания не поместится в ваш карман.
До занятий 21 и 22 декабря требуется выполнить это задание (или версию под андроид) как можно полнее. Как бы мало вы не успели сделать - отправьте сделанное до начала следующего занятия.
В любом случае на занятии вы будете это кодить на компах, а я вам помогать, так что сделайте пожалуйста так, чтобы все что вы успеете сделать к тому моменту было у вас на уроке с собой.
Жесткий дедлайн: 05 января (четверг)
Раньше отправляете - лучше оценка.
Предполагается, что весь софт из задания 0 был успешно поставлен.
Обратите пожалуйста внимание на инструкцию по генерации патча - она изменилась.
Обновление:
- Появились тесты проверяющие вашу реализацию пересчета состояний (в конце страницы описание)
Правила обновления состояния автомата:
- В каждой клетке состояние - число от 0 до n-1
- Если в клетке состояние X и вокруг нее среди восьми соседей не было ни одного со значением (X+1)%n (где a%b = a по модулю b), то состояние клетки остается X
- Если в клетке состояние X и вокруг нее среди восьми соседей был хотя бы один со значением (X+1)%n, то состояние клетки становится (X+1)%n
Задание “Клеточный автомат:
- Запустить Idea (оставлять все по умолчанию, жать Ok/Next)
- Check out project from Version Control->Git (НЕ github) (это если вы видите маленькое окошко, если видите большое - то сверху VCS->Checkout from version control->Git
- Git repository URL: https://github.com/PolarNick239/DesktopLife
- Нажать Clone
- Would you like to create a project for the sources you have been checked …? -> нажать Yes, затем жать Next и Finish в конце
- Tip of the Day -> Close
- Кликнуть слева снизу на иконку, появится интерфейс, в нем:
- Project (
Alt+1
) - структура файлов проекта - Version Control (
Alt+9
) - ваши изменения (там же генерировать патч) - TODO (
Alt+6
) - части задания
- Project (
- Несколько горячих кнопок работы в IDEA можно увидеть тут.
Уровни сложности:
- Easy (если обычно вас напрягает информатика, или сделать Medium вы не успеваете, максимальная оценка - 3, есть маленький шанс на 4)
- Medium (вариант по умолчанию. Оценка 4 - если все хорошо но без многопоточности. Оценка 5 - если с многопоточностью)
Процесс выполнения задания:
- Если вы все-таки решили делать Easy вариант, то справа снизу нажать на “Git: master” -> origin/easy -> checkout as new local branch -> Ok
- Выполнить все TODO указанные в коде (так же их можно посмотреть внизу, нажав на TODO или
Alt+6
) - Прогнать тесты, найти и поправить ошибки если тесты падают
- Сгенерировать патч, отправить мне на почту
Чтобы прогнать тесты:
- Откройте файл UpdaterTest
- Если @Test красный - поставить на него курсор, нажать
Alt+Enter
, затем на опцииAdd 'JUnit4' to classpath
нажать Enter - Откройте файл SimpleUpdaterTest или MultithreadedUpdaterTest (в зависимости от того, какую реализацию вы хотите проверить) - это удобно делать через
Ctrl+Shift+N
и затем начать печатать название файла - Нажмите
Ctrl+Shift+F10
, что запустит все тесты из файла UpdaterTest для выбранной реализации - Если все тесты зеленые (прошли) - скорее-всего у вас нет багов
- Если какой-то тест красный - у вас есть ошибка, чтобы ее исследовать - откройте тест двойным кликом и поймите, какой случай в нем проверяется (можете запустить тест под отладкой)