На острове живут
location[bear][3:8]
...
location[bear][5:2]
так что ли? и как мне узнавать текущее расположение зверька?
Выливайте все что думаете...
update:
зверьков одного вида может быть не сколько это раз!
самец или самка это два!
если они(зверьки одного вида) находятся на одной территории то они занимаются сексом и рожают ещё одного зверька(раз хомяк, два хомяк шмяк-шмяк-шмяк ещё хомяк

я должен все этой толпой управлять...
Спустя 7 минут, 49 секунд (3.05.2012 - 18:29) Invis1ble написал(а):
[3:8] - лучше 2-мерный массив, имхо [3][8]
как узнавать? присваивай каждому свой id, по нему и узнавать будешь
как узнавать? присваивай каждому свой id, по нему и узнавать будешь
Спустя 1 минута, 35 секунд (3.05.2012 - 18:31) Invis1ble написал(а):
Цитата |
я должен все этой толпой управлять... |
повелитель хомяков

Спустя 2 минуты, 12 секунд (3.05.2012 - 18:33) johniek_comp написал(а):
Invis1ble
animal[bear][0][M][4][8]
название\id\пол\координата по гор.\по вер.
так что ли?
animal[bear][0][M][4][8]
название\id\пол\координата по гор.\по вер.
так что ли?
Спустя 48 секунд (3.05.2012 - 18:34) Dezigo написал(а):
Битовая матрица. Очень быстро

Спустя 4 минуты, 45 секунд (3.05.2012 - 18:39) Invis1ble написал(а):
$location = array(
0 => array(0 => 0, 1 => 5, 2 => 0),
1 => array(...),
...
);
echo $location[0][1]; // хомяк с id=5
0 - свободное пространство
как-то так
Спустя 5 минут, 40 секунд (3.05.2012 - 18:44) inpost написал(а):
$unit['id7?'] = array(
'x' => 1,
'y' => 7,
'name' => 'Петр',
'sex' => 1,
);
Спустя 5 минут, 13 секунд (3.05.2012 - 18:50) Dezigo написал(а):
$arr[1][2] = 5;
Заполнить
Заполнить
function declaree($m, $n, $value = 0) {
return array_fill(0, $m, array_fill(0, $n, $value));
}
$t = declaree(20,20,5);
print_r($t);
Спустя 48 секунд (3.05.2012 - 18:50) bodja написал(а):
Вспоминаем что такое обьекты их свойства и методы.

Спустя 3 минуты, 30 секунд (3.05.2012 - 18:54) Invis1ble написал(а):
bodja
ага, я тоже так подумал. Тут ООП кстати будет.
ага, я тоже так подумал. Тут ООП кстати будет.
Спустя 3 минуты, 14 секунд (3.05.2012 - 18:57) johniek_comp написал(а):
bodja
Будет класс animal, там свойства(проценты передвижения, соотношения разные, вероятность пожирания тебе хищником и т.д.) и куча-куча методом которые будут этим всем заправлять, может и не плохая игрушка получится
inpost
спасибо за толчок
как же мне за вечер надоест слово array....
Будет класс animal, там свойства(проценты передвижения, соотношения разные, вероятность пожирания тебе хищником и т.д.) и куча-куча методом которые будут этим всем заправлять, может и не плохая игрушка получится

inpost
спасибо за толчок
как же мне за вечер надоест слово array....

Спустя 2 минуты, 2 секунды (3.05.2012 - 18:59) inpost написал(а):
Dezigo
Проблема в количестве разнополых хомячков!
Invis1ble
Зачем ООП? Я показал обычный массив, который можно рассматривать как набор объектов, где первым ключем и будет их идентификационный номер. Далее перемещать и изменять как тебе пожелается
johniek_comp
Я работаю с этим сейчас на JS. Нет там слова array!
Посмотри в сторону массивов, это и есть те же объекты и классы не нужны.
Проблема в количестве разнополых хомячков!

Invis1ble
Зачем ООП? Я показал обычный массив, который можно рассматривать как набор объектов, где первым ключем и будет их идентификационный номер. Далее перемещать и изменять как тебе пожелается

johniek_comp
Я работаю с этим сейчас на JS. Нет там слова array!

Посмотри в сторону массивов, это и есть те же объекты и классы не нужны.
Спустя 2 минуты, 45 секунд (3.05.2012 - 19:02) Invis1ble написал(а):
inpost
Потому что в данном случае логичней пользоваться объектами и их свойствами и методами, чем лепить 100500 массивов и функций. ИМХО.
Потому что в данном случае логичней пользоваться объектами и их свойствами и методами, чем лепить 100500 массивов и функций. ИМХО.
Спустя 3 минуты, 50 секунд (3.05.2012 - 19:06) inpost написал(а):
Invis1ble
Вообще-то твоё представление свойств - и есть моё представление массивов. Так что злоупотреблять уже будешь ты
Вообще-то твоё представление свойств - и есть моё представление массивов. Так что злоупотреблять уже будешь ты

Спустя 1 минута, 56 секунд (3.05.2012 - 19:08) johniek_comp написал(а):
inpost
Не ну как без класса ты себе это представляешь? Нужно например будет вытащить однополых хомяков, если их > 80% не гомосексуалистами же их делать, буду увеличивать % рождения девочек
Вот когда-когда, а вот сейчас за все время что я писал реально нужно это ООП.
Не ну как без класса ты себе это представляешь? Нужно например будет вытащить однополых хомяков, если их > 80% не гомосексуалистами же их делать, буду увеличивать % рождения девочек

Спустя 3 минуты, 6 секунд (3.05.2012 - 19:11) Invis1ble написал(а):
inpost
Цитата |
Так что злоупотреблять уже будешь ты |
не выдумывай
Спустя 3 минуты, 12 секунд (3.05.2012 - 19:14) sebastjan написал(а):
А на чём игру делаешь?
Спустя 1 минута, 36 секунд (3.05.2012 - 19:16) johniek_comp написал(а):
sebastjan
Unity3D+C#
Unity3D+C#
Спустя 2 минуты, 25 секунд (3.05.2012 - 19:18) sebastjan написал(а):
johniek_comp
Ну ничего себе
Ну ничего себе

Спустя 2 минуты, 16 секунд (3.05.2012 - 19:20) sebastjan написал(а):
Invis1ble
inpost
А какая разница как бублик назвать.
Вообще не вижу темы для спора.
inpost
А какая разница как бублик назвать.


Спустя 1 минута, 53 секунды (3.05.2012 - 19:22) sebastjan написал(а):
johniek_comp
Так ты модельки уже накрутил в 3Д, показал бы , что ли?
Так ты модельки уже накрутил в 3Д, показал бы , что ли?
Спустя 3 минуты, 9 секунд (3.05.2012 - 19:25) sharki написал(а):
johniek_comp
Ну тогда явно ООП..куда без него в C#. А по карте...есть полигон 20х20, есть класс описываешь его тупо абстрактно, чтобы в итоге его расширить, и нарисовать свою карту. Далее у тебя есть главный объект, он будет иметь реализацию основных функций, а именно : просчет наступания предела полигона, просчет смежных ему объектов, и т.п (сам думай). Для просчета " смежных ему объектов" тебе надо иметь у каждого объекта(зверька) радиус соприкосновения, для детекции близости между особями. Каждое движение фиксируется в БД, а точнее его координаты на полигоне...а далее тебе надо описывать геометрию и математику в тех самых выше описанных функциях
Так же не забывай про интерфейсы, чтобы не было бардака. Плюс ко всему прочти про паттерн наблюдатель, он тебе пригодится
Ну тогда явно ООП..куда без него в C#. А по карте...есть полигон 20х20, есть класс описываешь его тупо абстрактно, чтобы в итоге его расширить, и нарисовать свою карту. Далее у тебя есть главный объект, он будет иметь реализацию основных функций, а именно : просчет наступания предела полигона, просчет смежных ему объектов, и т.п (сам думай). Для просчета " смежных ему объектов" тебе надо иметь у каждого объекта(зверька) радиус соприкосновения, для детекции близости между особями. Каждое движение фиксируется в БД, а точнее его координаты на полигоне...а далее тебе надо описывать геометрию и математику в тех самых выше описанных функциях

Так же не забывай про интерфейсы, чтобы не было бардака. Плюс ко всему прочти про паттерн наблюдатель, он тебе пригодится
Спустя 1 минута, 6 секунд (3.05.2012 - 19:26) inpost написал(а):
johniek_comp
Если есть желание, то можешь показать вариант проще :)
А вообще, для них пишутся функции.
foreach($unit as $k=>$v)
if($v['sex'] == 1)
echo $k.' самка';
Если есть желание, то можешь показать вариант проще :)
А вообще, для них пишутся функции.
Спустя 1 минута, 49 секунд (3.05.2012 - 19:28) inpost написал(а):
Увидел, ты же не на ПХП, а жаль!
Трёхмерные хомяки, которые размножаются? А я всё думал, кто же такие игры обычно делает...
Трёхмерные хомяки, которые размножаются? А я всё думал, кто же такие игры обычно делает...
Спустя 3 минуты, 18 секунд (3.05.2012 - 19:32) Invis1ble написал(а):
Цитата |
Вообще не вижу темы для спора. |
Я и не спорю. Я высказал свою точку зрения.
Спустя 4 минуты, 10 секунд (3.05.2012 - 19:36) sebastjan написал(а):

