Как реализовать алгоритм увеличения сложности игры

Программирование для iPhone & Android

Как реализовать алгоритм увеличения сложности игры

Сообщение Alanitp 14 дек 2017, 21:50

Есть массив с самыми простыми противниками(массив используется для того, что рандомно из него выбирается противник и создаётся, чтобы был шанс появления как простого, так и более сложного противника). С увеличением счёта определённый элемент массива заменяется более сложным противником. Так впоследствии заменяется массивы на более сложных противников. Как это реализовать в коде? Что использовать? Конструкции if в Update() занимают чересчур много места, как минимум, визуального. Помогите, пожалуйста
Alanitp
UNец
 
Сообщения: 3
Зарегистрирован: 29 ноя 2017, 10:39

Re: Как реализовать алгоритм увеличения сложности игры

Сообщение hludens 05 янв 2018, 15:28

масса способов.
если именно тем способом который ты описал:
При необходимости увеличить сложность (например при накоплении очередной 1000 очков, пройденном участке дороги и т.д.) добавляем в в массив случайного юнита (или случайного юнита чей номер выше или равен чем уровень сложности).
Если размер массива превышает некую величину то ищем в нем самого слабого юнита и выкидываем.

способ с ограниченным числом уровней.
создать двумерный массив или json
{
[
["e1",e1",e1",e1",e2"],
["e1",e1",e2",e2",e3"],
["e1",e2",e2",e2",e3"],
["e2",e2",e3",e3",e4","gr5_e1"]
....
["e9",e9",e10",e10",e10"]
]
}
где е1-е10 имена юнитов соответствующей сложности.
т.е. m[lelel][Random.RandomRange(0,m[level].length-1)]; это случайный юнит для уровня сложности lelel.
Можно так же разнообразить такой генератор вставляя вместо имен юнитов команды:
например "gr5_e1" выпустить группу из 5 юнитов (в данном случае е1). Ясное дело что группа из 5 юнитов это противник более сложный.
так же можно добавить некоторым юнитам свойства: уникальный или одиночка, которые будут влиять на генератор:
Например пока юнит одиночка присутствует на экране другие юниты не выпускаются, или если уникальный юнит уже появился второй раз он появится не может, вместо него генератор заново отбирает случайного юнита, так же юнит щитоносец который сам не атакует, но мешает игроку атаковать других, должен присутствовать на экране в единственном экземпляре, но после того как он убит в отличии от уникального может появится вновь.
т.е. в генератор дополнительно ставится проверка, если на поле присутсвуют юниты с особыми полями вести себя иначе.

Можно так же создать генератор на основе обоих вышеописанных способов, т.е. юниты берутся из некого массива(и при этом изымаются из него), а попадают в этот массив из определенных гейммастером списков, в зависимости от уровня. После достижения некого максимального уровня (дальше нет описания) При этом будут смазаны границы между уровнями сложности, и в конце в этом массиве окажутся только самые сложные противники из последнего списка.
hludens
UNец
 
Сообщения: 5
Зарегистрирован: 02 янв 2018, 18:58


Вернуться в iPhone & Android

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


cron