Fandom

Wikia Polska

Komentarz1

Skryptowe rewolucje – 2: Przepis na tablicę i odwrotnie

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

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!

Skryptowe rewolucje

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).

Więcej w Fandom

Losowa wiki