Показать сообщение отдельно
Старый 11.12.2016, 12:15
Samuel_D вне форума Посмотреть профиль Отправить личное сообщение для Samuel_D Найти все сообщения от Samuel_D
  № 3  
Ответить с цитированием
Samuel_D

Регистрация: Aug 2010
Сообщений: 18
Цитата:
А этот метод долго отрабатывает?
скажем так, если с ним - то алгоритм обрабатывает 60 ходов за 1 мс, а без switch - 95 ходов за 1 мс

Цитата:
Если не нравится именно switch, то можно сделать фишки 1 - белые, а черные не 2, а -1, тогда switch заменится на eval += grid[i] * _cost[i]
интересная идея, но она не дает прироста производительности - скорее всего операция сравнения эквивалента по времени операции умножения

Цитата:
Но, возможно, я не совсем разобрался в алгоритме: зачем в метод передавать Id1 и id2, если они всегда одинаковы, и почему оценка именно так складывается?
id1 и id2 передаются т.к. не хотелось хардкодить значения, чтобы можно было их заменить безболезненно ( они же используются не только в этом методе )

Не совсем понял вопроса о подсчете оценки, но опишу ее логику :
В игре угловые клетки самые важные, т.к. их нельзя отобрать у противника, соседние с ними клетки наоборот повышают вероятность захвата углов противника и т.д. Соотв. я дал каждой клетке свой вес, после чего я к весу хода добавляю вес клетки если там мои фишки и отнимаю вес клетки если там фишка противника. Так получаю вес хода, чтобы его можно было сравнить с остальными ходами.


Последний раз редактировалось Samuel_D; 11.12.2016 в 23:53.