Конференция "Игры" » Морской бой
 
  • Knight © (04.01.09 21:53) [0]
    Кто писал сабж? Какие алгоритмы использовали? :)
  • @!!ex © (04.01.09 22:11) [1]
    Я писал. Какие алгоритмы интересуют?
  • Knight © (04.01.09 22:40) [2]
    За комп... сейчас использую гибрид случайного выстрела + случайная выборка из нескольких наборов точек - по первое кольцо (периметр), второе кольцо и в центре. Иногда пользователь выигрывает :)
  • Knight © (04.01.09 22:41) [3]
    Хочу ещё добавить выстрелы по пересечению самых длинных колонок и рядов...
  • dPhin (04.01.09 22:46) [4]
    Может посмотришь готовые исходники
  • Knight © (04.01.09 22:49) [5]
    Все готовые (которые нашёл).. сводяться к тупому случайному долбанию до ранения с последующим убиванием... и дальнейшим долбанием.
  • Knight © (04.01.09 22:51) [6]
    ... а да... был ещё вариант случайного долбания с периодическим подсмотриванием расстановки кораблей пользователя :)
  • dPhin (04.01.09 22:55) [7]
    блин и почему на этом форуме людей так мало
    вообще глухомань.
    человеку даже посоветовать некому
  • Knight © (04.01.09 22:57) [8]
    ЗЫ: Поэтому большинство задают вопросы в ту конфу где народу всегда много... "Потрепаться" :)
  • Knight © (04.01.09 23:01) [9]
    Есть ещё мысль вставить повтор случайных кусков из ходов пользователя.
  • Knight © (04.01.09 23:09) [10]
    Не знаю вот стоит заморачиваться или ничего хорошего не даст..
  • KilkennyCat © (04.01.09 23:37) [11]

    > стоит заморачиваться

    конечно стоит. создашь одну из миллиона игру. или из миллиарда? да какая разница. пин-понги пишут, значит, и морской бой актуален как никогда.
  • @!!ex © (04.01.09 23:45) [12]
    > [2] Knight ©   (04.01.09 22:40)

    Случайная стрельба с анализом положения кораблей. Сначала охотимся за 4 палубным - делаем рандом до тех пор пока указанная точка теоретически не может принадлежать 4 палубному. Как поймали, ищем 2 трех палубных и так далее. Оптимальнее ничего не придумаешь.
  • Knight © (05.01.09 00:11) [13]

    > KilkennyCat ©   (04.01.09 23:37) [11]

    Я не про то... я про дубляж серии выстрелов пользователя с случайной позиции...

    ЗЫ: Курсовую такую выбрал, всё-равно давно хотел попробовать... совместить приятное с полезным :)
  • Knight © (05.01.09 00:17) [14]

    > @!!ex ©   (04.01.09 23:45) [12]

    Корабли ведь не однопалубные, всё-равно где-то вероятность корабля выше... Запускал генерацию положений кораблей, на 10 тысяч самый высокий процент на втором кольце и к центру, минимум на углах... но генератор не пользователь :)
  • KilkennyCat © (05.01.09 00:27) [15]
    Ну, если курсовая, то советую к [12] добавить анализ психологии, например, лепление только горизонтально, только в один угол, а также анализ психологии атаки. Дабы вторая игра была еще более оптимальна. Самообучаемость, так сказать.
  • Knight © (05.01.09 00:31) [16]
    Дал тут знакомым поиграть... идёт примерно 50 на 50... в основном проигрывает не одноклеточных.
  • antonn © (05.01.09 00:46) [17]
    Из всех позиций рандома убираются те точки, которые не могут быть под обстрелом (вокруг подбитых кораблей). Если было попадание как нимимум 4 точки не будут под обстрелом - угловые возле точки попадания. Если было попадание, но не смерть - нужно долбить на поиск вокруг этого попадания. Сначала ищутся бОльшие корабли, соответственно строятся временные маски исключающие невероятные позиции (например ищем 3х палубный, пустое место из двух ячеек не может его содержать и помечается "временно простреленной").
    Примерно так, все не помню :)
  • Knight © (05.01.09 01:03) [18]

    > antonn ©   (05.01.09 00:46) [17]

    У меня сейчас каждая ячейка таблицы анализатора имеет массу от 0 до 6...
    0 - это иключённая из поиска (прострелянная или в зоне корабля)
    1 - изначальная (для случайной стрельбы)
    2 - набор ячеек первого круга (переферия)
    3 - набор ячеек второго круга
    4 - редкая сетка на центральную часть
    5 - ячейки для обстрела раненого корабля
    6 - если 5 совпало с 2, 3 или 4

    Перед каждым выстрелом ячейки по массам заносятся в массив целей, 6 и 5 вне конкуренции, если они имеют элементы, то выирается случайная ячейка из 6, когда 6 не остаётся из 5... потом выбирается случайное число 1-4 и из выбранного массива случайная цель. При попадании и добиве, следующая цель выбирается из того-же массива при 2-х промахах снова идёт выбор массива от 1 до 4.

    Примерно так.
  • Knight © (05.01.09 01:06) [19]

    > antonn ©   (05.01.09 00:46) [17]

    Насчёт "маски" мысль дельная... надо подумать :)
 
Конференция "Игры" » Морской бой
Есть новые Нет новых   [134430   +3][b:0][p:0.001]