Мне бы одним глазком на скрин глянуть персонажей а то всё ООП, да массивы.
Спустя 13 минут, 4 секунды (3.05.2012 - 19:49) johniek_comp написал(а):
sebastjan
Как я персонажей нарисую, я же не дизайнер или как там они называются
Дилетант скорее всего
Да и мне не сама игра нравится, а сами алгоритмы, код, и т.д. это меня тянет...по дизайну ничего не готово, но для тебя что-то склепал - такие структуры занимают 2-3 минуты по времени, код не нужен пока 
Как я персонажей нарисую, я же не дизайнер или как там они называются




Спустя 13 часов, 29 минут, 12 секунд (4.05.2012 - 09:18) Zerstoren написал(а):
1) используйте массив [y][x]
2) В них вкладывайте еще ассоциативный массив с инфой о зверушке (а лучше id зверушек)
3) Держите еще один массив на детальную инфу о зверушке (дублируйте в нем координаты x и y).
Так вы сможете по координате определить кто на ней находится,
Дублирующий массив (а лучше юзать ссылку/referrer) будет содержать нужную инфу, которая с легкостью будет получена.
Если нужны совет, можете обратится в ЛС, я сейчас занят разработкой браузерной игрушки и у меня матрица 2000х2000)
2) В них вкладывайте еще ассоциативный массив с инфой о зверушке (а лучше id зверушек)
3) Держите еще один массив на детальную инфу о зверушке (дублируйте в нем координаты x и y).
Так вы сможете по координате определить кто на ней находится,
Дублирующий массив (а лучше юзать ссылку/referrer) будет содержать нужную инфу, которая с легкостью будет получена.
Если нужны совет, можете обратится в ЛС, я сейчас занят разработкой браузерной игрушки и у меня матрица 2000х2000)
Спустя 6 часов, 17 минут, 42 секунды (4.05.2012 - 15:36) johniek_comp написал(а):
Значить есть матрица 20х20, задача такая: хомяк стоит на какой-то координате, и он может двигаться только на одну клетку(всего их 8, рядом стоящих клеток) например хомяк на 8:13, как узнать все соседние...на листочке в клетку нарисовал матрицу и соорудил алгоритм нахождения всех соседних...
если хомяк стоит на 8:13, то клетки на которые он может двигаться это: 7:13,7:14,8:14,9:14,9:13,9:12,8:12,7:12. он двигается на случайную клетку, и меняет свои координаты, и опять получает массив с доступных клеток и снова выбирает куда ему идти :)
Один момент, если он на клетке 1:1, то доступны для передвижения только 1:2,2:1,2:2. Метод выберет не существующие клетки, как сделать что бы такого не было? Тупо if else или массив из не доступных клеток, или в массиве перечислить вообще все клетки поля, а далее !in_array unset() ?
<?php
function location($location = array())
{
return
$access = array(0 => array(0 => $location[0], 1 => $location[1] - 1),
1 => array(0 => $location[0] + 1, 1 => $location[1] - 1),
2 => array(0 => $location[0] + 1, 1 => $location[1]),
3 => array(0 => $location[0] + 1, 1 => $location[1] + 1),
4 => array(0 => $location[0], 1 => $location[1] + 1),
5 => array(0 => $location[0] - 1, 1 => $location[1] + 1),
6 => array(0 => $location[0] - 1, 1 => $location[1]),
7 => array(0 => $location[0] - 1, 1 => $location[1] - 1));
}
location(array(0 => 8, 1 => 13));
?>
если хомяк стоит на 8:13, то клетки на которые он может двигаться это: 7:13,7:14,8:14,9:14,9:13,9:12,8:12,7:12. он двигается на случайную клетку, и меняет свои координаты, и опять получает массив с доступных клеток и снова выбирает куда ему идти :)
Один момент, если он на клетке 1:1, то доступны для передвижения только 1:2,2:1,2:2. Метод выберет не существующие клетки, как сделать что бы такого не было? Тупо if else или массив из не доступных клеток, или в массиве перечислить вообще все клетки поля, а далее !in_array unset() ?
Спустя 7 минут, 15 секунд (4.05.2012 - 15:43) inpost написал(а):
Есть такая глупая вещь, называется: isset

