Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Волновой алгоритм (http://www.flasher.ru/forum/showthread.php?t=75376)

[G@ng$t@]Un1t 10.02.2006 21:04

Волновой алгоритм
 
В этом коде я пытался реализовать волновой алгоритм в двумерном массиве (5x5) но доходя до определенного момента момента "эффект волны" перестает действовать. Не могли бы вы сказать в чем ошибка или подкинуть новые идеи ?
Код:

N=1;
        var mas:Array=new Array;
        for(i=0;i<5;i++){
                mas[i]=new Array;
                for(j=0;j<5;j++){
                        mas[i][j]=1;
            }
    }
        for(i=0;i<5;i++){
                for(j=0;j<5;j++){
                        if(mas[i][j]==N){
                                if(mas[i+1][j]==1){
                                        mas[i+1][j]=N+1;
                                        }
                                if(mas[i][j+1]==1){
                                        mas[i][j+1]=N+1;
                                        }       
                                        N+=1;
                                }
                        }
                }


KidsKilla 10.02.2006 21:11

1) неверно:
var mas:Array=new Array;
правильно:
var mas:Array=new Array();

2) неверно:
var mas[i]:Array=new Array;
правильно:
var mas[i]:Array=new Array();

KidsKilla 10.02.2006 21:15

а вообще ты чо получить-то хочешь?

[G@ng$t@]Un1t 10.02.2006 21:16

Так дело ведь не в этом, я всегда так создаю массивы и все работает.

[G@ng$t@]Un1t 10.02.2006 21:21

Цитата:

а вообще ты чо получить-то хочешь?
Хочу с делать "волну" от mas[0][0]. Если не знаешь что такое волновой алгоритм объяснить трудно.

KidsKilla 10.02.2006 21:22

ну извините.
не хотите объяснять, не хотим помогать.

Antares 10.02.2006 21:25

Цитата:

Сообщение от [G@ng$t@]Un1t
я всегда так создаю массивы и все работает.

Ниче-ниче. В АС3 грязный код ты просто не скомпилируешь.

[G@ng$t@]Un1t 10.02.2006 21:36

Вложений: 1
Цитата:

ну извините.
не хотите объяснять, не хотим помогать.
Ну ладно, ладно. Постараюсь объяснить. Вот mas[0][0](значение-1), проверяем свободные "клеточки" по бокам(в данном случае справа и снизу) если они равны к примеру 1 ,тогда прибавляем к ним значение проверяемой клеточки+1. Тогда mas[0][1]=2, и mas[1][0]=2 и так каждый проверять каждый элемент массива. Вот тебе для понятности исходник(не работаюший).

KidsKilla 10.02.2006 21:41

Код:

1        2        3        4        5        6
2        3        4        5        6        7
3        4        5        6        7        8
4        5        6        7        8        9
5        6        7        8        9        10

так надо штоль?

[G@ng$t@]Un1t 10.02.2006 21:47

Цитата:

так надо штоль?
Во, во. Самое оно.


Часовой пояс GMT +4, время: 17:56.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.