Я попытался реализовать игру Trax в C++. Для тех, кто не знает: http://www.traxgame.com/about_rules.phpAlgorithm Trax Winning Условие
Я до сих пор строил доску и создал правила, в которых я могу поставить свою следующую плитку и какой из них мне разрешено установить. Но теперь я борюсь с условиями победы. Как вы можете видеть, мне нужна строка не менее 8 плиток.
Моя первая попытка решения включала путь ко многим условиям if. Это просто невозможно. Итак, мне нужно реализовать правильный алгоритм.
Моя вторая попытка с использованием битовой доски становится довольно сложной, поэтому мой вопрос будет, если есть более простой способ, я просто отсутствую на данный момент.
здоровается, MC
Можете ли вы объяснить, как вы представляете плитки в памяти. – gomons
Плитка имеет цвет (красный или белый) и тип (крест, кривая 1, кривая2). Существует простой массив 2d, где я устанавливаю зависимые числа, если плитка помещается и сохраняется в векторе. – MrCotton
Вы можете использовать рекурсию или цикл для проверки состояния выигрыша. Из каждой плитки попробуйте перейти на другую плиту (по правилам) и на каждом шаге проверить, посетили ли плитку (условие цикла), или плитки имеют длину длиной 8. – gomons