Введение: используйте Silverlight 2.0 (c#) для разработки игры Lianliankan. Как играть: выберите карту левой кнопкой мыши. Если соединение между двумя выбранными картами составляет не более трех прямых линий, две выбранные карты можно удалить. .
Идеи
1. Алгоритм первоначального расположения карточек: Известно, что вместимость контейнера равна x, количество уникальных карточек равно y, x >= y && x % 2 == 0, сначала случайным образом раскладываем карточки в контейнере, а затем вынимаем одинаковые карты в контейнере. Для набора с нечетным номером (количество членов набора должно быть четным) окончательно разрежьте набор по доске и скопируйте карты из правой половины набора в левую половину. набора последовательно. Приведенный выше алгоритм гарантирует, что на основе определенной случайной частоты не будет нечетного количества одинаковых карт.
2. Алгоритм отсутствия решения и алгоритм перестановки: Среди карточек, существующих в контейнере, вычислить, есть ли устранимый путь в парах. Если нет, то решения нет и его необходимо переставить. При перестановке вам необходимо получить существующий набор карт и набор позиций карт, случайным образом выбрать карты из набора карт (если вы вытащите одну, эта будет удалена из исходного набора), а затем поместить ее в набор позиций карт. для того, чтобы достичь цели замены существующих карт. Цель перестановки.
3. Алгоритм двухточечного пути исключения и алгоритм выбора оптимального пути исключения: возьмите все наборы координат без заполнителей (включая себя) в направлении оси X и направлении оси Y первой точки, выбранной игроком, и имена являются соответственно x1s, y1s; берут все наборы координат без заполнителей (включая себя) в направлении оси x и оси y второй точки, выбранной игроком, а имена — x2s, y2s соответственно. Сначала найдите две точки с одинаковыми координатами x в x1s и найдите набор исключаемых путей в и y2s. Комбинация двух наборов представляет собой набор всех стираемых путей между двумя точками, выбранными игроком. Если набор пуст, две точки не могут быть удалены. Самый короткий путь в наборе является оптимальным путем исключения, а 4. -точечная соединительная линия в наборе. Устраните соединители путей.
4. Игра разработана по паттерну MVVM (Model – View – ViewModel).
Расширять