|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Вывод отношений |
Страницы: 1 |
Автор | Сообщение | ||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 02-12-2006 16:10 | ||
Есть отношения между сторонами: .|1|2|3 1|x|5|1 2|5|x|3 3|1|3|x Цифры слева и сверху - это стороны. Цифры в внутри таблицы - отношения между ними(0-5,0-враждебны, 5- оч. хор. отношения) x - между одинаковыми сторонами нет отношений. Т.е здесь отображены 1 сторона дружит со 2, но воюет с 3. А 2 сторона дружит с 1, но в нейтралитете с 3. Таблица выглядит ввиде дин. структуры grid, но очевидно что делать грид неэффективно, т.к. у нас симметричная матрица. Я использовал лист. Если сторон 3, то у первой стороны будет 2 отношения, у 2 стороны на одно отношение меньше, потому что оно описано для 1 стороны и совподает. и т.д. до посл. идея понятна, а реализация хромает, помогите отыскать ошибку: //argument0 - global.owners; Всего сторон if(argument0 > 1) { ....for(a = 0; argument0 - 1 > a ; a += 1) ........draw_sprite(sRelationship,ds_list_find_value(global.list_relationship, a), x + 16 * a + 32, y + 16 * (global.owners - argument0) + 16); ....LIST_DRAW_RELATIONSHIP(argument0 - 1); } P.S.: Точки в коде сделал для сохранения структуры кода, в редакторе скриптов нажимаете кнопку Replace: Что: .... Чем: (четырьма пробелами) и всё будет в поряде. |
|||
CH@$ER Дундук - не беспокоить! Группа: Модераторы Сообщений: 1435 |
Добавлено: 02-12-2006 16:37 | ||
А слабо двумерные массивы? | |||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 02-12-2006 16:38 | ||
читай внимательнее: Таблица выглядит ввиде дин. структуры grid(2 мерный массив динамический), но очевидно что делать grid неэффективно, т.к. у нас симметричная матрица. |
|||
CH@$ER Дундук - не беспокоить! Группа: Модераторы Сообщений: 1435 |
Добавлено: 02-12-2006 16:49 | ||
А ты ее делай не как грид, а как двумерный динамический массив. А вобще, делаешь список такого вида: (n - кол-во групп, например 3)
Т.е. хранишь как в массиве, токо в списке, а печать определенной группы:
|
|||
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 02-12-2006 17:27 | ||
Если это лист почему ты всегда читаешь всегда сначала? |
|||
CH@$ER Дундук - не беспокоить! Группа: Модераторы Сообщений: 1435 |
Добавлено: 02-12-2006 19:10 | ||
Не заметил? Я читаю не весь список, а лишь ту часть, к которой относится нужная группа PS. Там от еденици надо начинать, а не от 0, и *n убери, я в спешке писал) |
Страницы: 1 |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Вывод отношений |