1
jsでスネークゲームをコーディングしようとすると小さな問題が発生します。変数自体が変更されます
私はこの機能を持っている:
function move() {
var aux = [];
aux = snake.position[snake.position.length - 1];
console.log(aux);
if (snake.direction == 'r') {
snake.position[snake.position.length - 1][1] += 1;
};
console.log(aux);
//updateSnake();
snake.position[snake.position.length - 2] = aux;
updatePosition(snake.position);
};
あなたが見ることができるように、問題は、AUXは私がそれに何もせずに自分自身を変えているということです。最初のconsole.logの値は2番目の値と異なります!私はプロトタイプを変えているようではありません。
あなたは私を助けることができますか?
auxだけではありませんsnake.position [someindex]あなたは変更しますか? – Zackline
まあ、ええ!しかし、事はそうです。私が最初にそのログを記録すると、それは私に印刷されます。[10,12] - snake.position [2]の価値。その後、auxの値が[10,13]に変わります。しかし、私はどこでもそのAUXを変更しません。 snake.position [2]だけが変更されます.Auxは –
ではありません。[最小限で完全であり、検証可能な例](https://stackoverflow.com/help/mcve)を作成してください。 –