我正在设计一种游戏,其中有围绕六角形棋盘的团队基地。这个想法是,当一个团队基地被点击时,将轮到该团队。我有:
$('.team').click(function(){
var teamID=$(this).attr('id');
explore(teamID);
});
然后,我使用 teamID 来查找被点击的团队的索引,该索引存储为 json 文件中的对象,具有团队名称、得分等属性。
function explore(index){ // the game portion
var turn=file[index]; // finds the team's info from json file
$('.hex').click(function(){ // when a hex is clicked.... play the game
alert(turn.teamname);
// game elements
}
这总是第一次工作,但是如果我点击一个不同的团队框,然后点击一个十六进制,通常它认为这是我之前点击的框的轮到。我添加了 alert(turn.teamname) 来尝试调试。如果我单击不同的框,它总是会提醒第一个框,然后用不同的框发送第二个警报。我不明白为什么会有两个警报?所以它总是会提醒'team1',然后是'team1','team2'。当我单击更多框时,它会一直发出警报,直到它只提醒所有框。此外,如果我之前点击了两个以上的框,即使我一直点击相同的十六进制,它似乎也会在提醒我它是“team1”和“team2”之间交替出现。
这是我的第一篇 stackoverflow 帖子,所以我希望它有意义!谢谢!