Показать сообщение отдельно
Старый 02.12.2010, 08:24
Aber вне форума Посмотреть профиль Отправить личное сообщение для Aber Найти все сообщения от Aber
  № 4  
Ответить с цитированием
Aber
 
Аватар для Aber

Регистрация: Dec 2010
Адрес: Воронеж
Сообщений: 26
Отправить сообщение для Aber с помощью ICQ
Ну хорошо, я понял ошибки своего первого поста.

Подробнее:

Я начал писать игру "Паучки." Суть такова: Есть n-ое количество объектов(В нашем случае поучков), они соеденены между собой линиями(Паутинами) и запутаны.
Цель игры: Необходимо распутать всех паучков так, чтобы не одна линия не пересекалась, перемещая их мышью.
Обекты я создаю
Код AS3:
for (var i = 0; i < 9; i++) {
	parray[i] = new paukk();
	parray[i].x=stage.stageWidth*Math.random();
	parray[i].y=stage.stageHeight*Math.random();
	addChild(parray[i]);
}
В классе объекта уже прописаны действия на щелчок мыши. Т.е. После создания я уже могу их перемещать.
Паутина, это простая линия нарисованная от начального объекта, до конечного.

На данный момент я создал в Классе объекта две переменных(oneline и twoline), в которые заносятся номера объектов, с которыми он соединяется.

И код прорисовки линий такой:
Код AS3:
function enterFrameHandler(e:Event):void {
	graphics.clear();
	for (var k = 0; k < parray.length; k++) {
		one=parray[k].oneline;
		two=parray[k].twoline;
		graphics.lineStyle(5, 0);
		graphics.moveTo(parray[k].x, parray[k].y);
		graphics.lineTo(parray[one].x, parray[one].y);
		graphics.moveTo(parray[k].x, parray[k].y);
		graphics.lineTo(parray[two].x, parray[two].y);
	}
}
Переменные oneline и twoline я заполняю рандомно.
Код AS3:
function LiniiRandom() {			
	for (var i = 0; i<parray.length; i++)  
	{
		do 
		{
			one = Math.round(Math.random()*(parray.length -1));
			two = Math.round(Math.random()*(parray.length -1));
		}
		while((one == two) || (parray[one].oneline == i) || (parray[two].twoline == i) || (parray[two].oneline == i) || (parray[one].twoline == i));
		parray[i].oneline = one;
		parray[i].twoline = two;
	}
 
}
Но в итоге получается расклад который невозможно распутать.

И мне нужны идеи как реализовать запутывание, с возможностью распутывания.

Вот Ссылка на моё приложение, которое есть сейчас: http://uwww.narod.ru/pauk.html