Markuz Opublikowano 30 Grudnia 2009 Udostępnij Opublikowano 30 Grudnia 2009 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 Więcej opcji udostępniania...
Kofel Opublikowano 30 Grudnia 2009 Udostępnij Opublikowano 30 Grudnia 2009 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 Więcej opcji udostępniania...
Markuz Opublikowano 30 Grudnia 2009 Autor Udostępnij Opublikowano 30 Grudnia 2009 ojoj :D Pól będzie kilka tysięcy czy przypadkiem ten skrypt nie zeżre servera? Jest "lepszy" sposób? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 30 Grudnia 2009 Udostępnij Opublikowano 30 Grudnia 2009 Nie. Chyba że zrobisz, że schemat tablic będzie taki: tablica[x][y] = Array('s','w'); w ogóle nie serwera, tylko klienta >.> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markuz Opublikowano 30 Grudnia 2009 Autor Udostępnij Opublikowano 30 Grudnia 2009 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 Więcej opcji udostępniania...
Nobody Opublikowano 30 Grudnia 2009 Udostępnij Opublikowano 30 Grudnia 2009 pole.length <_< Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markuz Opublikowano 31 Grudnia 2009 Autor Udostępnij Opublikowano 31 Grudnia 2009 nadal zwraca wartość undefined Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 31 Grudnia 2009 Udostępnij Opublikowano 31 Grudnia 2009 A czy jesteś pewien tego, że warunki będą się zgadzać? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markuz Opublikowano 31 Grudnia 2009 Autor Udostępnij Opublikowano 31 Grudnia 2009 Tak, istnieje taka tablica : var pole = new Array() var n = 0; for (x = 0; x <= 20; ++x) { for (y = 0; y <= 20; ++y) { pole[n] = Array(x,y,0,0); n++; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 3 Stycznia 2010 Udostępnij Opublikowano 3 Stycznia 2010 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę