Skocz do zawartości

[Java Script] Tablice - przeszukiwanie


Markuz

Rekomendowane odpowiedzi

Zmieniam silnik mapki na JS zeby się nie cieło , postanowiłem zrobić to na tablicach (0.o) .

Narazie mam wyświetlanie mapki noi wprowadzone dane:

var pole = new Array()
//pole[n] = Array('x','y','s','w');
var n = 0;
for (x = 0; x <= 20; ++x) {
    for (y = 0; y <= 20; ++y) {
    pole[n] = Array(x,y,0,0);
    n++;
    }
}

function show_img(x,y) {
document.write('<img src="0.png">'); 
}

var x = 10;
var y = 10;

//0 linijka
show_img(x-4,y+3);
show_img(x-3,y+3);
show_img(x-2,y+3);
show_img(x-1,y+3);
show_img(x,y+3);
show_img(x+1,y+3);
show_img(x+2,y+3);
show_img(x+3,y+3);
show_img(x+4,y+3);
document.write('<br>'); 
//1 linijka
show_img(x-4,y+2);
show_img(x-3,y+2);
show_img(x-2,y+2);
show_img(x-1,y+2);
show_img(x,y+2);
show_img(x+1,y+2);
show_img(x+2,y+2);
show_img(x+3,y+2);
show_img(x+4,y+2);
document.write('<br>'); 
//2 linijka
show_img(x-4,y+1);
show_img(x-3,y+1);
show_img(x-2,y+1);
show_img(x-1,y+1);
show_img(x,y+1);
show_img(x+1,y+1);
show_img(x+2,y+1);
show_img(x+3,y+1);
show_img(x+4,y+1);
document.write('<br>'); 
//3 linijka
show_img(x-4,y);
show_img(x-3,y);
show_img(x-2,y);
show_img(x-1,y);
show_img(x,y);
show_img(x+1,y);
show_img(x+2,y);
show_img(x+3,y);
show_img(x+4,y);
document.write('<br>'); 
//4 linijka
show_img(x-4,y-1);
show_img(x-3,y-1);
show_img(x-2,y-1);
show_img(x-1,y-1);
show_img(x,y-1);
show_img(x+1,y-1);
show_img(x+2,y-1);
show_img(x+3,y-1);
show_img(x+4,y-1);
document.write('<br>'); 
//5 linijka
show_img(x-4,y-2);
show_img(x-3,y-2);
show_img(x-2,y-2);
show_img(x-1,y-2);
show_img(x,y-2);
show_img(x+1,y-2);
show_img(x+2,y-2);
show_img(x+3,y-2);
show_img(x+4,y-2);
document.write('<br>'); 
//6 linijka
show_img(x-4,y-3);
show_img(x-3,y-3);
show_img(x-2,y-3);
show_img(x-1,y-3);
show_img(x,y-3);
show_img(x+1,y-3);
show_img(x+2,y-3);
show_img(x+3,y-3);
show_img(x+4,y-3);
document.write('<br>');

I chodzi mi o to , że chciałbym wyszukać tablice gdzie wiersz 1 i 2 czyli x i y rowna sie cos tam i zwrocic rekord s czyli styl .

Odnośnik do komentarza
Udostępnij na innych stronach

function findByCoords( x, y )
{
    for( i=0; i < pole.lenght; i++ )
    {
        if( pole[i][0] == x and pole[i][1] == y )
        {
            return pole[i];
        }
    }
}

 

Masz funkcje, zwraca Array('x','y','s','w') ... mam nadzieję że Ci o to chodziło. Użycie:

 

element = findByCoords( 1, 1 );

alert( element[2] ); //Zwraca element S czyli styl

Odnośnik do komentarza
Udostępnij na innych stronach

function get_style(x,y)
{
   for( i=0; i < pole.lenght; i++ )
    {
        if(pole[i][0] == x)
        {
        if(pole[i][1] == y)
        {
        return pole[i][2]; 
        }
        }
    }
}

 

Zrobiłem tak i nie działa zwraca wartość undefined

 

I 2 pytanko:

Jak zmienić daną wartość w js tak aby wszystko wykonało się od nowa z daną funkcja? Tzn. jeśli zmienię aktualny x to żeby obrazki się zmieniły heh ;] Ajaxem jakieś odświeżanie czy jak?

Odnośnik do komentarza
Udostępnij na innych stronach

new zgubiłeś, a tak w ogóle:

var pole = [];
var n = 0;
for (x = 0; x <= 20; ++x) {
    for (y = 0; y <= 20; ++y) {
    pole[n] = [x,y,0,0];
    n++;
    }
}

Poza tym masz jakieś strasznie toporne rozwiązania.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...