User Tag List

Страница 3 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 21 по 30 из 51

Тема: Алгоритм для игры

  1. #21

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,103
    Спасибо Благодарностей отдано 
    1,336
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так. Это не те, которые я в последнем эскизе обвёл голубым? Тогда какие? Нарисуй эскиз и обведи те, которые хочешь найти, станет понятнее чем на словах.

  2. #22

    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    если сверху блока пустота, тогда { ... }
    "наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
    "Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
    (c) zst

  3. #23

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я совсем запутался..

  4. #24

    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ld ix,массив 16х12
    ld a,(ix-16)
    or a
    jr z, пустота

    тип так)

    отдохни, решение придёт
    "наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
    "Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
    (c) zst

  5. #25

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    ld ix,массив 16х12
    ld a,(ix-16)
    or a
    jr z, пустота

    тип так)
    типа так не пойдет.
    Вот если сверху границу прочертить, то это вариант.

  6. #26

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно выписать все блоки, имеющие внешнюю границу, а потом по этому списку собрать все существующие границы областей. Внутренние и внешние границы можно отличить друг от друга по знаку накопленного поворота вектора обхода. Внутренние границы исключить. Области, не соприкасающиеся с границей экрана, удалить заливкой.

  7. #27

    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,198
    Спасибо Благодарностей отдано 
    40
    Спасибо Благодарностей получено 
    128
    Поблагодарили
    103 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    denpopov, если правильно понял задачу - вот концепция решения "в лоб". После хода, подсчитываете все "группируемые" элементы находящиеся на экране. Берете любой из "группируемых" элементов и проверяете его на предмет "соседства" с краями экрана и другими элементами (в соответствии с игровой "логикой"), добавляя элементы в группу до тех пор пока в группу не будут включены все возможные элементы. Если хоть один из элементов "группы" соседствует с краем экрана, данная группа считается "неудаляемой", в противном случае - данная группы "удалямая". Сравниваем общее количество количество всех элементов и элементов составленных в "группы" - если равно, больше элементов нет, можно делать следующий ход. В противном случае, ищем еще не сгруппированные блоки по вышеприведенному алгориитму.
    Когда есть, но не знаешь где - это все равно, что нету.

  8. #28

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ээээх, было бы хорошо увидеть работу алгоритма, описанного на словах...пока гонял игру, нашел еще одну ошибку, пытаюсь понять, в чем дело.
    плохой из меня игрописатель

  9. #29

    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,198
    Спасибо Благодарностей отдано 
    40
    Спасибо Благодарностей получено 
    128
    Поблагодарили
    103 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    denpopov, Сперва подсчитываем общее количество элементов на экране (фиолетовый).

    Потом, начинаем "группировать" элементы в соответствии с логикой игры. В итоге получается три группы: "красная", "зеленая" и "голубая". "Зеленая" и "голубая" -"изолированные", т.к. не соприкасаются с границами экрана.

    Если игровой экран представлен в виде массива - добавляем с каждой из сторон по одному элементу массива и заполняем их определенным значением (обозначил "серым" - это поможет при "сканировании" соседних ячеек в пределах игрового экрана, определить, соприкасается или нет "группа" с границей экрана)

    Одновременно с этим считаем количество элементов во всех группах. Если количество элементов во всех группах, не равно ранее подсчитанному количеству - на игровом поле есть неучтенные элементы.

    Последний раз редактировалось null_device; 13.03.2014 в 14:30.
    Когда есть, но не знаешь где - это все равно, что нету.

  10. #30

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    null_device, я верну немного назад - а как быть, если вверху две пары разделены?

Страница 3 из 6 ПерваяПервая 123456 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Алгоритм MFM кодирования/декодирования
    от Abadonna в разделе Внешние накопители
    Ответов: 8
    Последнее: 06.09.2013, 22:54
  2. Алгоритм календаря
    от Mick в разделе Программирование
    Ответов: 13
    Последнее: 02.05.2012, 08:34
  3. Алгоритм и..
    от Пётр в разделе Программирование
    Ответов: 4
    Последнее: 21.05.2008, 21:52
  4. сложнопонимаемый алгоритм
    от psb в разделе Программирование
    Ответов: 35
    Последнее: 27.05.2006, 01:42

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •