|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Что смущает в конфиге?
Для демонстраций случайной генераций, в нём можно создать пустую локацию, а в контроллере прописать функцию createRandomBuildings(num), просто дёргая её при старте игры. В конфиг можно добавить данные о типах тайлов, а так-же карту тайлов для тестовой локаций. (Вода, дороги) Ещё, для большего соответствия тз, жизни домиков в нём нужно указать 5. (фул хп) В целом, это было бы то, что они хотели. Конфиг грузится сразу после запуска приложения, 1 раз. Затем, вы просто храните его в памяти в любом удобном виде. Можете хранить его просто как динамический объект свойств. (Обычный Object, возвращаемый после JSON.parse). На протяжении всей работы приложения вам понадобится постоянно обращаться к этим данным самым разным способом. (По id, по title, по life и т.д.) Поэтому, я всегда дублирую все сущности конфига как as классы, создаю удобные обёртки для доступа к этим данным. Простой пример класса данных локаций: Класс, содержащий данные по локациям: Это самый краткий вариант записи. На практике, в эти классы добавляются такие метода как getLocationByID, getLocationByTitle и т.п. (Для удобного доступа) После того как конфиг файл загружен, я разбираю его по этим классам и в дальнейшем храню и работаю с ними. Указанная выше процедура является инициализацией приложения. Нужно обратить внимание, что это статические данные, они создаются только при запуске, далее вы будете только читать их. После того как все данные были загружены и расфасованы по классам, в ход идёт мвц и запуск первой локаций.
__________________
Дети не должны знать о своих родителях |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
Спасибо, теперь понял, что конфиг должен хранить абсолютно все данные об игре (что-то вроде базы данных), чтобы правя его можно было менять локации, объекты, и все остальное, без правки приложения, просто я никогда с этим не работал, и из тз понял что там должны быть основные общие настройки игры , теперь буду делать правильно, еще раз спасибо.
Последний раз редактировалось Isfet; 02.07.2015 в 14:42. |
|
|||||
Сорри, за прямоту - сам не люблю когда делают код ревью мне )
Не стал бы заострять внимание на e или event и прочей лабуде с табуляциями. Сразу вижу что: 1. мало опыта в МВЦ, не очень логично распределены обязанности. Всё свалено в кучу. - разделить на модель, вид , контроллер - дать описания каждому паблик методу в формате ас док на английском 2. Не понимает , что такое интерфейсы. Избыточно заявленые интерфейсы. Впечатление , что разработчик - смутно себе представляет зачем они нужны - типа "так правильно" - Убрать интерфейсы вовсе, либо заморочиться и впилить инъекции (пусть интервьюер сам курит роботлегс например , покажите что-то интересное=)) и имплементировать в них обычные дисплей объекты вместе со старлингом, приправив парочкой геном2д объектов с шаред 3Дконтекстом. 3. Не гуглит - не заюзал всем известные решения типа isolib, и получилась пародия - которая точно будет багать с объектами на близких координатах и разных слоях. 4. А где ресайз ? А где фпс на 60 ? Где обработка ошибок ? Возможно разработчик никогда не сталкивался с этим. Варианта 2 - либо "лепил мини-игры-баннеры", либо флексил на простом уровне. ФПС 24, а зачем 40 ? Тестовое задание - убойное, честно говоря. Но ту реализацию, что есть в исходнике, - реально за 1 день можно сделать. Ничего из дополнительных тасков не реализовано. |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
спасибо, про мвц уже понял, разбираюсь, про интерфейсы тоже буду читать.
естественно искал готовые решения, но работодатель сказал не юзать isolib. взрыв был слишком долгий, из атласа текстуры не стал выпиливать. Последний раз редактировалось Isfet; 06.07.2015 в 08:53. |
Часовой пояс GMT +4, время: 20:10. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|