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

Javascript gra z klasami postaci

VPS Starter Arubacloud
0 głosów
164 wizyt
pytanie zadane 19 listopada 2018 w JavaScript przez ptaku19 Użytkownik (800 p.)
Witam z kolejnym pytaniem. Gdybym miał zamiar zrobić jakąś prostą gierkę w której gracz ma do wyboru maga, wojownika itd. opartą o prototypy, to w jaki sposób najlepiej to zrobić? Do każdej klasy tworzyć oddzielną instancję , czy po prostu stworzyć jedną z dajmy na to: this.x, this.y itp? A potem dopiero pobierać ich własciwości za pomocy Object.create, call itd itp. W sumie to nie wiem jakby można było to zrobić. Proszę o rady.
1
komentarz 19 listopada 2018 przez shotokan Nałogowiec (39,660 p.)
A nie prościej zacząć pisać i uczyć się na własnych błędach?

Niepokojący jest ten minimalizm, każdy chce mieć wszystko wyłożone na tacy, a w ten sposób niczego się nauczy.
1
komentarz 19 listopada 2018 przez Tomek Sochacki Ekspert (227,490 p.)

Niepokojący jest ten minimalizm, każdy chce mieć wszystko wyłożone na tacy, a w ten sposób niczego się nauczy.

101% racji, nawet 102%! Nie mówiąc już o absolwentach mega wypasionych bootcampów, którzy nawet nie potrafią Ci wejść w dokumentację choćby MDN... :)

1 odpowiedź

0 głosów
odpowiedź 19 listopada 2018 przez sefir Dyskutant (8,560 p.)

Zachęcam skorzystać z ES6, mniej rakowo to wygląda :D

Tu masz szybko wyklepany kodzik jak to może wyglądać, znacznie lepiej niż prototypy klasyczne

class Postac {
  constructor (x, y, typ) {
    this.x = x;
    this.y = y;
    this.predkosc = 1;
    this.typ = typ;
  }

  idz () {
    this.x += this.predkosc;
  }

  pokazInformacje () {
    console.log('typ = ' + this.typ + 'x = ' + this.x + ' y = ' + this.y);
  }
}

class Mag extends Postac {
  constructor (x, y) {
    super(x, y, 'mag');
  }
}

class Wojownik extends Postac {
  constructor (x, y) {
    super(x, y, 'wojownik');
    this.predkosc = 5;
  }

  pokazInformacje () {
    super.pokazInformacje();
    console.log('Super informacja');
  }
}

var wojownik = new Wojownik(10, 20);
var mag = new Mag(10, 30);
wojownik.idz();
mag.idz();
wojownik.pokazInformacje();
mag.pokazInformacje();

 

komentarz 19 listopada 2018 przez ptaku19 Użytkownik (800 p.)
Dzięki, miałem zamiar przerzucić się na ES6, ale najpierw chciałem dokończyć gierkę typu ages of war w ES5. Mam tam po tylko 1 rodzaju klas. Chciałbym je rozszeżyć, przykladowo o łucznika itp.
komentarz 19 listopada 2018 przez sefir Dyskutant (8,560 p.)
A może, spróbuj przerzucić gierkę na ES6, nauczysz się standardu i myślę, że przy okazji znajdziesz rozwiązanie problemu ;)
komentarz 19 listopada 2018 przez ptaku19 Użytkownik (800 p.)
Zrobię tak jak mówisz. Właśnie się zorientowałem, że to ty, ten od nieszczęsnej kolejki w mojej grze :D

PS. Myślałem, że już odpuszczę ten projekt, ale ty go uratowałes :D
komentarz 19 listopada 2018 przez sefir Dyskutant (8,560 p.)
Zastanawiałem się czy zauważysz kto pisze :D Cieszę się, że pomogłem w motywacji :D

Podobne pytania

0 głosów
2 odpowiedzi 463 wizyt
0 głosów
1 odpowiedź 1,300 wizyt
0 głosów
1 odpowiedź 370 wizyt

92,957 zapytań

141,916 odpowiedzi

321,148 komentarzy

62,287 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...