Kreator postaci do gry
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 53 z 56.
Wyzwanie
To prosty system postaci w grze, w którym postacie mogą wyposażać się w broń i brać udział w walce.
Twoim zadaniem jest dodanie tych dwóch metod do klasy Character:
Metoda 1: takeDamage(amount)
- Ta metoda zmniejsza zdrowie postaci o podaną wartość
- Zapisuje w logu:
${this.name} takes ${amount} damage
Metoda 2: equipWeapon(weapon)
- Ta metoda daje postaci broń (kompozycja: relacja „ma”)
- Zapisuje w logu:
${this.name} equipped ${weapon.name}
Spróbuj swoich sił
import { Character } from './character.js';
import { Weapon } from './weapon.js';
const hero = new Character('Knight');
const sword = new Weapon('Sword', 10);
hero.equipWeapon(sword); // Powinno wypisać w konsoli: "Knight equipped Sword"
hero.takeDamage(20); // Powinno wypisać w konsoli: "Knight takes 20 damage"
console.log(hero.health); // Powinno wyświetlić: 80Wszystkie lekcje w sekcji Programowanie obiektowe
1Obiekty i słowo kluczowe this
Szybka powtórka: obiektyDodawanie metod do obiektówZrozumienie słowa kluczowego thisFunkcje konstruktoraSłowo kluczowe newWyzwanie podsumowujące7Dziedziczenie i słowo kluczowe extends
DziedziczenieRelacja „jest rodzajem”Słowo kluczowe extendsMetoda super()Dziedziczenie właściwości i metodWyzwanie podsumowujące10Polimorfizm
Czym jest polimorfizm?Nadpisywanie odziedziczonych metodUżywanie superWyzwanie podsumowujące13Kompozycja a dziedziczenie
Relacja „ma” a relacja „jest”Ograniczenia głębokiego dziedziczeniaTworzenie obiektów2Organizowanie kodu
Czym są moduły?Eksportowanie za pomocą exportImportowanie za pomocą importEksporty domyślne a nazwane5Enkapsulacja i dostęp
EnkapsulacjaPubliczne i prywatne pola klasyMetody prywatneWyzwanie podsumowujące8Organizowanie kodu OOP
Organizowanie klas w moduły11Projekt: Renderer kształtów
Konfiguracja: klasa Shape i eksportDziedziczenie klasy CircleNadpisywanie i metoda obliczania polaStatyczny licznik kształtów14System zarządzania biblioteką
Projektowanie bibliotekiKlasa Book z kompozycjąWalidacja autora książki9Metody i właściwości statyczne
Poziom klasy a poziom instancjiWłaściwości statyczneStatyczne metody pomocniczeWyzwanie podsumowujące12Gettery i settery
Słowa kluczowe get i setWłaściwości obliczaneWalidacja i efekty uboczneWyzwanie podsumowujące15Wyzwania końcowe
Kreator postaci do grySystem produktów e-commerceSystem zarządzania uczelniąSystem urządzeń inteligentnego domuPoćwicz samodzielnie: Kompilator JavaScript online