簡體   English   中英

如何存儲 2048 游戲的數字

[英]How to store the numbers for the 2048 game

我一直在嘗試實現游戲 2048。

我可以在網格的隨機位置添加數字,也可以將它們滑到一邊,因為這就是console.log顯示的內容。

但不知何故,我無法保持幻燈片的效果。 每當我再次調用key時,這些行就像以前的幻燈片沒有效果一樣。

function slide(row) {
  arr = row.filter(e => e);
  let missing = 4 - arr.length;
  let zeros = Array(missing).fill(0);
  arr = arr.concat(zeros);
  console.log(arr);
  return arr;
}

function key() {
  for (let i = 0; i < 4; i++) {
    slide(grid[i]);
  }
  addNumber();
}

問題是您沒有修改 function 作為參數接收的row 相反,您創建一個新數組,然后將其返回。 但是隨后調用者不處理返回值。

代替:

for (let i = 0; i < 4; i++) {
    slide(grid[i])
}

做:

for (let i = 0; i < 4; i++) {
    grid[i] = slide(grid[i])
}

現在您的網格實際上將與slide function 所做的保持同步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM