Czas na rady z tablicami. Żeby móc lepiej przetestować skrypty z tego i poprzedniego wpisu, stworzę stronę i zalinkuję w następnym wpisie. Zaczynamy!
Stwórzmy sobie tablicę, tak skrótowo.
var przepis = [
5,5,5,
5,0,5,
5,5,5
];
Wygląda to znajomo... To przepis na skrzynkę w Minecrafcie. Tablica z wyglądu posiada rzędy, ale JavaScript tego nie odczytuje. Aby dało się odczytać kolumny i rzędy, lepiej zapisać tak:
var przepis = [
[5,5,5],
[5,0,5],
[5,5,5]
];
Nasza tablica ma dwa wymiary. Aby sprawdzić przepis, skrypt musi wykonać pewne czynności. Stwórzmy funkcję, która sprawdzi, czy wskazane tablice są takie same.
function craftingTable(c) {
var w = 0;
for(var a = 0; a < 3; a++) {
for(var b = 0; b < 3; b++) {
if(c[a][b] == przepis[a][b]) {w = w + 1;}
}
}
return Math.floor(w/9);
}
Teraz możemy stworzyć drugą tablicę i sprawdzić, czy są takie same.
var typ1 = [
[5,5,5],
[5,5,5],
[5,5,5]
],
wynik = craftingTable(typ1); // = 0
Wynik się nie zgadza. Podmieńmy jedną z zmiennych w tablicy.
var typ1[1][1] = 0;
wynik = craftingTable(typ1); // = 1
Czego powinniście się z tego dowiedzieć?
- Z tablicą z wieloma wymiarami lepiej się pracuje,
- Porównując tabele, jeśli są takie same, zwraca 1.
Następnym razem opiszę tworzenie API. Skrypt był testowany w Firefoksie (100% poprawnie).