/** * Constructeur par defaut * * @author Ecole Polytechnique de Sophia Antipolis * @param s le syntagme associe a la courbe * @param f la frequence initiale de la courbe * @param n le nombre de points utilise par la courbe * @param h la hauteur entre les 4 niveaux des courbes */ public Courbe(Syntagme s, int f, int n, int h) { synt = s; frequenceInit = f; nbPoint = n; hauteurNiveau = h; if (s.mineur()) coeffk = -(Integer.parseInt(ConfigFile.rechercher("COEFF_K_MINEUR")) * h) / Math.pow(1 - n, 2); else if (s.majeur()) coeffk = -(Integer.parseInt(ConfigFile.rechercher("COEFF_K_MAJEUR")) * h) / Math.pow(1 - n, 2); else coeffk = 0; xn = 0; }
/** * Pour obtenir la prochaine valeur de la courbe (iterateur) * * @author Ecole Polytechnique de Sophia Antipolis * @return l'entier correspondant */ public int nextValue() { if (xn == -1) { if (synt.finExclam()) return frequenceInit + Integer.parseInt(ConfigFile.rechercher("COEFF_EXCLAMATION")) * hauteurNiveau; else return frequenceInit + hauteurNiveau; } else { xn++; if (synt.mineur()) return valueA(); if (synt.majeur()) return valueB(); if (synt.finInterro()) return valueC(); if (synt.finExclam()) return valueE(); return valueD(); } }