我正在用 JavaScript 实现纸牌游戏《红心大战》,游戏的核心元素之一是你可以将你的纸牌传递给其他玩家。我的游戏只有 4 名玩家,不能多也不能少。
超车顺序为左、右、直行,然后禁止超车。因此,P1 会传递给 P2、P4、P3,然后再传递给任何人。如此循环直到游戏结束。
我试图通过箭头函数来实现这个逻辑,但是,它不起作用。我想做的是根据给定的索引打印出球员以及他们应该传给的球员。
这是我的代码,我希望清楚我要做什么。
const players = [1, 2, 3, 4];
const passingOrder = 2;
const passCards = [
i => (i + 1) % 4, //pass left
i => (i - 1 + 4) % 4, //pass right
i => (i + 2) % 4, //pass straight
i => i //pass to ones self
];
players.forEach((player, index) => {
console.log(player + "passes to " + passCards[passingOrder](index))
})
最佳答案
您的球员从 1 开始,而指数从 0 开始。
尝试一下
console.log(player + "passes to " + (passCards[passingOrder](index) + 1))
或者让你的玩家constplayers = [0,1,2,3];
。
关于javascript - JavaScript 箭头函数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60257041/