Подскажите как реализовать)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Rastamanka, 28 Mar 2012.

  1. Rastamanka

    Rastamanka Elder - Старейшина

    Joined:
    26 Nov 2008
    Messages:
    446
    Likes Received:
    11
    Reputations:
    7
    Добрый день. В общем есть игра с таким вот полем.

    [​IMG]

    Думаю все видели достаточно часто игры такого плана. В общем суть игры в том чтобы собрать как можно больше камней за ход по диагонали или вертикали от 3-х и больше камней. При сборе камней те что выше падают на место тех что собрали. После сбора сверху падают новые камни на место старых. Хочу создать помощника, чтобы помогал собрать за ход как можно больше камней. Каждый камень имеет свой вес. К примеру красный 4 урона,зеленый 2 урона и т.д.

    С определением камня более менее ясно. А именно.
    1) В помошника закладываются все шаблоны существующих камней.
    2) Скринится поле.
    3) Много поточно начинается поиск по шаблону в каждой клетке поля

    Вот дальше после определения поля как сделать алгоритм сложения камней? Не очень понимаю.
    Кто что может подсказать?
     
  2. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    466
    Likes Received:
    38
    Reputations:
    1
    А что ты имеешь ввиду под "сложением" камней?Всмысле если 3 в ряд - то защитывать пункты?
     
  3. Rastamanka

    Rastamanka Elder - Старейшина

    Joined:
    26 Nov 2008
    Messages:
    446
    Likes Received:
    11
    Reputations:
    7
    Выше ведь написано )

    В общем суть игры в том чтобы собрать как можно больше камней за ход по диагонали или вертикали от 3-х и больше камней. При этом верхние камни падаю вниз. То есть за 1 ход можно собрать не 1 тройку камней а более.
     
    #3 Rastamanka, 28 Mar 2012
    Last edited: 28 Mar 2012
  4. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    466
    Likes Received:
    38
    Reputations:
    1
    Я бы сделал "вероятные пары", то есть если на клетке 1,1 и на клетке 2,1 одинаковые камни, то маркировать эту пару. Если на клетку 3,1 попадает такой же камень идёт сравнение: слева он находит пару- останавливается - идет направо.
    Такие же действия вверх в вниз.
    Получается менььше шагов для проверки, если изначально разбить на пары.
     
  5. Rastamanka

    Rastamanka Elder - Старейшина

    Joined:
    26 Nov 2008
    Messages:
    446
    Likes Received:
    11
    Reputations:
    7
    Так не может быть такого чтобы на поле уже 3 камня были подряд одного цвета. В этом и суть игры чтобы переставить 2 камня так чтобы собралось как можно больше камней.
     
  6. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    466
    Likes Received:
    38
    Reputations:
    1
    Ну так я вообще то это и имел ввиду, наверное плохо обьяснил, что подразумеваю.
    Я имел ввиду разбить все камни на пары, то есть если в одной из соседних ячеек есть камень аналогичного цвета, то обьединить их в пару.
    [​IMG]
     
  7. wwalex101

    wwalex101 New Member

    Joined:
    24 Mar 2009
    Messages:
    68
    Likes Received:
    4
    Reputations:
    1
    http://habrahabr.ru/post/127540/ думаю то что тебе надо :) есть ссылки на сорцы переработаешь под себя и будет тебе счастье :))
     
Loading...