Javascript 什么';这个数组有什么问题。。。?

Javascript 什么';这个数组有什么问题。。。?,javascript,jquery,Javascript,Jquery,我正在制作一个游戏,其中一个用户在网格中移动,必须收集乘客。我已经做了几乎所有的事情,除了我需要检查玩家是否越过乘客,如果是,显示一个警告框。这是我的JSFiddle:和previous:,其中包含了我以前使用的数组。正如你所看到的,我有一个叫做map的数组,它是用来构建网格的 在前面的JSFiddle中,我仍然试图让它检测用户何时收集乘客(地图中的字母“p”)。在我最近的JSFIDLE中,由于前面的帮助,我创建了一个2d对象数组。地图并没有完全构建好,它应该看起来像是在第一个JSFIDLE中,

我正在制作一个游戏,其中一个用户在网格中移动,必须收集乘客。我已经做了几乎所有的事情,除了我需要检查玩家是否越过乘客,如果是,显示一个警告框。这是我的JSFiddle:和previous:,其中包含了我以前使用的数组。正如你所看到的,我有一个叫做map的数组,它是用来构建网格的

在前面的JSFiddle中,我仍然试图让它检测用户何时收集乘客(地图中的字母“p”)。在我最近的JSFIDLE中,由于前面的帮助,我创建了一个2d对象数组。地图并没有完全构建好,它应该看起来像是在第一个JSFIDLE中,但是它似乎将整条线理解为一种颜色。如果您打开控制台并移动整个最上面一行,当它不应该移动时,它将被读取为绿色。我还认为这是按颜色阅读乘客,这不是我的意图,因为乘客在不同的颜色广场上

如果有人能帮我检测用户何时接乘客,我有一个功能,可以检测带有“p”的方块,但我需要保持相同的网格颜色布局。我希望这是有道理的

这就是功能:

老东家:

function checkPass(cell, row) {
    var pass = map[row][cell];
    console.log(pass);
    if (pass == "p") {
    alert("Passenger");
      }
    }
function checkPass(cell, row) {
    var pass = map[row][cell].letter;
    console.log(pass);
    if (pass == "p") {
    alert("Passenger");
      }
    }
新的JSFIDLE:

function checkPass(cell, row) {
    var pass = map[row][cell];
    console.log(pass);
    if (pass == "p") {
    alert("Passenger");
      }
    }
function checkPass(cell, row) {
    var pass = map[row][cell].letter;
    console.log(pass);
    if (pass == "p") {
    alert("Passenger");
      }
    }
您有一个2x2阵列

var map = [
        [
            {
                color: "g",
                letter: ""
            },
            {
                color: "g",
                letter: ""
            },
        ],[
            {
                color: "w",
                letter: "p"
            },
            {
                color: "b",
                letter: ""
            }
        ]];
map[0][1] = ...
map[1][1] = ...
map[1][0] = ...
map[1][1] = ...
您正在绘制一个4x1块

您的地图代码应该如下所示

var map = [
        [
            {
                color: "g",
                letter: ""
            },
            {
                color: "g",
                letter: ""
            },
            {
                color: "w",
                letter: "p"
            },
            {
                color: "b",
                letter: ""
            }
        ]];

问题在于数组,因为网格有1行,而数组有2行。有了这一点,它一直在为我工作:



    [
                    {
                        color: "g",
                        letter: ""
                    },
                    {
                        color: "g",
                        letter: ""
                    },
                    {
                        color: "w",
                        letter: "p"
                    },
                    {
                        color: "b",
                        letter: ""
                    }
                ]


也许是游戏的细节?玩家在格子中移动,绿色的方块代表草地,棕色是岩石,白色是冰。根据上一页上的用户设置,电源将以不同方式扣除。由于涉及到PHP,因此该权力不会在小提琴中扣除。我所需要的帮助是尝试检测用户何时移动到有乘客的网格上。在这里查看我的回答:谢谢,这很有效,尽管你知道为什么它会在包含“P”(同一列)的白色框下方的框中检测乘客吗?