示例#1
0
  //Funzione Partita                   
 void partita(int cod[], int dec[], int lun_cod, int tentativi, int elem_cod, int num_gio, giocatore players[], giocatore codificatore, giocatore giocatoriclass[],int gv,int gc,int *pass){
      int cgpg,contaps,tur;
      int i,j,c,d,k;
      int aco[lun_cod];
      int ade[lun_cod];
     
      int save=0;
       do{ 
         cgpg=0;
         contaps=0;
         tur=0;                     
        do{ 
         //system("cls");                    
         printf ("\nTentativo - %d/%d\n\n",tur+1,tentativi);       //viene mostrato a video il numero dei tentativi correnti 
                                                                    //e quelli rimanenti. 
         printf("%s Tocca a te. Inserisci il codice da indovinare\n\n",players[gc].nick); //viene mostrato a video chi sarà il decodificatore
         for(j=0;j<lun_cod;j++){
                             do{
                                printf("Inserisci elemento [0 - %d] in posizione %d: ",elem_cod-1,j+1);
                                                   scanf("%d",&dec[j]);   //riempie il vettore "dec" con gli elementi scelti dall'utente
                                }
                            while (dec[j]<0 || dec[j]>elem_cod-1);}       //controlla se i valori inseriti nel vettore "dec" sono accettabili.
                                                                       
printf ("\nIl codice di decodifica e': ");
for (i=0;i<lun_cod;i++){
printf ("%5d",dec[i]);}
printf ("\n\n");
system ("PAUSE");
//system ("CLS");
     for (i=0;i<lun_cod;i++){
         c=cod[i];           //viene assegnato alla variabile temporane "c" il contenuto del vettore "cod" nella posizione "i"
         aco[i]=c;           //si riempie il vettore "aco" con il contenuto della variabile "c". 
                            //Quindi viene effettuata una copia del vettore "cod"
         d=dec[i];          //viene assegnato alla variabile temporane "d" il contenuto del vettore "dec" nella posizione "i"
         ade[i]=d;}         //si riempie il vettore "ade" con il contenuto della variabile "d". 
                            //Quindi viene effettuata una copia del vettore "dec"
     for (i=0;i<lun_cod;i++)
      for (j=0;j<lun_cod;j++){
                       if (cod[i]==dec[j] && i==j){             //vegono controllati gli elementi dei 2 vettori "cod" e "dec" e i loro indici.
                                                 cgpg=cgpg+1;;  //se entambi sono uguali, si incrementa la variabile "cgpg (codice giusto posto giusto)"
                                                 aco[i]=10;
                                                 
                                                 ade[j]=13;}
                                                 
                       else {}
             }
             for (i=0;i<lun_cod;i++)
             for (j=0;j<lun_cod;j++){
                             if (aco[i]==ade[j] && i!=j){
                             contaps=contaps+1;;
                             ade[j]=11;
                             aco[i]=12;}
                             else {}
                             }
printf ("\n\t\t\tTabella Risultato\n\n\n");
     printf ("\nCodice Segreto del Codificatore:");
     for(i=0;i<lun_cod;i++){
                            printf("\t*");}
                            
     printf("\n\nCodice del Decodificatore: \t ");
     for (i=0;i<lun_cod;i++){
          printf("%8d",dec[i]);}
printf ("\n\n[%d] cifre giuste al posto giusto !!\n",cgpg);
printf ("\n[%d] cifre giuste al posto sbagliato !!\n\n",contaps);
if (cgpg==lun_cod){
                   system("cls");
            printf ("\n\n%s  Congratulazioni!!!\n\n",players[gc].nick);
            players[gc].tentativo=tur+1; 
            
            giocatoriclass[gv].tentativo=players[gc].tentativo;
            strcpy(giocatoriclass[gv].nick,players[gc].nick);
            gv=gv+1;
            *pass=gv;
            printf ("Hai indovinato il codice segreto in %d tentativi.\n\n", tur+1);
            printf ("\n\n\t\t\t~~~ HAI VINTO !! ~~~\n\n");
            tur=tentativi;}
else {
     tur=tur+1;
     cgpg=0;
     contaps=0;
      system ("PAUSE");
      //system ("CLS");
      }
}while (tur<tentativi);
                            
       if (cgpg<lun_cod){
   system("cls");                      
printf ("\n\nIl codificatore ha vinto la partita !!!\n\n");
printf ("\n\n%s  Congratulazioni!!!\n\n",codificatore.nick);}
gc=gc+1;

if(gc<num_gio-1){
printf("Vuoi Salvare la Partita Corrente? 1.Si - 2.No: ");
scanf("%d",&save);
if(save==1){
salva (cod,dec,lun_cod,tentativi,elem_cod,num_gio,players,codificatore,
giocatoriclass,gv,gc); //viene chiamata la funzione salva
printf("\nLa Partita e stata Salvata con Successo!!!\n"); 
}
system("pause");
}


}while(gc<num_gio-1);

                   printf ("\n\nLa partita e terminata!!!\n\n");
                   printf ("\n\nIl Codice Segreto era:\t");
                   for (i=0;i<lun_cod;i++){
                   printf("%8d",cod[i]);}
                   printf("\n\n");
                   system("pause");
                   system("cls");
                   printf("FINE PARTITA\n");           
                    }
