-
Какой можно придумать алгоритм для следующий игры? Задано поле, например 10x10 клеток(1..10, 1..10) Две базовые точки (игрока: (1, 5); противника: (10,5)) Ходом называеться передвижение базовой точки влево, вправо, взад, вперед на 1 при этом от предыдущей б. точки до новой рисуеться отрезок (стена)... Ходы делаются по очереди... Таким образом каждый из игроков вырисовыет ломанную линию(стену)... Игра заканчиваеться, когда одному игроку некуда пойти - посколько во всех направлениях стоят стены(тупик), грубо говоря ему приходиться врезаться в стену...Тот, кто попал в тупик проигрывает...
-
Собственно алгоритм игры ты описал...в чем вопрос то ?
-
первые ходы по прямой до встречи
------ -------
затем один вверх другой вниз вопрос кто выиграет? ответ тот кто повернул последним так как число оставшихся ходов зависит только от числа свободных точек и не зависят от противника
-
Мистер Т (01.05.08 10:16) [1] Собственно алгоритм игры ты описал...в чем вопрос то ? Как запрограммировать нормальное AI?
аноним (01.05.08 12:48) [2] Один игрок компьютер...
-
по прямой до встречи а потом в сторону противоположную противнику и аккуратное заполнение пустого места (противник уже не страшен он отрезан после встречи) чтобы не было самопересечений и образования дырок
кто быстрее заполнит свою "половину"? смотри предыдущий пост
-
>>аноним (01.05.08 17:16) [4] Только сейчас понял, кто начинает, тот выигрывает...
А вот если базовые точки перенести в (3, 5); (8, 5) (с возможностью объезда)...
p.s Просто игра такая есть Super Cycle Arena... Правда там алгоритм какой-то глупый...
-
общий правила построения алгоритма
Добиться встречи тем самым разделив поле на две независмые части и избавиться от противника чтобы он не мешал. После этого аккуратно бродим по своей половине пока игра не кончится.
Исходя из предположения противник придерживается аналогичной тактики первоначальные ходы обоих игроков симметричны и приводят к делению поля попоам Если противник не хочет делить пополам то тем самым он бродит по своей половине и съедает резерв точек на ней. конечно при условии что ты можешь продолжать деление и в конце деления выбрать нужную половину. Если после деления вы оказались на одной половине повторим рассуждения для уменьшенного поля (вторая половина для вас обоих увы потеряна)
|