Обнаружение петель в компьютерном плеере в карточной игре

Некоторое время назад я создал небольшое веб-приложение для карточных игр для развлечения. Игрок играет против компьютера и в основном он работает нормально. Иногда, несмотря на то, что компьютерный игрок зацикливается, цель игры состоит в том, чтобы потерять все ваши карты, и если у вас нет карты для игры, вы берете стопку. Иногда компьютер играет x, y, z, берет стопку, играет x, yz, берет стопку и т. Д.

Я отслеживаю свои ходы, поэтому в любой момент у меня есть массив, который выглядит примерно так : [C2, D5, H2, S4, C5, H2, S4, C5, H2, S4, C5 ]

В этом случае я вижу, что я вошел в цикл, проигрывая H2, S4, C5, затем забирая стопку и повторяя.

Итак, общая проблема состоит в том, что лучший способ обнаружить повторяющиеся шаблоны в списке? Я, вероятно, мог бы что-нибудь придумать, используя простой цикл for, пытаясь найти карту, которую я собираюсь сыграть, и если я найду ее в позиции x, я смогу проверить, повторяется ли шаблон от x до n в позиции x- (nx) к x, но это похоже на проблему, для которой может быть хороший алгоритм. Как бы вы это закодировали, учитывая следующую сигнатуру функции:

function findLoops(previousMoves, nextMove, maxPatternLength) {
    //Return [loopLength, loopCount] or null if there are no loops
}

ps это не домашнее задание, игра существует и находится на http://www.idiot-cardgame.com , если кому-то интересно: .text (сообщение) .dialog ({autoOpen: false, height: 140, modal: true, title: "...

Я использую следующий код для отображения диалогового окна с пользовательским интерфейсом jQuery:

var $dialog = $('
') .text(msg) .dialog({ autoOpen: false, height: 140, modal: true, title: "Confirm", buttons: { "Yes": function() { $(this).dialog('close'); }, "Cancel": function() { $(this).dialog('close'); } } }); $dialog.dialog('open');

Однако у кнопок нет стилей. Я заметил, что для кнопок сгенерирован следующий HTML-код:

Из демонстраций пользовательского интерфейса jQuery это:

Т.е. стили CSS отсутствуют. Вы знаете, почему?

6
задан xhh 8 November 2010 в 07:26
поделиться