javascript - 尝试改变团队javascript棒球计划

标签 javascript

我正在使用 code.org javascript 库。我正在努力做到这一点,以便一旦达到 3 人出局,它就会根据所选的两个人来改变球队。我尝试声明 team1team2 并将它们设置为等于选中的复选框,但无法正常工作。

标签上的团队名称不会像您首次选择团队时那样发生变化。我不太确定该怎么做,但主要目标是当当前球队 3 人出局时更改球队名称。球员选择功能中使用了一个标签,显示所选的第一支球队。

var outs = 0;
var team1 = "";
var team2 = "";
var strikes = 0;
var balls = 0;
var fouls = 0;
var inning = 0;
var hit = 0;
var currentPlayer = team1, team2;

//Player Selection
onEvent("btnStart","click", function() {
  var chkBoxs = ["Yankees", "Boston", "Astros"];
  var selected = [];
  for (var index = 0; selected.length < 2 && index < chkBoxs.length; index++) {
    if (getChecked(chkBoxs[index])) { selected.push(index); }
  }
  setScreen("game");
  if (selected.length == 2) {
    console.log("The Teams are: " + chkBoxs[selected[0]] + " and " + chkBoxs[selected[1]]);
  }
  if (chkBoxs[selected[0]]) {
    setText("lblTeamGame",chkBoxs[selected[0]]);
    team1 = chkBoxs[selected[0]];
    team2 = chkBoxs[selected[1]];
  } else {
    setText("lblTeamGame",chkBoxs[selected[1]]);
  }
});

//Pitching Rules
function Count() {
  if (balls == 4)
  {
    console.log("Walk");
    setText("lblBallCount", 0);
    setText("lblStrikeCount", 0);
    balls = 0;
    strikes = 0;
  }
  if (strikes == 3)
  {
    console.log("Strike Out");
    outs++;
    setText("lblStrikeCount", 0);
    setText("lblOutCount", outs);
    setText("lblBallCount", 0);
    strikes = 0;
    balls = 0;
  }
  if (outs == 3)
  {
    inning++;
    setText("lblInningCount", inning);
    switchPlayer();
  }
  if(hit)
  {
    setText("lblStrikeCount", 0);
    setText("lblBallCount", 0);
    strikes = 0;
    balls = 0;
  }
}
//Switch Teams 
function switchPlayer() {
  if(currentPlayer == team1) {
    currentPlayer = team2;
    showElement("player2_highlight");
    hideElement("player1_highlight");
  } else {
    showElement("player1_highlight");
    hideElement("player2_highlight");
    currentPlayer = 1;
  }
  console.log("current player is: " + currentPlayer);
}

最佳答案

这可能是你的问题:

function switchPlayer(){
 if(currentPlayer==team1){
     currentPlayer=team2;
     showElement("player2_highlight");
     hideElement("player1_highlight");
 } else {
   showElement("player1_highlight");
   hideElement("player2_highlight");
   currentPlayer=team1; // Specify team1 instead of just 1
 }
 console.log("current player is: "+currentPlayer);
}

此外,切换球队后,您需要重置出局数。

   if(outs==3)
   {
      inning++;
      setText("lblInningCount",inning);
      switchPlayer();
      outs=0;
   }

关于javascript - 尝试改变团队javascript棒球计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43279419/

相关文章:

javascript - 删除按钮的确认消息

javascript - Phantomjs 禁用页面中的 javascript,但启用包含的 javascript

javascript - 一次击键后Angularjs ng-repeat输入模糊

javascript - Angular 2 - 合并(扩展)对象

javascript - 如何在表单验证后禁用或隐藏提交按钮并通过ajax提交?

javascript - 保留 CSS :hover when changing CSS styles with Javascript

javascript - PJAX 多容器

javascript - 将对象从 Django 传递到 Javascript DOM

javascript - 如何使用 Bootstrap 日期时间控件

javascript - Mongoose - 保存文档 Object.assign