我开始这个项目只是为了好玩(受Conway的《人生游戏》启发)。在我的项目中,我为单元(定义为对象)有一个文件,为游戏(宇宙)有一个文件,在该文件中设置了规则,以便可以玩该单元。单元格对象的定义如下:
const cell = {
x_birth: 0,
y_birth: 0,
alive: false,
live: function() {
fill(100);
square((WIDTH/F)*x, (HIGH/F)*y, (WIDTH/F), (HIGH/F));
},
die: function() {
fill(255);
square((WIDTH/F)*x, (HIGH/F)*y, (WIDTH/F), (HIGH/F));
},
move: function(x_var, y_var) {
if (this.alive == false){
x = this.x_birth;
y = this.y_birth;
this.alive = true; // Bug?
this.live();
} else { //... }}}
WIDTH,HIGH和F是另一个主文件中的全局常量。 我遇到的问题是,当我在主文件中使用“ Object.create(cell)”创建两个对象时,仅其中一个单元移动。看起来当一个单元执行其功能'move()'时,它可以正确执行,而另一个单元(对象)不执行时,将其属性'alive'设置为'true'。我虽然这可能是问题所在,但随后我进行了搜索,但没有找到为什么这应该是问题所在。
如果需要,可以从我的仓库https://github.com/Atotem/Game.git下载文件。在那里,您会明白我的意思。我愿意接受所有建议。
PD:我正在使用p5.js库。