Exemplo n.º 1
0
  public static void Update() {

    //	StateGameplay.changeState(StateGameplay.STATE_WINLOSE);

    switch (stateInGamePlay) {
      case STATE_IDE:
        int col = -1;
        if (StateGameplay.gameMode == 1 || isUserStep) {
          if (GameLib.isTouchReleaseInRect(
              BEGIN_X,
              DEF.BUTTON_IGM_W + 10,
              BEGIN_X + MAX_COL * ITEM_WIDTH,
              StateGameplay.SCREEN_HEIGHT)) {
            col = (GameLib.arraytouchPosX[0] - BEGIN_X) / ITEM_WIDTH;
          }
        } else {
          // col = NewStep1();
          // col = NewStep2();
          if (StateGameplay.gameDifficult == 0) col = NewStep1();
          else if (StateGameplay.gameDifficult == 0) col = NewStep2();
          else col = NewStep3();
          // col = random.nextInt(MAX_COL);
        }
        if (col < MAX_COL && col > -1) {
          for (int i = MAX_ROW - 1; i >= 0; i--) {
            if (tableArray[i][col].value == -1) {
              stateInGamePlay = STATE_DROP;
              if (isUserStep) tableArray[i][col].value = 0;
              else tableArray[i][col].value = 1;
              tableArray[i][col].state = DiamondActor.STATE_DROP;
              tableArray[i][col].m_x = BEGIN_X + col * ITEM_WIDTH;
              tableArray[i][col].m_y = 0;
              tableArray[i][col].targetX = BEGIN_X + col * ITEM_WIDTH;
              tableArray[i][col].targetY = BEGIN_Y + i * ITEM_HEIGHT;
              break;
            }
          }
        }

        break;
      case STATE_DROP:
        if (timeEffect++ < 7) break;
        boolean completeState = true;
        for (int i = 0; i < MAX_ROW; i++)
          for (int j = 0; j < MAX_COL; j++) {
            tableArray[i][j].update();
            if (tableArray[i][j].state != DiamondActor.STATE_IDE) {
              completeState = false;
              // break;
            }
          }
        if (completeState) {
          stateInGamePlay = STATE_IDE;
          // check win
        }
        break;
    }
  }