Arduino:开关块后的案例

问题描述 投票:0回答:1

我有一个开关,在开关的第4个箱子上有一个函数 "阻挡后面的箱子",我试着移动箱子,显然是 "P_JEU "的箱子被阻挡了,但我不明白为什么。

我试着移动箱子,显然是'P_JEU'的箱子被挡住了,但我不明白为什么。

switch (partie) {

    case P_CHOIX_ANIM:
      allPlayers.chenillard(250,100);
      partie = P_CHOIX;

    case P_CHOIX:
      temp = allPlayers.checkInterro();
      if (temp == 0) break;
      if (temp == 1) { //Only 1 press
          partie = P_JEU;
          DEBUG_PRINTLN("P_CHOIX 1 press");
          break;
      }
      partie = P_CHOIX_ERREUR;
      break;

    case P_JEU:
      // Bug
      if (bConfig.isPressed()) {
        if (bConfig.getPressDuration()) {
          if (bConfig.getPressDuration() <= 2000) {
            partie = P_CHOIX_RESET;
          } else {
            bConfig.reset();
          }
        }
      }
      allPlayers.filteredCall(A_CHECK, J_PLAYER);
      bool passResponse = allPlayers.Pass();
      if (passResponse) { partie = P_JEU_REPONSE; }
      break;

    case P_CHOIX_RESET:
      allPlayers.reset();
      bConfig.reset();
      partie = P_CHOIX_ANIM;
      break;

    default:
      DEBUG_PRINTLN("Default");
      partie = P_CHOIX_RESET;
      break;

谅谅

c++ c arduino switch-statement
1个回答
-1
投票

你不能在case里面声明变量。https:/complete -concrete -concise.com程序设计中的关键字 -开关 -casedefault.我可以在Objective-C switch语句中声明变量吗?

bool passResponse = allPlayers.Pass();

是错误的--你必须把它括起来。

case P_JEU:
      // Bug
      if (bConfig.isPressed()) {
        if (bConfig.getPressDuration()) {
          if (bConfig.getPressDuration() <= 2000) {
            partie = P_CHOIX_RESET;
          } else {
            bConfig.reset();
          }
        }
      }
      allPlayers.filteredCall(A_CHECK, J_PLAYER);
      {
          bool passResponse = allPlayers.Pass();
          if (passResponse) { partie = P_JEU_REPONSE; }
      }
      break;
© www.soinside.com 2019 - 2024. All rights reserved.