• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Remis w kółko i krzyżyk, JQuery

0 głosów
156 wizyt
pytanie zadane 7 maja 2017 w JavaScript, jQuery, AJAX przez ThePatrykOOO Dyskutant (7,750 p.)
Witam, wykonuję prostą grę w ramach nauki Framework7. Mam mały problem z kodem, Chodzi mi o linijkę 65 w tym pliku: https://github.com/ThePatrykOOO/TicTacToe/blob/beta/www/js/tictac.js

Sprawdzam czy wszystkie elementy są zaznaczone i funkcja checkifPlayerWon(symbol), powinna zwrócić false (próbowałem na różne sposoby lecz nic nie działało.

Z góry dzięki za pomoc
komentarz 7 maja 2017 przez JSHolic Szeryf (78,620 p.)
//#65   } else if ($('.sq1').hasClass(symbol) && $('.sq2').hasClass(symbol) && $('.sq3').hasClass(symbol) && $('.sq4').hasClass(symbol) && $('.sq5').hasClass(symbol) && $('.sq6').hasClass(symbol) && $('.sq7').hasClass(symbol) && $('.sq8').hasClass(symbol) && $('.sq9').hasClass(symbol))  {

To aż się prosi o skorzystanie z metody Array.prototype.every()

Coś w tym stylu (nie testowane):

function checkIfHasClass( selectors, className ) {
    return selectors.every( ( selector ) => $( selector ).hasClass( className ) );
}

const elementSelectors = [ '.sq1', '.sq2', '.sq3', '.sq4' ];
const isHasClass = checkIfHasClass( elementSelectors, symbol );

Możliwe też, że można skrócić samo wypełnianie tablicy. Nie kojarzę, czy w JS jest jakaś natywna metoda na to, bo Array.prototype.fill() nie do końca może tutaj spełnić swoje zadanie, a jeśli nie to zwykła pętla for.

1 odpowiedź

0 głosów
odpowiedź 7 maja 2017 przez Wiciorny Maniak (66,620 p.)
wklej fragment kodu tej funkcji, nie wrzucaj całego gita- bo skoro problem ma być  w jakimś miejscu to warto skupić się na nim, a mało kto będzie chciał pobierać cały pakiet, i przeglądać src-code w poszukiwaniu buga

Podobne pytania

0 głosów
2 odpowiedzi 90 wizyt
0 głosów
1 odpowiedź 1,783 wizyt
+1 głos
4 odpowiedzi 362 wizyt
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

64,859 zapytań

111,317 odpowiedzi

234,167 komentarzy

46,724 pasjonatów

Przeglądających: 227
Pasjonatów: 12 Gości: 215

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...