【问题标题】:What's wrong with this array...?这个数组有什么问题......?
【发布时间】:2014-04-01 12:21:58
【问题描述】:

我正在制作一个游戏,其中用户在网格中移动并且必须收集乘客。除了需要检查玩家是否移动过乘客,如果是,则显示一个警告框,我已经做了几乎所有事情。这是我的 JSFiddle:http://jsfiddle.net/nZ8vA/9/ 和之前的:http://jsfiddle.net/nZ8vA/7/,其中包含我之前拥有的数组。如您所见,我有一个名为 map 的数组,用于构造网格。

在之前的 JSFiddle 中,我仍在尝试让它检测用户何时收集乘客(地图中的字母“P”)。在我最近的 JSFiddle 中,我创建了一个 2d 对象数组,这要归功于这里以前的帮助。该地图尚未完全构建,它应该看起来像在第一个 JSFiddle 中,但是它似乎将整行读取为一种颜色。如果您打开控制台并移动整个顶行,则不应将其读取为绿色。我还认为这是按颜色读取乘客,这不是我想要的,因为乘客在不同颜色的方块上。

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

这是函数:

旧 JSFiddle:

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

新的 JSFiddle:

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

【问题讨论】:

  • 或许详细点怎么玩?
  • 玩家在网格周围移动,绿色方块代表草原,棕色是岩石,白色是冰块。根据上一页上的用户设置,功率会有所不同。由于涉及 PHP,因此功率不会在小提琴中扣除。我需要帮助的只是尝试检测用户何时在内部有乘客的网格上移动。
  • 在这里查看我的答案:stackoverflow.com/questions/19661108/…

标签: javascript jquery


【解决方案1】:

你有一个 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: ""
            }
        ]];

【讨论】:

  • 谢谢它的工作,虽然你知道为什么它会在包含“P”(同一列)的白框下方的框中检测到乘客吗? jsfiddle.net/nZ8vA/10
【解决方案2】:

问题出在数组上,因为您的网格有 1 行,但您的数组有 2 个“行”。有了这个,它一直在为我工作:



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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2011-02-21
    相关资源
    最近更新 更多