我想写一个小的“生命模拟”,在其中生命形式可以自我复制。 我希望每个类实例都能够创建更多实例,例如克隆/复制自身。 我确实知道如何从类外部创建新实例,但是我希望类自己完成。
class Life{
constructor(){
this.age = 0;
}
frame_loop(){
this.age ++;
if (this.age == 18){
this.reproduce();
}
}
reproduce(){
// obviously does not work
this.new();
}
}
let bacteria = new Life();
我不想像课外那样创造新生活
let bacteria1 = new Life();
任何帮助表示赞赏。
答案 0 :(得分:1)
您可以执行以下操作。拥有一个儿童财产,只要年龄合适,就会创建新的Life()
class Life{
children = [];
constructor(){
this.age = 0;
}
frame_loop(){
this.age ++;
if (this.age == 18){
this.reproduce();
}
}
reproduce(){
console.log("new life")
this.children.push(new Life());
}
}
let bacteria = new Life();
for(var i = 0; i < 100; i++){
bacteria.frame_loop();
}