/* * Séquences */ // Séquence 1 // - Test la condition // - Celle-ci est fausse, on passe à la dernière séquence // - Celle-ci est vrai, on passe au premier bloc interne public String Séquence_1() { String code; code = " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n"; if (__conditionDEntré.codeDInitialisationPourLeSéquenceur != "") { code += " " + __conditionDEntré.codeDInitialisationPourLeSéquenceur + "\n"; } code += " if " + __conditionDEntré.codePourLeSéquenceur + " then\n"; if (__blocsInternes == null) { code += " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDeLaDernièreSéquence) + "\n"; } else { code += " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(__blocsInternes.premierBloc.UID) + "\n"; } code += " else\n"; if (__blocsInternesSupplémentaires == null) { code += " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDeLaDernièreSéquence) + "\n"; } else { code += " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(__blocsInternesSupplémentaires.premierBloc.UID) + "\n"; } code += " end\n" + " end"; return(code); }
/* * Séquences */ // Séquence 1 // - Test la condition // - Si celle-ci est vrai, passe au premier bloc interne // - Si celle-ci est fausse, passe au bloc suivant public String Séquence_1() { String code = ""; if (__blocsInternes != null) { code += " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n"; if (__conditionDeBoucle.codeDInitialisationPourLeSéquenceur != "") { code += " " + __conditionDeBoucle.codeDInitialisationPourLeSéquenceur + "\n;"; } code += " if " + __conditionDeBoucle.codePourLeSéquenceur + " then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(__blocsInternes.premierBloc.UID) + "\n" + " else\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"; } else { code += " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n"; if (__conditionDeBoucle.codeDInitialisationPourLeSéquenceur != "") { code += " " + __conditionDeBoucle.codeDInitialisationPourLeSéquenceur + "\n;"; } code += " if " + __conditionDeBoucle.codePourLeSéquenceur + " then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " else\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"; } return(code); }
/* * Séquences */ // Séquence 1 // - Allume les LEDs // - Passe au bloc suivant public String Séquence_1() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n" + " " + __LED.code(__led, __couleur) + "\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end"); }
/* * Séquences */ // Séquence 1 // - Test la condition // - Celle-ci est fausse, on passe à la dernière séquence // - Celle-ci est vrai, on passe au premier bloc interne public String Séquence_1() { String code; if (__blocsInternes != null) { code = " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n"; if (__conditionDEntré.codeDInitialisationPourLeSéquenceur != "") { code += " " + __conditionDEntré.codeDInitialisationPourLeSéquenceur + "\n"; } code += " if " + __conditionDEntré.codePourLeSéquenceur + " then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " else\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(__blocsInternes.premierBloc.UID + __blocsInternes.nombreDeSéquence) + "\n" + " end\n" + " end"; return(code); } else { return(" " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID, UID + 2)); } }
/* * Séquences */ // Séquence 1 // - Initialise le nombre de boucle, passe au bloc suivant public String Séquence_1() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n" + " __boucle[" + (__UIDDeBoucle - 1) + "]=" + __nombreDeBoucle + "\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " end"); }
/* * Séquences */ // Séquence 1 // - Allume les moteurs // - Passe au bloc suivant public String Séquence_1() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n" + " " + __MOTEUR.code(__sens, __vitesseAGauche, __vitesseADroite) + "\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end"); }
// Séquence 2 // - Incrémente le chrono // - Test la fin du chrono // - Si le chrono est écoulé, éteins les lumières et passe au bloc suivant public String Séquence_2() { int correctionDeCalibration = 0; String code = ""; if (__vitesse == (int)__MOTEUR.VITESSE.LENTE) { correctionDeCalibration = 7; } code += " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID + 1) + " then\n"; switch (__sens) { case (int)__MOTEUR.SENS.EN_AVANT: code += " if __odo.x>" + (__distance * (__MOTEUR.calibration - correctionDeCalibration)) + " then\n"; break; case (int)__MOTEUR.SENS.EN_ARRIERE: code += " if __odo.x<-" + (__distance * (__MOTEUR.calibration - correctionDeCalibration)) + " then\n"; break; } code += " callsub __ArreteLesMoteurs\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"; return(code); }
/* * Séquences */ // Séquence 1 // - Initialise le chrono à 0 // - Passe au bloc suivant public String Séquence_1() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n" + " __chrono[" + UIDDuSéquenceur + "]=0\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " end"); }
/* * Séquences */ // Séquence 1 // - Arrête le timer1 public String Séquence_1() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n" + " timer.period[1]=0\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end"); }
/* * Séquences */ // Séquence 1 // - Modifie la variable __chronomètre public String Séquence_1() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n" + " __chronomètre=" + chronomètre * 1000 + "\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end"); }
/* * Séquences */ // Séquence 1 // - Initialise le chrono à 0 // - Lance l'enregistrement du fichier son à partir du microphone public String Séquence_1() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n" + " __chrono[" + UIDDuSéquenceur + "]=0\n" + " call sound.record(" + (int)__SONS.SON.DEPUIS_LE_MICROPHONE + ")\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " end"); }
/* * Séquences */ // Séquence 1 // - Initialise le chrono à 0 // - Joue la fréquence demandée public String Séquence_1() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n" + " __chrono[" + UIDDuSéquenceur + "]=0\n" + " call sound.freq(" + __fréquence + ", " + (int)(__durée * 60) + ")\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " end"); }
// Séquence 2 // - Test la fin de la leccture du son // - Si la lecture du son est terminée, passe au bloc suivant public String Séquence_2() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID + 1) + " then\n" + " if __lectureDUnSon==0 then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"); }
// Séquence 2 // - Incrémente le chrono // - Test la fin du chrono // - Si le chrono est écoulé, passe au bloc suivant public String Séquence_2() { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID + 1) + " then\n" + " __chrono[" + UIDDuSéquenceur + "]++\n" + " if __chrono[" + UIDDuSéquenceur + "]>=" + (int)(__durée * 100) + " then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"); }
/* * Séquences */ // Séquence 1 // - Enregistre la valeur dans la variable // - Passe au bloc suivant public String Séquence_1() { String code; code = " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n"; if (__expression.codeDInitialisationPourLeSéquenceur != "") { code += " " + __expression.codeDInitialisationPourLeSéquenceur + "\n"; } code += " " + __Variable.code(__nom) + "=" + __expression.codePourLeSéquenceur + "\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end"; return(code); }
// Séquence 2 // - Décrémente le nombre de boucle // - Si le nombre de boucle est >0, passe au premier bloc interne // - Si le nombre de boucle est =0, passe au bloc de fin public String Séquence_2() { if (__blocsInternes != null) { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID + 1) + " then\n" + " __boucle[" + (__UIDDeBoucle - 1) + "]--\n" + " if __boucle[" + (__UIDDeBoucle - 1) + "]>0 then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(__blocsInternes.premierBloc.UID) + "\n" + " else\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"); } else { return(" " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID + 1, UIDDuBlocSuivant)); } }
/* * Séquences */ // Séquence 1 // - Joue le son demandé // - Passe à la séquence suivante public String Séquence_1() { String code; code = " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n"; if (__son == (int)__SONS.SON.DEPUIS_LE_MICROPHONE) { code += " __lectureDUnSon=1\n" + " call sound.replay(" + __son + ")\n"; } else { code += " __son = " + __son + "\n" + " callsub __JoueUnSon\n"; } code += " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " end"; return(code); }
// Séquence 3 // - Passe au premier bloc du groupe public String Séquence_3() { String code = ""; if (Compilateur.afficherLesCommentaires) { code += " # (UID " + __UID + " FIN) Instruction Blockly : " + __nomDansBlockly + "\n"; } if (__blocsInternes != null) { code += " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(__blocsInternes.premierBloc.UID + __blocsInternes.nombreDeSéquence) + " then\n"; if (__conditionDeBoucle.codeDInitialisationPourLeSéquenceur != "") { code += " " + __conditionDeBoucle.codeDInitialisationPourLeSéquenceur + "\n"; } code += " if " + __conditionDeBoucle.codePourLeSéquenceur + " then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID) + "\n" + " else\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"; } else { code += " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID + 1) + " then\n"; if (__conditionDeBoucle.codeDInitialisationPourLeSéquenceur != "") { code += " " + __conditionDeBoucle.codeDInitialisationPourLeSéquenceur + "\n"; } code += " if " + __conditionDeBoucle.codePourLeSéquenceur + " then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID) + "\n" + " else\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"; } return(code); }
/* * Séquences */ // Séquence 1 // - Fait tourner les moteurs pour que le robot exécute une rotation // - Passe au bloc suivant public String Séquence_1() { String code = ""; code += " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n"; switch (__sens) { case (int)__MOTEUR.TOURNE.A_DROITE: code += " motor.left.target=" + (int)__MOTEUR.VITESSE.NORMALE + " motor.right.target=-" + (int)__MOTEUR.VITESSE.NORMALE + "\n"; break; case (int)__MOTEUR.TOURNE.A_GAUCHE: code += " motor.left.target=-" + (int)__MOTEUR.VITESSE.NORMALE + " motor.right.target=" + (int)__MOTEUR.VITESSE.NORMALE + "\n"; break; } code += " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " end"; return(code); }
/* * Séquences */ // Séquence 1 // - Initialise le chrono à 0 // - Allume les lumières public String Séquence_1() { String code = ""; code += " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n"; switch (__sens) { case (int)__MOTEUR.SENS.EN_AVANT: code += " motor.left.target=" + __vitesse + " motor.right.target=" + __vitesse + "\n"; break; case (int)__MOTEUR.SENS.EN_ARRIERE: code += " motor.left.target=-" + __vitesse + " motor.right.target=-" + __vitesse + "\n"; break; } code += " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " end"; return(code); }
// Séquence 2 // - Test l'angle de rotation // - Si l'angele de rotation est atteins, arrête les moteurs et passe au bloc suivant public String Séquence_2() { String code = ""; code += " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID + 1) + " then\n"; switch (__sens) { case (int)__MOTEUR.TOURNE.A_DROITE: code += " if __odo.degre==-" + __angle + " then\n"; break; case (int)__MOTEUR.TOURNE.A_GAUCHE: code += " if __odo.degre==" + __angle + " then\n"; break; } code += " callsub __ArreteLesMoteurs\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"; return(code); }