示例#2
0
文件: FAZMOUSE.C 项目: acassis/langc
int main(void)
{
   int gdriver = DETECT, gmode,lin=40,col=16,sta,stant,ml1[16],ml2[16],mc1[16],mc2[16];
   for(j=0;j<16;j++)
     for(i=0;i<16;i++)
	mt[j] [i]=0;
   i=0;j=0;
   initgraph(&gdriver, &gmode, "c:\\bc\\bgi");
   for(lin=40;lin<=440;lin=lin+25,i++){
      line(120,lin,520,lin);
      if(lin<440){
	 ml1[i]=lin;
	 if(i>0)
	   ml2[i-1]=ml1[i];}}
   ml2[15]=440;
   i=0;
   for(col=120;col<=520;col=col+25,i++){
     line(col,40,col,440);
     if(col<520){
	mc1[i]=col;
	if(i>0)
	   mc2[i-1]=mc1[i];}}
   mc2[15]=520;
   mouse();
   while(!(kbhit())){
	stant=sta;
	lin=(linmouse()*8);
	col=(colmouse()*8);
	sta=status();
      if(lin>40 && lin<440){
	for(i=0;lin>ml1[i] ^ lin<ml2[i];i++);}
      if(col>120 && col<520 && col!=320){
	for(j=0;col>mc1[j] ^ col<mc2[j];j++);}
      if(lin>=ml1[i] && lin<=ml2[i] && col>=mc1[j] && col<=mc2[j] ){
	    if(stant==0 && sta==1){
	      desliga();
	      bar(mc1[j]+2,ml1[i]+2,mc2[j]-2,ml2[i]-2);
	    /*if(mt[j][i]==0)
	      botao(mc1[j]+4,ml1[i]+4,mc2[j]-3,ml2[i]-4,0);
	    else
	      botao(mc1[j]+4,ml1[i]+4,mc2[j]-3,ml2[i]-4,1);*/
	      mouse();
	      mt[j][i]=1;}
	    else if(stant==0 && sta==2){
		 setfillstyle( SOLID_FILL,0);
		 desliga();
		 bar(mc1[j]+2,ml1[i]+2,mc2[j]-2,ml2[i]-2);
		 mouse();
		 mt[j][i]=0;
		 setfillstyle( SOLID_FILL,15);}}

   }
   desliga();
   cleardevice();
   salva();
   cleardevice();
   sta=0;
   flushall();
   while(!(kbhit())){
      mudamouse(_DS,(unsigned) seta.imag,7,7);
      mouse();}
   closegraph();
   return 0;
}