#include <Socket.h>
#include <iostream.h>
#include <string.h>
int main()
{
Socket barriere("172.20.3.73", 5588);
bool enHaut, enBas, enEntree, enSortie;
const int codeSecret = 7485;
int code = 0;
char chiffre[3], nombre[5];
barriere.envoyer("Barriere:isInFDCL");
enBas = strcmp(barriere.recevoir(), "bas") == 0;
if (!enBas) {
barriere.envoyer("Barriere:setCommandeSensDescente");
barriere.recevoir();
}
while (true)
{
barriere.envoyer("Afficheur:clear");
barriere.recevoir();
barriere.envoyer("Afficheur:affiche:0:0:Bienvenue...");
barriere.recevoir();
do {
barriere.envoyer("Barriere:isBoucleAmont");
enEntree = strcmp(barriere.recevoir(), "entree") == 0;
}
while (!enEntree);
barriere.envoyer("Afficheur:clear");
barriere.recevoir();
barriere.envoyer("Afficheur:afficheMessages:Bonjour:Code ? ");
barriere.recevoir();
do {
for (int i=0; i<4; i++) {
barriere.envoyer("Clavier:toucheEnfoncee");
strcpy(chiffre, barriere.recevoir());
nombre[i] = chiffre[0];
barriere.envoyer("Afficheur:afficheCaractere:#");
barriere.recevoir();
}
code = atoi(nombre);
if (code!=codeSecret) {
barriere.envoyer("Afficheur:clear");
barriere.recevoir();
barriere.envoyer("Afficheur:afficheMessages:Code incorrect:Code ? ");
barriere.recevoir();
}
}
while (code!=codeSecret);
barriere.envoyer("Afficheur:clear");
barriere.recevoir();
barriere.envoyer("Afficheur:afficheMessages:Code bon:Entrez...");
barriere.recevoir();
barriere.envoyer("Barriere:setCommandeSensMontee");
barriere.recevoir();
do {
barriere.envoyer("Barriere:isBoucleAval");
enSortie = strcmp(barriere.recevoir(), "sortie") == 0;
barriere.envoyer("Barriere:isBoucleAmont");
enEntree = strcmp(barriere.recevoir(), "entree") == 0;
}
while (!(enSortie && enEntree));
do {
barriere.envoyer("Barriere:isBoucleAval");
enSortie = strcmp(barriere.recevoir(), "sortie") == 0;
}
while (enSortie);
barriere.envoyer("Barriere:setCommandeSensDescente");
barriere.recevoir();
}
return 0;
}