Цитата:
А этот метод долго отрабатывает?
|
скажем так, если с ним - то алгоритм обрабатывает 60 ходов за 1 мс, а без switch - 95 ходов за 1 мс
Цитата:
Если не нравится именно switch, то можно сделать фишки 1 - белые, а черные не 2, а -1, тогда switch заменится на eval += grid[i] * _cost[i]
|
интересная идея, но она не дает прироста производительности - скорее всего операция сравнения эквивалента по времени операции умножения
Цитата:
Но, возможно, я не совсем разобрался в алгоритме: зачем в метод передавать Id1 и id2, если они всегда одинаковы, и почему оценка именно так складывается?
|
id1 и id2 передаются т.к. не хотелось хардкодить значения, чтобы можно было их заменить безболезненно ( они же используются не только в этом методе )
Не совсем понял вопроса о подсчете оценки, но опишу ее логику :
В игре угловые клетки самые важные, т.к. их нельзя отобрать у противника, соседние с ними клетки наоборот повышают вероятность захвата углов противника и т.д. Соотв. я дал каждой клетке свой вес, после чего я к весу хода добавляю вес клетки если там мои фишки и отнимаю вес клетки если там фишка противника. Так получаю вес хода, чтобы его можно было сравнить с остальными ходами.