Просмотр полной версии : Помогите с циклами, пожалуйста
:( Здравствуйте!
Есть две формулы
a = -0.5*x-0.5*y+490
b = 0.5*x-0.5*y+120
При этои х=0 и у=0 в первом цикле обязательно. Цикл должен продолжаться пока х<=640 и y<=350.
Вопрос.
Какой цикл здесь можно использовать и каким образом. Напишите пожалуйста.Надо получить все значения а и b.
Papa Karlo
19.04.2002, 13:54
Чет тут ни того :mad:
Имхо, ты что то слишком усложняешь.
И каков шаг прироста для Х и У ?
<Чет тут ни того
Имхо, ты что то слишком усложняешь.
И каков шаг прироста для Х и У ?>
Вся заговоздка и состоит в том, что шаг прироста х и у постоянно изменяется
Papa Karlo
19.04.2002, 15:35
Все равно в моих опилках как то не клеится.
onClipEvent(enterFrame){
if(х<=640 && y<=350){
a = -0.5*x-0.5*y+490;
b = 0.5*x-0.5*y+120;
trace(a+" "+b);
}
}
или давай исходник.
Nox Noctis
19.04.2002, 16:23
если я правильно понял чего нужно (в чем я сильно сомневаюсь ;) ), то можно сделать так:
function launch(stepX, stepY) {
var result = [];
for (var x = 0, y = 0; x<=640 && y<=350; x += stepX, y += stepY) {
result.push({a:-0.5*x-0.5*y+490, b:0.5*x-0.5*y+120});
}
return result;
}
// ну и для проверки протрейсим ----------------
x = launch(5, 10);
for (i in x) {
trace(i+" :: "+"{a="+x[i].a+" ; b="+x[i].b+"}");
}
вот :) общий принцип...
Papa Karlo
19.04.2002, 16:30
Вся заговоздка и состоит в том, что шаг прироста х и у постоянно изменяется
Nox Noctis
19.04.2002, 16:37
ну так функция она на то и функция, что в нее можно передать все чего хочешь...
...к тому же 'for' можно переписать в виде:
var x = 0, y = 0;
while (x<=640 && y<=350) {
result.push({a:-0.5*x-0.5*y+490, b:0.5*x-0.5*y+120});
x += stepX, y += stepY;
//
// а здесь изменить шаги прироста stepX и stepY как надо
//
}
Ребята всем большое спасибо. Nox Noctis кажется это то, что нужно. Если получится то, что я задумала напишу. Я тут с фракталами геморюсь. :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.