![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Banned
Регистрация: Sep 2012
Сообщений: 91
|
Двс.
Имеются обекты,координаты которых записаны в массив поочередно,примерно так arr[x,y,x,y,x,y....] что хочу сделать я. Если 2-е пары координат одинаковые,я делаю релог цикла. while(arr_mine[a+b] = arr_mine[a+c] && arr_mine[a+d] = arr_mine[a+k]){//d = 0,2,4,6,8 c = 1,3,5,7,9 continue; b=d+2;//эти переменные для x c=c+1;//эта переменная для y d=d+4;//для второй х k=k+3;//для второй у } как то так выглядит цикл,пишет что я глупый ![]() Последний раз редактировалось says; 24.10.2012 в 21:55. |
|
|||||
|
Есть вариант использовать Array#filter() для проверки наличия совпадений
|
|
|||||
|
Banned
Регистрация: Sep 2012
Сообщений: 91
|
уже сделал по своему,но выдает ошибку
вот код package{ import flash.events.MouseEvent; import flash.display.MovieClip; import flash.display.Sprite; //import flash.text.TextField; //import flash.utils.getTimer; public class Saper extends Sprite { private var n:uint=0; private var m:int= 0; private var k:int = 0; private var arr_btn:Array = new Array(); //координаты кнопок private var arr_mine:Array = new Array(); //координаты мин private var mine:Mine = new Mine();//переменная мина private var a:uint = 0; private var ax:uint = 0; //перемення для цикла в исключениях private var bx:uint = 2; private var cx:uint = 1; private var dx:uint=3; public function Saper(){ for (var i:int = 0 ; i<10;i++){ n=0; for(var j:int =0; j<10;j++){ var btn:Btn = new Btn(); addChild(btn); btn.x = n; btn.y= m; arr_btn.push(btn); btn.addEventListener(MouseEvent.CLICK,func_click); n+=30; } m+=30; } trace(arr_btn); for(var k:int=0;k<10;k++){ var mine = new Mine(); addChild(mine); n= 30*Math.floor(Math.random()*10); m = 30*Math.floor(Math.random()*10); n = n - n % 30; m = m - m % 30; trace(n); trace(m); mine.x=n; mine.y=m; arr_mine.push(n,m); trace(arr_mine); setChildIndex(mine,0);//завернул мини вниз while(arr_mine[a+ax] == arr_mine[a+bx] && arr_mine[a+cx] == arr_mine[a+3]){ <+++++++ вот этот цикл не работает k--; break; } ax=ax+2; bx=bx+2; cx=cx+2; dx=dx+2; } } } private function func_click (e:MouseEvent):void{ // var btn:Btn = e.currentTarget as Btn; if (btn){ removeChild(btn); } } } } Вид ошибки:1013: The private attribute may be used only on class property definitions. в транслейт залил так и не понял.. Добавлено через 32 минуты решил проблему Последний раз редактировалось says; 30.10.2012 в 18:45. |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 393
|
Вы налажали со скобками {}. private function func_click сейчас вне определения класса.
|
|
|||||
|
Banned
Регистрация: Sep 2012
Сообщений: 91
|
Да дело не в этом...Почему у меня не получается завести цикл с условиями уменьшением иттератора внешнего цикла while и увелечения позиции элементов массива сравнения
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|