Игра в клеточки на Excel
Когда-то была старая игра где нужно было на поле из разных клеточек выбирать по очереди цвет, захватывая клеточки этого цвета и таким образом захватывая игровую зону. Решил в качестве тренировки сделать такую игру в Excel и каждому игроку прописать разные сценарии.
Получилось забавно, итак:
1 игрок высчитывает при каком ходе он получит больше всего очков "прямо сейчас" и выбирает самый прибыльный цвет
2 игрок целенаправленно идет захватывать центр (приоритет на шаг вверх при прочих равных)
3 игрок на каждом ходу высчитывает кто из других игроков больше всего преуспел и идет его окружать
4 игрок ранее брал случайные цвета и всегда был зажат вторым, поэтому в этот раз его программа просто идти максимально испортить жизнь второму игроку
пример кода 4 игрока как самого примитивного:
rr = поле 'размер игрового поля
cc = 1
maxx = 999
For ii = 1 To t 'все соседние клетки
tt = Abs(f(ii, 1) - rr) + Abs(f(ii, 2) - cc) 'в f() занесен заранее список допустимых (ii) ходов, 1 - это х, а 2 - это у, эта строка считает минимальное расстояние до старта ближайшего игрока (название переменной с прошлой тактики осталось)
If tt <= maxx Then
maxx = tt
maxs = ii
End If
Next ii
новцвет = Cells(f(maxs, 1), f(maxs, 2)).Interior.Color
...далее {новцвет} передается чтобы сделать ход
Понятно что у 4 самая примитивная тактика, если у кого есть настроение пишите код, заменю четвертого на что-то более логичное))