|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Дата-Структуры |
Страницы: 1 |
Автор | Сообщение | ||
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 04-10-2006 11:53 | ||
Вобщем этот раздел и 3D я пока непонимаю(неприступал) Стеки: Насколько я понял они что-то вроде массивов а вчем еще ихние плюсы? и я непонял, если ds_stack_push(id,val) загружает значение в стек то какая функция считывает(то есть как переменной назначить значения из стека(если это надо вобще делать)) и из хелпа
что-то такое ПРЕРЫВАНИЯ и РЕКУРСИВНЫЕ ФУНКЦИИ? |
|||
OPALsmoke магистр Группа: Сообщество GM Сообщений: 305 |
Добавлено: 04-10-2006 13:07 | ||
DG Soft тебя что,похители инопланетяне? | |||
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 04-10-2006 13:18 | ||
Пока нет, а что? | |||
CH@$ER Дундук - не беспокоить! Группа: Модераторы Сообщений: 1435 |
Добавлено: 04-10-2006 17:44 | ||
Рекурсии - это когда одна процедура/функция вызывает саму себя. А вот прерывания... точно не знаю | |||
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 04-10-2006 18:09 | ||
насколько я помню: прерываниями проц, или чтото там ещё опрашивает другие устройства. Например таймер системного времени опрашивается 18 раз в секунду. На прерывание как на нажатие клавиши можно повестить выполнение програмки. Примерно так:) А стэки по идее должны быть довольно быстрыми в плане обмена кучки данных. Специфическая вещь короче. Похожа на трубу в которую суют мячики (данные), а потом вытаскивают их обратно. |
|||
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 05-10-2006 18:33 | ||
так где же обмен если я непойму как прочитать значение из стека? где функция ? |
|||
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 05-10-2006 18:44 | ||
Там не так много функций чтобы ошибиться:) ds_stack_pop(id) Returns the value on the top of the stack and removes it from the stack. - берём верхнее значение и удаляем его из стэка. По аналогии с выстрелом - изымается патрон из рожка. А до этого мы патроны в рожок засунули, теперь вынимаем их. ds_stack_top(id) Returns the value on the top of the stack but does not remove it from the stack. - аналогично, но значение остаётся. Т.е. мы читеры такие поюзали патрон для выстрела, но количество патронов в рожке не убавилось. Это можно использовать к примеру для переворота одномерного массива: мы считываем все данные из массива в стек от M[0] до Mх[99] (к примеру 99 ) А потом прогоняем массив в ТОМ ЖЕ порядке от 0 до 99, но значения берём из стека в котором значения идут в перевёрнутой последовательности относительно изначального массива. Первый зашёл - последний вышел. Такой принцип работы. |
|||
snack_aae магистр Группа: Сообщество GM Сообщений: 316 |
Добавлено: 06-10-2006 12:39 | ||
Кстати интересная технология для "перемотки" игрового времени... только памяти жрать много будет... | |||
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 06-10-2006 12:54 | ||
Может отмотки. А что точно!!! То есто записывать координаты в масив а потом перевернуть масив стеком, похоже на логичное применение для стека только надо для каждого объекта создавать и записывать масив это думаю трудно и долго лучше пользоваться тем методом что в примере Зубилы в разделе повтор |
|||
snack_aae магистр Группа: Сообщество GM Сообщений: 316 |
Добавлено: 07-10-2006 08:15 | ||
В примере зубилы игра идёт вперёд, а чтобы сделать перемотку назад надо немного поменять код... (там "a +=1" а надо "a -=1" и строку - сразу последнюю ставить...) | |||
CH@$ER Дундук - не беспокоить! Группа: Модераторы Сообщений: 1435 |
Добавлено: 07-10-2006 16:59 | ||
Стеки не для этого предназначены)))))))))))))))) И это ты точно не сделаешь)))))))) | |||
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 07-10-2006 19:03 | ||
извращенцы ё-маё :) В некоторых машинах стэк - это вообще отдельная память для быстрого обмена даннами и положить туда можно считанные байты:) | |||
Ka1miK Тут могла быть ваша реклама Группа: Сообщество GM Сообщений: 1014 |
Добавлено: 07-10-2006 22:41 | ||
Мдам... пользуйся для перемотки обычными массивыми и не трогой то, что плохо знаешь. Что-то я ничего не видел в ГМ про рекурсию(ну смысле я прекрасно знаю что это такое и как просто это делать), интересено с чего это вдруг DG Soft про неё спросил? DG Soft, если интересно как это делается могу дать очень показательный пример |
|||
CH@$ER Дундук - не беспокоить! Группа: Модераторы Сообщений: 1435 |
Добавлено: 08-10-2006 15:10 | ||
Рекурсий в гм нет. Как они работают, очень легко, но вот реализовать... А спровил, потомучто так написано в справке (слава алаху, хоть кто-то читает!:)) | |||
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 09-10-2006 11:50 | ||
Да это я так трепаюсь про отмотку времени с стеками конешно это похоже на бред
насколько я помню они использовались как часть технологий вместе с теми допотопными(первыми) процесорами, да как отдельная память для быстрого обмена данных, ну конечно думаю они и сейчас есть(это я так вспомнил учебу)
Хм..Странный вопрос, аналогично спросить у тебя зачем ты учиш GML
(якщо ваша ласка) Давай я жду |
|||
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 09-10-2006 15:11 | ||
Вобще-то я понял свою ошибку я пытаюсь из чего нового, в данном случае из стеков, выжать что-то сверх и непытаюсь просто их поюзать, ну это через малый опыт в программировании(отмазка) Думал в тех местах где можно реализовать стек для обмена, можно и без него обойтись,тепер понял они просто для УДОБСТВА В общем я придумал один способ, доработаю поделюсь |
Страницы: 1 |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Дата-Структуры |