亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么這個返回坐標的函數有時會返回超出其假定限制的坐標?

為什么這個返回坐標的函數有時會返回超出其假定限制的坐標?

收到一只叮咚 2021-06-08 09:00:01
作為練習,我正在構建經典 Nibbles/Snake 游戲的克隆。游戲區域由一個二維數組(行和列)組成,玩家蛇由另一個二維數組組成,其中包含蛇當前占據的游戲區域中每個單元格的坐標。然后我有一個函數來創建蛇應該吃的蘋果。此函數返回一個簡單的數組,其中包含一個 x 坐標和一個 y 坐標,用于指定放置蘋果的游戲區域單元格。這個單元格當然永遠不應該是玩家蛇在創建蘋果時占據的單元格之一。但是,我構建的函數有時會在玩家蛇當前占據的單元格中創建一個蘋果。任何人都可以發現錯誤嗎?這是相關代碼:const rows = 20;const cols = 26;const cells = createCells(rows, cols);let player = [[1,1], [1,2], [1,3], [1,4]];let apple = createApple(cells, player);function createCells(rows, cols) {    let cells = new Array(rows);    for (let r = 0; r < cells.length; r++) {        cells[r] = new Array(cols);    }    return cells;}function createApple(cells, player) {    let positions = new Array();    for (let r = 0; r < cells.length; r++) {        for (let c = 0; c < cells[r].length; c++) {            for (let p = 0; p < player.length; p++) {                if (!(player[p][0] === r && player[p][1] === c)) {                    positions.push([r, c]);                }            }        }    }    let random = Math.floor(Math.random() * positions.length - 1);    let apple = positions[random];    return apple;}
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號