у кого есть опыт коллективной работы над флэш проектами?
С SVN я разобрался - тут всё четко и понятно.
Гораздо больше меня волнует вопрос планирования и постановки задач.
1. Как планировать архитектуру проекта, в каком виде оформлять проект?
2. Как разделять обязанности между разработчиками? Как могут звучать конкретные задания?
Я попробую сейчас так, как сам себе это интуитивно представляю, а вы меня порпвьте если я не прав.
Возмём, для примера, простую задачу и разделим ее на двоих:
создать игру крсестики-нолики 3х3 против компьютера.
Это очевидно, что для начала совместной работы нужен общий план.
ход игры:
- прелоадер
- анимация появления игрового поля
- кроме игрового поля на экране есть кнопки "прваила" и "новая партия", а так же итоги предыдущих партий
- первым ходит проигравший, в первой партии первым ходит пользователь
- после окончания партии или клика на кнопку "новая партия" начинается следующая игра
- по клику на кнопку правила открывается окно с правилами и кнопкой "Да знаю я ваши првила!"
- выиграв 3 партии подряд в четвёртой компьютер должен потдаться на втором ходу (для поддержания азарта :~) )
нам понадобятся следующие классы:
Main - основной класс - отвечает за загрузку и анимацию поялвления игры на экране, содержит окно с правилами и игровое поле, слушает события игрового поля, запускает IQ, считает и отображает счёт
GameBoard - игровое поле, отвечает за отображение игрового поля,
анимацию ходов, за клики игрока.
GameData - текущее состояние игры
хранит текущее состояние игры и проверяет не закончилась ли игра
IQ - искуствнный интелект, который будет отвечать за ходы компьютера
всё пишем на AS3 (flex без стандартных компонентов)
вся гафика (анимация) должна быть в отдельных картинках (swf роликах) которые можно легко заменить.
структура проекта:
[bin]
-Main.swf
[src]
-Main.as
-GameBoard.as
-GameData.as
-IQ.as
[assets]
-картинки и swf-ки необходимые для компиляции
Main и GameBoard пишет один человек, GameData и IQ другой
Вроде всё, но как начинать работать?
Как классы будут общаться между друг другом?
Тут я должен расписать все публичноые методы всех классов и все события?
И ещё, что мы будем делать, если заказчик вдруг захочет добавить возможност выбирать язык и поддержку красочных скинов ?