Спустя 2 часа, 14 минут, 14 секунд (4.05.2012 - 17:57) SlavaFr написал(а):
Цитата (johniek_comp @ 3.05.2012 - 17:16) |
sebastjan Unity3D+C# |
A какое отношение это имеет к php и к разделу "PHP для знатаков"?
Спустя 40 минут, 36 секунд (4.05.2012 - 18:38) johniek_comp написал(а):
SlavaFr
Алгоритмы моя, дорогая, алгоритмы
Алгоритмы моя, дорогая, алгоритмы

Спустя 1 час, 31 секунда (4.05.2012 - 19:38) SlavaFr написал(а):
Цитата (johniek_comp @ 4.05.2012 - 16:38) |
SlavaFr Алгоритмы моя, дорогая, алгоритмы ![]() |
Да ты пойди в пивной спроси, там тоже расказать могут как с закрытыми глазами стенки без высшей математики искать.
Не ужели ты думаеш что в Unity3D корорый используется для программирования игр или в C# в System.Drawing и уже готовых классы типа Point и Canvas , не кому не приходило в голову решать подобные проблемы? Зачем тогда в ПХП алгоритмы искать, когда они какраз в C# и в Unity3D штапелями лежать должны?
Спустя 17 минут, 52 секунды (4.05.2012 - 19:56) johniek_comp написал(а):
SlavaFr
смысл брать все готовое? мне это нравится, вот и занимаюсь
смысл брать все готовое? мне это нравится, вот и занимаюсь

Спустя 23 часа, 28 минут, 59 секунд (5.05.2012 - 19:25) SlavaFr написал(а):
Цитата (johniek_comp @ 4.05.2012 - 17:56) |
SlavaFr смысл брать все готовое? мне это нравится, вот и занимаюсь ![]() |
не кто не заставляет тебя брать горовое, если нравится, то изробретай велосипед заново. Но посмотреть, как готовое работает, вроде тоже не кто не запрещает. Посмотри и зделай лучше!
Частые причины из за которых пишут новое:
1) когда "готовое" по обоснованным причинам не подходит.
2) когда найти готовое и с ним разобратся займет значительно больше времени чем самому написать.
3) когда готовое не понимают.
Ладно, не хочу особо вникаться в причины из за которых ты не разобралсй в Фрамеворках и Библиотеках которыми сам же собераешся работать.
Что касается "ПХП для знатков" и твоей проблемы с клетками которых несуществует, то я советовал бы вообще не засерать память масивом возможных клеток.
Известно что имеется только 8 направлений и то, что в них можно зделать только один шаг.
напиши просто методы которыей позволяет тебе двигатся по этим направлениям, проверяют координаты клетки под этим направление и контролирует является ли эта клетка Valid и нет ли на ней другого хомяка.
_____________
