ФорумПрограммированиеPHP для идиотов → Программирование логики для карты пошаговой стратегии

Программирование логики для карты пошаговой стратегии

  • iphine5g

    Сообщения: 221 Репутация: N Группа: Кто попало

    Spritz 6 октября 2011 г. 15:04

    Какие у кого есть идеи? К примеру у нас есть карта

    1 2 3 4 5
    6 7 8 9 10
    A b c d e

    Если юнит расположен на клетке (да это там у меня клетки) 8, то он может двинуться на 234,79, bcd. Как вы думаете как наилучшим образом запрограммировать такое движение? Нужен какой нить алгоритм валидности движения, может уже изобретено что то?
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 7 октября 2011 г. 2:05, спустя 11 часов 41 секунду

    http://www.php.net/manual/en/language.types.array.php
    Каникулы осенние чтоли начались?
    Work, buy, consume, die
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 7 октября 2011 г. 2:37, спустя 31 минуту 40 секунд

    я думаю не надо было тебе математику прогуливать
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 7 октября 2011 г. 2:45, спустя 8 минут 43 секунды

    позарился на мой носок? купи свой бля
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 7 октября 2011 г. 2:57, спустя 12 минут 8 секунд

    XDDD аааа!! бля!!!! Статус, жжешь!!!!
    Высокоуровневое абстрактное говно
  • iphine5g

    Сообщения: 221 Репутация: N Группа: Кто попало

    Spritz 7 октября 2011 г. 5:56, спустя 2 часа 59 минут

    я тут почитал про волновой алгоритм, еще есть идеи?
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 7 октября 2011 г. 6:44, спустя 47 минут 48 секунд

    есть но я не скажу, т.к. у тебя возникнет еще куча вопросов которые тебе лень гуглить. Кст. эту идею я нагуглил за 5 минут чисто ради интереса ;) Может сам попробуешь?
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 7 октября 2011 г. 6:52, спустя 8 минут 4 секунды

    iphine5g, а не легче ли просто координатную сетку нарисовать и не ипать моск?
    Когда находишься на клетке "8", то координаты твои 3,2. а дальше легко высчитываешь куда можно двинутся. Изначально же есть простой массив, где записаны все клетки и им присвоены координаты.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 7 октября 2011 г. 7:36, спустя 43 минуты 57 секунд


    я тут почитал про волновой алгоритм, еще есть идеи?

    почитай учебники по математике за 8-9 классы, как тебе идея?
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 7 октября 2011 г. 9:00, спустя 1 час 24 минуты 11 секунд

    sub move { # object => y, x
                   my($self, $obj, $y, $x) = @_;
                   $self->destroy($obj);
                   $obj->position($obj->{'pos_y'}+$y, $obj->{'pos_x'}+$x);
                   $self->draw($obj);
           }


    создаешь функцию перемещения по Y и X, например чтобы по твоему примеру переместится с 8 на 2, надо совершить $room->move($object, -1, -1);
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 7 октября 2011 г. 9:45, спустя 44 минуты 7 секунд

    Ivan, к.о.? сдвиг на единицу даже первоклассник асилит
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 7 октября 2011 г. 10:40, спустя 55 минут 43 секунды

    сдвиг на единицу даже первоклассник асилит

    только не "сдвиг на единицу", а "на одну печеньку меньше"))
    Высокоуровневое абстрактное говно
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 7 октября 2011 г. 10:47, спустя 6 минут 26 секунд

    если это для игры, то посоветую лишь одно, начинай сразу использовать гексагональную сетку. Т.к. в дальнейшем ты 85% придешь к ней, но будет уже поздно )
  • iphine5g

    Сообщения: 221 Репутация: N Группа: Кто попало

    Spritz 7 октября 2011 г. 12:09, спустя 1 час 22 минуты 22 секунды


    если это для игры, то посоветую лишь одно, начинай сразу использовать гексагональную сетку. Т.к. в дальнейшем ты 85% придешь к ней, но будет уже поздно )
    +
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 7 октября 2011 г. 15:47, спустя 3 часа 37 минут 27 секунд

    гексагональная сетка разве не базируется на двухвекторной X/Y?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!