your-username-gaame-objects
Version:
游戏对象和物品的集合,包括GameObject, Npc, Enemy, ConsumableItem, Equipment等类。
68 lines (61 loc) • 1.41 kB
JavaScript
// GameObject.js
/**
* GameObject 基类
* 所有游戏对象应继承自此类
*/
export class GameObject {
/**
* 构造函数
* @param {string} name - 对象名称
*/
constructor(name) {
this.name = name; // 初始化名称
}
/**
* 移动方法
* 子类可以重写此方法
*/
move() {
console.log(`${this.name}进行了移动`);
}
}
/**
* Npc 类,代表非玩家角色
* 继承自 GameObject
*/
export class Npc extends GameObject {
/**
* 构造函数
* @param {string} title - NPC的头衔
*/
constructor(title) {
super('村长'); // 调用父类构造函数,设置默认名称
this.title = title; // 初始化头衔
}
/**
* 说话方法
*/
talk() {
console.log(`${this.title}头衔的${this.name}进行了说话`);
}
}
/**
* Enemy 类,代表敌人角色
* 继承自 GameObject
*/
export class Enemy extends GameObject {
/**
* 构造函数
* @param {number} hp - 敌人的血量
*/
constructor(hp) {
super('哥布林'); // 调用父类构造函数,设置默认名称
this.hp = hp; // 初始化血量
}
/**
* 攻击方法
*/
attack() {
console.log(`${this.hp}血量的${this.name}进行了攻击`);
}
}