منشئ شخصيات الألعاب
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 53 من 56.
التحدي
هذا نظام بسيط لشخصيات الألعاب حيث يمكن للشخصيات تجهيز الأسلحة والمشاركة في القتال.
مهمتك هي إضافة هاتين الطريقتين (methods) إلى فئة Character:
الطريقة الأولى: takeDamage(amount)
- تقوم هذه الطريقة بتقليل صحة الشخصية بمقدار amount
- تسجل في القنصل (Logs):
${this.name} takes ${amount} damage
الطريقة الثانية: equipWeapon(weapon)
- تمنح هذه الطريقة الشخصية سلاحاً (علاقة تركيب: "has-a")
- تسجل في القنصل (Logs):
${this.name} equipped ${weapon.name}
جرّب بنفسك
import { Character } from './character.js';
import { Weapon } from './weapon.js';
const hero = new Character('Knight');
const sword = new Weapon('Sword', 10);
hero.equipWeapon(sword); // يجب أن يسجل: "Knight equipped Sword"
hero.takeDamage(20); // يجب أن يسجل: "Knight takes 20 damage"
console.log(hero.health); // يجب أن يظهر: 80جميع دروس Object Oriented Programming
1الكائنات والكلمة المفتاحية this
مراجعة سريعة: الكائناتإضافة Methods إلى الكائناتفهم الكلمة المفتاحية thisConstructor Functionsالكلمة المفتاحية newتحدي المراجعة7الوراثة والكلمة المفتاحية extends
الوراثةعلاقة "is-a"الكلمة المفتاحية extendsالدالة super()وراثة الخصائص والوظائفتحدي المراجعة2تنظيم الكود
ما هي الـ Modules؟التصدير باستخدام exportالاستيراد باستخدام importالـ Default مقابل الـ Named Exports8تنظيم كود OOP
تنظيم الـ Classes في Modules11مشروع: مصيّر الأشكال
إعداد: فئة Shape والتصديروراثة فئة Circle9الخصائص والدوال الثابتة (Static)
مستوى الكلاس مقابل مستوى الكائنالخصائص الثابتة (Static Properties)دوال المساعدة الثابتة (Static Utility Methods)تحدي المراجعة12Getters و Setters
الكلمات المفتاحية get و setالخصائص المحسوبةالتحقق من الصحة والآثار الجانبيةتحدي المراجعة15التحديات النهائية
منشئ شخصيات الألعابنظام منتجات التجارة الإلكترونيةنظام إدارة الجامعاتنظام أجهزة المنزل الذكي