| Вопросы товарища Likantrop'а |
|
WertyXBOCT
| Дата: Суббота, 08.08.2009, 16:26 | Сообщение # 21 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2467
Статус: Offline
|
Я точно не помню. Но похоже на то, что orientation влияет на изображение, а не направление. На направление влияет гравитация, и еще какая то функция.
Blog:www.WeslomPo.ru mailto: i@weslompo.ru
|
| |
| | |
|
NewStrannik
| Дата: Суббота, 08.08.2009, 16:37 | Сообщение # 22 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 808
Статус: Offline
|
Аддитив - тру поставь...
|
| |
| | |
|
Likantrop
| Дата: Суббота, 08.08.2009, 16:41 | Сообщение # 23 |
Хрен заткнешь
Группа: Проверенные
Сообщений: 260
Статус: Offline
|
Quote (NewStrannik) Аддитив - тру поставь... Хм. Как ни странно, помогло. Блин. Аддитив-то не всегда нужен...Иначе никак?
|
| |
| | |
|
NewStrannik
| Дата: Суббота, 08.08.2009, 16:46 | Сообщение # 24 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 808
Статус: Offline
|
Увы, но никак. P.S.: А чем тебе аддитив не понравился? Это не блендинг. В справке написано: если аддитив не трушный, то аттрактор будет применять силу только к скорости, иначе к скорости и направлению.
|
| |
| | |
|
Likantrop
| Дата: Четверг, 20.08.2009, 16:56 | Сообщение # 25 |
Хрен заткнешь
Группа: Проверенные
Сообщений: 260
Статус: Offline
|
Quote additive отражает, влияет ли сила действия аттрактора на скорость и направление частиц в каждом шаге (истина) или только единожды (ложь). Когда добавляется частица - она ускоряется к аттрактору, тогда как "недобавляемая" перемещается к нему с постоянной скоростью. скорость прост увеличивает каждый шаг, иногда это не нужно... впрочем, в данном случае пойдет... Добавлено (20.08.2009, 16:56) --------------------------------------------- ша опять начал ковырять свой редактор, нашел баг... у меня такая шняга: создаю точку, затем вторую, при создании второй id первой записывается в переменную point. При создании любой точки ее id загоняется в список. Так вот...Что надо мне... Нужно при удалении точки убирать ее id из списка, плюс обнулить переменную point, равную id удаленной точки. Или даже не обнолить, а удалить. Написал код, вроде бы все нормально, но не пашет...( Code with ( t) { nomer=ds_list_find_index(STRIP,t.id); ds_list_delete(STRIP,nomer); for (i=0; i<ds_list_size(STRIP); i+=1;) {poin=ds_list_find_value(STRIP,i); if (poin=t.id){ds_list_delete(STRIP,i); exit}} instance_destroy();} У вас нет каких-нибудь мыслей на сей счет?
|
| |
| | |
|
Ninja
| Дата: Четверг, 20.08.2009, 17:17 | Сообщение # 26 |
Хоть палкой гони
Группа: Проверенные
Сообщений: 683
Статус: Offline
|
Code nomer=ds_list_find_index(STRIP,t.id); ds_list_delete(STRIP,nomer); делает то же самое, что и Code for (i=0; i<ds_list_size(STRIP); i+=1;) {poin=ds_list_find_value(STRIP,i); if (poin=t.id){ds_list_delete(STRIP,i); exit}} а где у тябя здесь обнуление point?
Oh, my God! You kill Kenny! You bastard!
|
| |
| | |
|
Likantrop
| Дата: Пятница, 21.08.2009, 10:34 | Сообщение # 27 |
Хрен заткнешь
Группа: Проверенные
Сообщений: 260
Статус: Offline
|
Quote (Ninja) делает то же самое, что и нет же...в одном случае удаляю айди удаляемого, в другом перебираю все значения списка, проверяя не переменную poin...стоп! вот я тупой) блин, меня запутало похожее название переменной)) а я решил не обнулять, а прост удалять айди объекта, у которого должно быть point=0, у меня это равносильно... Добавлено (21.08.2009, 10:34) --------------------------------------------- очередной глупый вопрос) Записываю переменные в файл. Code name=get_string('Введите имя для сохраняемого файла ','test_level'); file=file_text_open_write(name); file_text_write_string(file,string(round(global.width))+' '+ string(round(global.height))); file_text_writeln(file); energy=get_string('Введите начальное количество энергии на уровень ','500') file_text_write_string(file,string(round(energy))); file_text_writeln(file); Не записывается переменная energy, приходится ее вручную через блокнот вбивать...Не пойму, в чем дело. Название файла задается, ширина и высота правильно записываются...
|
| |
| | |
|
WertyXBOCT
| Дата: Пятница, 21.08.2009, 10:57 | Сообщение # 28 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2467
Статус: Offline
|
Проблема в Round, ты применяешь его к строке. Вместо get_string используй get_integer;
Blog:www.WeslomPo.ru mailto: i@weslompo.ru
|
| |
| | |
|
Likantrop
| Дата: Пятница, 21.08.2009, 11:02 | Сообщение # 29 |
Хрен заткнешь
Группа: Проверенные
Сообщений: 260
Статус: Offline
|
О, круто, помогло!) Спасибо!
|
| |
| | |
|
WertyXBOCT
| Дата: Пятница, 21.08.2009, 11:03 | Сообщение # 30 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2467
Статус: Offline
|
Еще один совет. Используй функции readln и writeln. Очень удобно. readln: Code var t; t = file_text_read_string(argument0); file_text_readln(argument0); return t; writeln: Code file_text_write_string(argument0,string(argument1)); file_text_writeln(argument0); и readArray Code //,>>,,,, //string,name,delimiter,real? var D,R,A,g,o,n,S,k,i,N; S = argument0; N = argument1; D = argument2; R = argument3; g = string_length(D); k = string_count(D,S); A = ds_list_create(); variable_local_set(argument1,A); if R = true for(i=0;i<k;i+=1) { n = string_pos(D,S); ds_list_add(A,real(string_copy(S,1,n-g))); S = string_delete(S,1,n);} else for(i=0;i<k;i+=1){ o = string_pos(D,S); ds_list_add(A,string_copy(S,1,o-go)); S = string_delete(S,1,o); } И вообще, скачай редактор анимации для DGH, нажми на вкладку параметры. Создай там файл твоей мечты), и нажми ctrl+R, получишь и файл для примера, и код для работы с ним. прямая ссылка на последнюю версию. Для примера создай вкладку, и нажми ctrl+o посмотри пример. По первой ссылке найдешь тему там написано как работать с редактром.
Blog:www.WeslomPo.ru mailto: i@weslompo.ru
|
| |
| | |
|
NewStrannik
| Дата: Пятница, 21.08.2009, 11:26 | Сообщение # 31 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 808
Статус: Offline
|
Тоже дам парочку советов: 1) Если до жопы важна скорость игры, лучше простейшие функции не выводить в отдельный скрипт. Пускай скрипт и "разбухнет" чуток, зато на старых компах / слабых ноутах побыстрее пойдёт. 2) Скрипты - тормознутая вещь. 3) readArray <- посмотрите в этот скрипт, это пример того, как не надо называть переменные. xD
Сообщение отредактировал NewStrannik - Пятница, 21.08.2009, 12:13 |
| |
| | |
|
Likantrop
| Дата: Понедельник, 24.08.2009, 12:26 | Сообщение # 32 |
Хрен заткнешь
Группа: Проверенные
Сообщений: 260
Статус: Offline
|
WertyXBOCT, readln и writeln, мне кажется хоть и удобнее, но мне не хочется это в скрипты выводить...да и буквы добавлять к коду)) readArray - не совсем понял, что делает скрипт) Quote (WertyXBOCT) И вообще, скачай редактор анимации для DGH, нажми на вкладку параметры. Создай там файл твоей мечты), и нажми ctrl+R, получишь и файл для примера, и код для работы с ним. прямая ссылка на последнюю версию. Для примера создай вкладку, и нажми ctrl+o посмотри пример. По первой ссылке найдешь тему там написано как работать с редактром. Эм..Тоже не совсем понял, что там) Там лучший, чем у меня пример сохранения загрузки? Я прост не люблю чужой код, на его понимание уходит времени больше, чем на написание своего... а теперь вопрос) итак: Есть четыре параметра. Как выбрать из них два самых больших? Сейчас мысль появилась такая: написать цикл, прогонять там сравнения или как-нибудь max'ы(правда вот ими ни разу не пользовался)
|
| |
| | |
|
NewStrannik
| Дата: Понедельник, 24.08.2009, 13:14 | Сообщение # 33 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 808
Статус: Offline
|
- Вбить параметры в список. - Отсортировать список по убыванию. - Взять первые два значения списка. - Удалить список. Первое, что в голову пришло. readArray(string, name, delimiter, real?) вбивает в список "name" значения (числовые - если "real?" истинно) из строки "string" разделённых "delimiter" (строка, разумеется). Пример: readArray("1, 2, 3, 4", list, ", ", true) => list = [1, 2, 3, 4].
Сообщение отредактировал NewStrannik - Понедельник, 24.08.2009, 14:21 |
| |
| | |
|
WertyXBOCT
| Дата: Понедельник, 24.08.2009, 13:21 | Сообщение # 34 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2467
Статус: Offline
|
max(arg1,arg2,arg3,ag4...arg16) узнаешь самый большой, потом циклом проверяешь чтобы в оператор max он не вошел, до первого совпадения
Blog:www.WeslomPo.ru mailto: i@weslompo.ru
|
| |
| | |
|
Likantrop
| Дата: Понедельник, 24.08.2009, 13:26 | Сообщение # 35 |
Хрен заткнешь
Группа: Проверенные
Сообщений: 260
Статус: Offline
|
Quote (WertyXBOCT) max(arg1,arg2,arg3,ag4...arg16) Мне же надо два больших, то есть надо придумать, как исключить самый большой параметр при второй проверке... NewStrannik, о,интересная идея =] спасибо
|
| |
| | |
|
DreamRunner
| Дата: Понедельник, 24.08.2009, 13:31 | Сообщение # 36 |
Админ
Группа: Админы
Сообщений: 1382
Статус: Offline
|
1. Обычный цикл, в котором запоминаешь 2 макс.числа. 2. Занести числа в лист, отсортировать:) А это уже сказали)
|
| |
| | |
|
WertyXBOCT
| Дата: Понедельник, 24.08.2009, 13:39 | Сообщение # 37 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2467
Статус: Offline
|
Quote (Likantrop) Там лучший, чем у меня пример сохранения загрузки? Нет, там программа для автоматического написания файлов различного формата, которые могут содержать в себе строковые, цифровые данные, а также массивы данных, и скриптов для их чтения. Т.е. ты делаешь заготовку файла, сохраняешь ее. Затем "рендришь", в резултьтате получаеются два файла, один то, как файл будет выглядить, второй - набор скриптов для чтения этого файла. Причем набор скриптов генерируется в автоматическом режиме(верней один скрипт для чтения). Это может служить примером, но все же это действительно работающие скрипты, заточенные под один формат файлов. В принципе, их ты можешь менять как тебе удобно, и это не так сложно как кажется. В сотню раз проще чем написать свой собственный скрипт загрузки. Плюс, менять формат файлов ты можешь динамически. Насчет, того что: Quote прост не люблю чужой код, на его понимание уходит времени больше, чем на написание своего... Здесь дело не в коде, а в графическом представлении файла. На написании его у мну ушло недели две. Чистого времени часов 100. Код считывания файла выглядит как: Code //Script generated by Unit Editor by WertyXBOCT // 17.08.2009 18:55 // Argument[0] - file name //(C) Wolfram Team 2009 var i,j,F; if file_exists(argument0) F = file_text_open_read(argument0); else return -1; file_text_readln(F); //file version direction = real(readln(F)); x = real(readln(F)); y = real(readln(F)); file_text_close(F); Все предельно просто, в редакторе я задал такие параметры, direction стандартное имя, тип целый не массив. И теперь вторая(!) строка считывается как переменная direction целочисленная Quote x = real(readln(F)); Аналогично с остальными переменными. Я не понимаю, что вас в этом раздражает, и что здесь непонятно. Проще некуда. По поводу массивов: Quote (NewStrannik) Не понял функцию.. По-моему, она не завершённая. Поясни, почему она не завершенная? Если не понимаете, просто используйте редактор файлов. Функции много раз проверены, и все возможные ошибки отловленны.
Blog:www.WeslomPo.ru mailto: i@weslompo.ru
|
| |
| | |
|
Ninja
| Дата: Понедельник, 24.08.2009, 14:55 | Сообщение # 38 |
Хоть палкой гони
Группа: Проверенные
Сообщений: 683
Статус: Offline
|
2 макс числа. вариант для извращенцев Code m1:=max(max(max(a,b),c),d); m2:=max(max(max(a*(~(1<<((1-((((a*(((((a-b)|1)mod 2)+1)div 2)+b*(((((b-a)|1)mod 2)+1)div 2)-c*((((((c-d)|1)mod 2)+1)div 2))-d*((((((d-c)|1)mod 2)+1)div 2)))|1)mod 2)+1)div 2)*2+(1-((((a*(((((a-b)|1)mod 2)+1)div 2)+b*(((((b-a)|1)mod 2)+1)div 2)-c*((((((c-d)|1)mod 2)+1)div 2))-d*((((((d-c)|1)mod 2)+1)div 2)))|1)mod 2)+1)div 2*((((((a-b)|1)mod 2)+1)div 2)-(((((c-d)|1)mod 2)+1)div 2))-(((((c-d)|1)mod 2)+1)div 2))))&1),b*((~(1<<((1-((((a*(((((a-b)|1)mod 2)+1)div 2)+b*(((((b-a)|1)mod 2)+1)div 2)-c*((((((c-d)|1)mod 2)+1)div 2))-d*((((((d-c)|1)mod 2)+1)div 2)))|1)mod 2)+1)div 2)*2+(1-((((a*(((((a-b)|1)mod 2)+1)div 2)+b*(((((b-a)|1)mod 2)+1)div 2)-c*((((((c-d)|1)mod 2)+1)div 2))-d*((((((d-c)|1)mod 2)+1)div 2)))|1)mod 2)+1)div 2*((((((a-b)|1)mod 2)+1)div 2)-(((((c-d)|1)mod 2)+1)div 2))-(((((c-d)|1)mod 2)+1)div 2))))&2)>>1)),c*((~(1<<((1-((((a*(((((a-b)|1)mod 2)+1)div 2)+b*(((((b-a)|1)mod 2)+1)div 2)-c*((((((c-d)|1)mod 2)+1)div 2))-d*((((((d-c)|1)mod 2)+1)div 2)))|1)mod 2)+1)div 2)*2+(1-((((a*(((((a-b)|1)mod 2)+1)div 2)+b*(((((b-a)|1)mod 2)+1)div 2)-c*((((((c-d)|1)mod 2)+1)div 2))-d*((((((d-c)|1)mod 2)+1)div 2)))|1)mod 2)+1)div 2*((((((a-b)|1)mod 2)+1)div 2)-(((((c-d)|1)mod 2)+1)div 2))-(((((c-d)|1)mod 2)+1)div 2))))&4)>>2)),d*((~(1<<((1-((((a*(((((a-b)|1)mod 2)+1)div 2)+b*(((((b-a)|1)mod 2)+1)div 2)-c*((((((c-d)|1)mod 2)+1)div 2))-d*((((((d-c)|1)mod 2)+1)div 2)))|1)mod 2)+1)div 2)*2+(1-((((a*(((((a-b)|1)mod 2)+1)div 2)+b*(((((b-a)|1)mod 2)+1)div 2)-c*((((((c-d)|1)mod 2)+1)div 2))-d*((((((d-c)|1)mod 2)+1)div 2)))|1)mod 2)+1)div 2*((((((a-b)|1)mod 2)+1)div 2)-(((((c-d)|1)mod 2)+1)div 2))-(((((c-d)|1)mod 2)+1)div 2))))&8)>>3)); a,b,c,d - переменные. m1 - первое макс число, m2 - второе макс число
Oh, my God! You kill Kenny! You bastard!
|
| |
| | |
|
Likantrop
| Дата: Понедельник, 24.08.2009, 15:04 | Сообщение # 39 |
Хрен заткнешь
Группа: Проверенные
Сообщений: 260
Статус: Offline
|
Ninja,  ужас какой!) Хм...Опять вопрос) Есть квадрат, который отрисовывается линиями. Имея координаты четырех точек квадрата, нужно найти самую нижнюю линию. В случае с двумя одинаковыми линиями отрисовывать ту, что правее... Добавлено (24.08.2009, 15:04) --------------------------------------------- Пытался найти два наибольших игрека и их использовать, но так не катит, ибо при создании квадрата я его кручу как хочу и иксы с игреками скачут...Блин...ну и объяснил
|
| |
| | |
|
Ninja
| Дата: Понедельник, 24.08.2009, 15:07 | Сообщение # 40 |
Хоть палкой гони
Группа: Проверенные
Сообщений: 683
Статус: Offline
|
ищешь самую нижнюю точку по y и ту которая находится на мин расстоянии по y от нее. через эти 2 точки проходит нижняя линия Добавлено (24.08.2009, 15:07) ---------------------------------------------
Quote (Likantrop) Пытался найти два наибольших игрека и их использовать, но так не катит, ибо при создании квадрата я его кручу как хочу и иксы с игреками скачут...Блин...ну и объяснил видимо что-то неправильно делал, т.к. такой вариант должен работать
Oh, my God! You kill Kenny! You bastard!
|
| |
| |
|
|