我正在尝试作为初学者创建一个国际象棋游戏,我遇到的一个问题是我需要一个棋子架来保存分配给棋子的值。工件架会改变每件的位置,但我需要改变原件的价值
我尝试添加另一个持有者对象,但这会导致同样的问题。然后,我尝试只留下点,看看它是否会在程序无法识别的情况下工作。然后,我在它周围加上括号,希望它会被更改然后注册,但它也不起作用。
function pieces(piece ,posX, posY, moveCount, tileLocation, turn) {
this.piece = piece;
this.posX = posX;
this.posY = posY;
this.moveCount = moveCount;
this.tileLocation = tileLocation;
this.turn = turn;
}
function pieceHolder(pieceHold, extra, turn, color, tile){
this.pieceHold = pieceHold;
this.extra = extra;
this.turn = turn;
this.color = color;
this.tile = tile;
}
onEvent("wpawn1", "click", function() { //"wpawn1" is the id for another button
holder.pieceHold = wpawn1.piece;
holder.extra = 5;
holder.turn = wpawn1.turn;
holder.tile = wpawn1.tileLocation;
});
var holder = new pieceHolder();
var wpawn1 = new pieces("wpawn1", -5, 285, 0, "a2", 0, "w");
var wpawn2 = new pieces("wpawn2", 35, 285, 0, "b2", 0, "w");
holder.piece.tileLocation = holder.tile; // did not work
(holder.piece).tileLocation = holder.tile; // did not work
我希望将 holder.piece 转换为名称,例如 wpawn1 或 wpawn2。然后它将其注册为 wpawn1.tileLocation 或 wpawn2.tileLocation。它们都不起作用,程序无法理解我的代码。