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; } }