gpt4 book ai didi

javascript - 通过一个函数传递函数属性? JavaScript

转载 作者:行者123 更新时间:2023-12-02 14:26:46 24 4
gpt4 key购买 nike

我正在尝试找出最好的方法来确定游戏已经结束。

我有我的 gameover() 函数

    function gameover(chk, scoreOne, scoreTwo) {
if (chk === true) {
// Game is over
// Show scoreOne
// Show scoreTwo
}
}

它将需要 3 个变量。

        } else if(validCurrQuestion.length == 2){
// Clears validCurrQuestion so that it can run to the next question
validCurrQuestion.splice(0,validCurrQuestion.length);
validQuestions.shift();
if (validQuestions.length > 0) {
dataRequest();
} else {
checker = true;
}

}

socket.on("player one", function(data) {
console.log(data.pScore + "THIS IS WORKING");
score = data.pScore;
console.log("THIS IS PLAYER TWO" + data.pNameTwo);
io.sockets.emit("player ones score", {p1Score: score});
});

socket.on("player two", function(data) {
console.log(data.pScore + "THIS IS WORKING");
score = data.pScore;
io.sockets.emit("player twos score", {p2Score: score});
});

这 3 个值是 checker、scoreP1 和 ScoreP2。有没有办法将这些值传递到游戏结束函数?

最佳答案

好吧,有几件事。

我认为直接的答案就是有一个变量来保存与“checker”变量处于同一范围内的玩家分数。

var checker = false, 
scores={
p1:0,
p2:0
};

然后,当您从套接字回调收到更新时,您可以修改此变量

scores.p1 = data.pScore;

所以当你调用游戏结束时,它看起来像这样:

gameover(checked, scores.p1, scores.p2);

--- 直接回答结束 ---

其他观察和建议

我不确定为什么你的 gameover 函数中需要 chk 参数,因为你应该直接调用 gameover (并删除 gameover 中的 if 语句)。我可以看到知道“游戏是否结束”可能有助于了解其他用途。您可以将 check 重命名为“isGameover”,然后在 gameover 函数中将该变量设置为 true。我不确定的另一件事是确保两个玩家同时发生游戏结束。您可能需要有一个套接字回调处理程序并发出信号以向每个客户端传达游戏结束的信息,以确保游戏对两个玩家都以相同的方式结束。

关于javascript - 通过一个函数传递函数属性? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38176357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com