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