예제 #1
0
  public void toogle(Point p1, Point p2) {
    // Save position
    int x1 = p1.x;
    int y1 = p1.y;
    int x2 = p2.x;
    int y2 = p2.y;

    NumSprite sp1 = _map.get(p1);
    NumSprite sp2 = _map.get(p2);
    int id1 = sp1.getResourceID();
    int id2 = sp2.getResourceID();
    Point p3 = sp1.getMatrixPosition();
    Point p4 = sp2.getMatrixPosition();
    // remove 2 sprite
    if (_map.containsKey(p1)) _map.remove(p1);
    if (_map.containsKey(p2)) _map.remove(p2);
    sp1.destroy();
    sp2.destroy();
    // Create 2 new sprite
    NumSprite sp1_new = new NumSprite(x1, y1, id2);
    NumSprite sp2_new = new NumSprite(x2, y2, id1);
    sp1_new.setMatrixPosition(p3.x, p3.y);
    sp2_new.setMatrixPosition(p4.x, p4.y);
    _map.put(p1, sp1_new);
    _map.put(p2, sp2_new);
    if (sound_on) m_resource_manager.sound.playSlide();
  }
예제 #2
0
  public void updateGameState(NumSprite sprite) {
    Point p3 = sprite.getMatrixPosition();
    Point p4 = m_game_state.getZeroXY();
    int[][] matrix = m_game_state.getMatrix();

    int i = matrix[p3.x][p3.y];
    matrix[p3.x][p3.y] = 0;
    matrix[p4.x][p4.y] = i;
    m_game_state.setMatrix(matrix);
  }