TowerDefence::TowerDefence(QString carte, int vie, int credit,int joueur,int socketdescriptor):QMainWindow(), ui(new Ui::TowerDefence) { this->joueur=joueur; this->vie=vie; this->money=credit; ui->setupUi(this); if(joueur==1) Adversaire=new Joueur1(2); else Adversaire=new Joueur1(1); m_socket=new QTcpSocket(); m_socket->setSocketDescriptor(socketdescriptor); ecran=QApplication::desktop()->rect(); this->setFixedSize(ecran.width(),ecran.height()); connect(m_socket,SIGNAL(readyRead()),this,SLOT(Lecture())); // QImage map=construiremap(carte,ecran); //gest=new gestionnaire(map,&chemin,this->vie,this->money); //mavue=new MapGrid(ecran,&chemin,gest,Adversaire,this); //moncontrole=new ControlPannel(ecran,this->vie,this->money,joueur,this); //timer = new QTimer(this); //connect(timer,SIGNAL(timeout()),moncontrole,SLOT(animate())); //connect(timer, SIGNAL(timeout()), mavue, SLOT(animate())); // connect(mavue, SIGNAL(updatelabelmoney(int)), this, SLOT(SetLabelmoney(int))); connect(gest, SIGNAL(updatelabelvie(int)), this, SLOT(SetLabelvie(int))); connect(gest, SIGNAL(updatelabelmoney(int)), this, SLOT(SetLabelmoney(int))); connect(this,SIGNAL(AjoutTourEnemie(int,int,int,QRect)),gest,SLOT(ajouttouren(int,int,int,QRect))); // timer->start(30); }
void ThreadRecept::run() { QByteArray baReception; while(m_etat) { baReception.clear(); sockClient->waitForReadyRead(-1); // Attente des données pendant 0.1 sec maximum baReception.append(sockClient->read(sockClient->bytesAvailable())); // Lecture des données if(QString(baReception.left(4)) == QString("Env#")) { emit(Lecture(QString(baReception.right(baReception.length()-4)))); } } }
/* void testLecture() { FILE* fichier = fopen("record_test_lecture.dat", "r"); FILE* fichier_resultat = fopen("record_test_lecture_resultat.dat", "w+"); if( fichier == NULL) { printf("impossible d'ouvrire le fichier record_test_lecture.dat car il n'existe pas\n"); } else { char *tab=NULL; float *tab_num=NULL; int fin=0; char * data_prec=calloc(21,sizeof(char)); while(fin!=1) { tab=gestionErreurs(recupFichier(fichier),data_prec); tab_num = conversion(tab); if ((int)tab[1]==9999) { fin =1; } else { printf("resutat=%d,%d,%d,%d\n",(int)tab_num[0],(int)tab_num[1],(int)tab_num[2],(int)tab_num[3]); fprintf (fichier_resultat,"%d,%d,%d,%d\n",(int)tab[0],(int)tab[1],(int)tab[2],(int)tab[3]); } data_prec=tab; } free(tab); free(tab_num); free(data_prec); } printf("appuyer sur une touche pour revenir au menu\n"); getch(); fclose(fichier); fclose(fichier_resultat); system("cls"); topMenu(menu()); } */ void testCentrage() { FILE* fichier = fopen("record_test_centrage.dat", "r"); FILE* fichier_resultat = fopen("record_test_centrage_resultat.dat", "w+"); if( fichier == NULL) { printf("Impossible d'ouvrir le fichier record_test_centrage.dat car il n'existe pas\n"); } else { float *tab=NULL; int fin=0; // char *data_precedent=calloc(21, sizeof(char)); while(fin != 1) { Sleep(2); tab = Lecture(fichier,1); if ((int)tab[1]==9999) { fin =1; } else { printf("resultat=%d,%d,%d,%d\n",(int)tab[0],(int)tab[1],(int)tab[2],(int)tab[3]); fprintf (fichier_resultat,"%d,%d,%d,%d\n",(int)tab[0],(int)tab[1],(int)tab[2],(int)tab[3]); } } } printf("Appuyer sur une touche pour revenir au menu\n"); getch(); fclose(fichier); fclose(fichier_resultat); system("cls"); topMenu(menu()); }
//------------main---------------------------------------------------------------------------------------------------------- void programmeEntier() { int n=0; int fin=0; int mode=choixMode(); struct maillon *adressACr_brut= NULL; struct maillon *adressACir_brut= NULL; float *ac_fir=calloc(2,sizeof(float)); float *ac_fir_iir=calloc(2,sizeof(float)); float *ac_fir_prec=calloc(2,sizeof(float)); float *ac_fir_iir_prec=calloc(2,sizeof(float)); struct tab4 oxy; struct pointeurs *AC_R=malloc(4*sizeof(int)+4*sizeof(float)); struct pointeurs *AC_IR=malloc(4*sizeof(int)+4*sizeof(float)); AC_R->compteurPrecedent; AC_R->compteur=0; AC_R->passageZero=0; AC_R->ena_compteur=0; AC_R->maximum=0; AC_R->minimum=0; AC_R->maximum_prec=0; AC_R->minimum_prec=0; AC_IR->compteurPrecedent=0; AC_IR->compteur=0; AC_IR->passageZero=0; AC_IR->ena_compteur=0; AC_IR->maximum=0; AC_IR->minimum=0; AC_IR->maximum_prec=0; AC_IR->minimum_prec=0; float *dataBrut; //char *data_precedent=calloc(21, sizeof(char)); FILE* fichier; FILE* fichier_c = fopen("test_c.dat", "w+"); FILE* fichier_f1 = fopen("test_f1.dat", "w+"); FILE* fichier_f2 = fopen("test_f2.dat", "w+"); if(mode==1) { fichier = fopen("record1.dat", "r"); } else if(mode ==2) { flux=FT_Open; } remove(".verrouData");//on supprime le fichier verroudata pour que l'interface graphique puisse lire le fichier data.txt while(fin != 1) { printf("%d\n",n); // dataBrut = Lecture(fichier , mode); fprintf (fichier_c,"%d,%d,%d,%d\n\n",(int)dataBrut[0],(int)dataBrut[1],(int)dataBrut[2],(int)dataBrut[3]); if ((int)dataBrut[1]==9999) { fin =1; } // printf(" %f,%f,%f,%f\n", dataBrut[0],dataBrut[1],dataBrut[2],dataBrut[3]); adressACr_brut=insertMaillon(dataBrut[0],adressACr_brut,51);// a corriger 51 et pas 50 !!!! adressACir_brut=insertMaillon(dataBrut[2],adressACir_brut,51); ac_fir = FlitreFIR(adressACr_brut,adressACir_brut); fprintf (fichier_f1,"%d,%d,%d,%d\n\n",(int)ac_fir[0],(int)dataBrut[1],(int)ac_fir[1],(int)dataBrut[3]); ac_fir_iir = FlitreIIR(ac_fir,ac_fir_prec, ac_fir_iir_prec); fprintf (fichier_f2,"%d,%d,%d,%d\n\n",(int) ac_fir_iir [0],(int)dataBrut[1],(int) ac_fir_iir[1],(int)dataBrut[3]); ac_fir_iir_prec = ac_fir_iir ; ac_fir_prec = ac_fir; // printf(" %f\t %f\n",ac_fir_iir[0],ac_fir_iir[1]); oxy.DCr=dataBrut[1]; oxy.DCir=dataBrut[3]; oxy.ACir_actuel=ac_fir_iir[1]; oxy.ACr_actuel=ac_fir_iir[0]; affichage(calcul(oxy,AC_R,AC_IR)); oxy.ACr_prec=oxy.ACr_actuel; oxy.ACir_prec=oxy.ACir_actuel; // Sleep(2); n++; } printf(" Fini! \n Appuyer sur une touche pour revenir au menu\n"); getch(); system("cls"); topMenu(menu()); if(mode==1) { fclose(fichier); } fclose(fichier_c); fclose(fichier_f1); fclose(fichier_f2); //libération de la mémoire des pointeurs free(adressACir_brut); free(adressACr_brut); free(ac_fir); free(ac_fir_iir); free(ac_fir_prec); free(ac_fir_iir_prec); free(AC_R); free(AC_IR); }