Master Mind

di il
23 risposte

Master Mind

Ciao ragazzi! Sono giorni che sto sviluppando il gioco Master Mind.
Master mind è un gioco di logica, nel quale il giocatore deve essere in grado di capire la combinazione segreta. Per farlo il programma, a partire da una sequenza che il giocatore ritiene che possa essere la combinazione segreta, risponde con uno strike 'X' se LA LETTERA E' GIUSTA E STA AL POSTO GIUSTO, mentre con un bal 'O' SE C'E' LA LETTERA GIUSTA MA E' AL POSTO SBAGLIATO. Si possono utilizzare lettere dalla A alla F, con una lunghezza massima di 4 caratteri.
****ESEMPIO****: SOLUZIONE: FAAD
***tentativi del giocatore****
1° BCFD XO (1 strikes and 1 bal)
2° FFDD XX (2 strikes and 0 bal)
3° BDBB X (1 strikes and 0 bal)
4° BCFD XOO (1 strikes and 2 bals)
5° FAAD XXXX ***SOLUTION!***
Il mio problema è il seguente: ho scritto una soluzione di mio pugno per il bal, nel quale ho messo 3 vettori solution[4], attempt[4], temporary[4].
L' ultimo vettore serve a capire se la lettera ha fatto già strike, oppure è già stata precedentemente considerata un bal, quindi in quella posizione il computer troverà 1 se è già stata considerata altrimenti troverà 0 (zero). E poi vado a verificare se gli indici sono diversi. Il problema sta nel fatto che quando ci sono doppie lettere il programma fa confusione, o a volte non considera proprio i bal:
VI LASCIO LA MIA SOLUZIONE!

		strike=0;  
		cout<<"    ";
		for( i=0;i<4;i++){ //FOR per lo strike
			if(solution[i]==attempt[i]){
				strike=strike+1;
				putch('X');
				temporary[i]=1;}}	//end for per lo strike
		for(j=0;j<4;j++){ //FOR per il bal
			solution[j]; //verifica di ogni carattere della soluzione 
			for(x=0;x<4;x++){
				if(solution[j]==attempt[x] and temporary[x]==0){
					if(j!=x){ //verifica degli indici
						putch('O');
						temporary[x]=1; 
					}
				}
			}
		}
Se non sono stato chiaro (spero di no), vi prego di scrivermelo! Se sapete aiutarmi scrivete! GRAZIE!

23 Risposte

  • Re: Master Mind

    E'

    ""secret"" (Inglese)

    OPPURE

    ""segreto"" (Italiano)

    NON

    ""secreto"" (stile Ispettore Closeau)

    !!!


    Per quanto riguarda la soluzione:

    SE NON FUNZIONA una soluzione, TROVANE UN"ALTRA!

    Ci sono tanti modi di risolvere il problema quante le teste dei programmatori
    (e se uno ha due teste, devi contare per 2 non per uno )
  • Re: Master Mind

    Dany30 ha scritto:


    Ciao ragazzi! Sono giorni che sto sviluppando il gioco Master Mind.
    Master mind è un gioco di logica, nel quale il giocatore deve essere in grado di capire la combinazione segreta. Per farlo il programma, a partire da una sequenza che il giocatore ritiene che possa essere la combinazione segreta, risponde con uno strike 'X' se LA LETTERA E' GIUSTA E STA AL POSTO GIUSTO, mentre con un bal 'O' SE C'E' LA LETTERA GIUSTA MA E' AL POSTO SBAGLIATO. Si possono utilizzare lettere dalla A alla F, con una lunghezza massima di 4 caratteri.
    ****ESEMPIO****: SOLUZIONE: FAAD
    ***tentativi del giocatore****
    1° BCFD XO (1 strikes and 1 bal)
    2° FFDD XX (2 strikes and 0 bal)
    3° BDBB X (1 strikes and 0 bal)
    4° BCFD XOO (1 strikes and 2 bals)
    5° FAAD XXXX ***SOLUTION!***
    Il mio problema è il seguente: ho scritto una soluzione di mio pugno per il bal, nel quale ho messo 3 vettori solution[4], attempt[4], temporary[4].
    L' ultimo vettore serve a capire se la lettera ha fatto già strike, oppure è già stata precedentemente considerata un bal, quindi in quella posizione il computer troverà 1 se è già stata considerata altrimenti troverà 0 (zero). E poi vado a verificare se gli indici sono diversi. Il problema sta nel fatto che quando ci sono doppie lettere il programma fa confusione, o a volte non considera proprio i bal:
    VI LASCIO LA MIA SOLUZIONE!
    
    		strike=0;  
    		cout<<"    ";
    		for( i=0;i<4;i++){ //FOR per lo strike
    			if(solution[i]==attempt[i]){
    				strike=strike+1;
    				putch('X');
    				temporary[i]=1;}}	//end for per lo strike
    		for(j=0;j<4;j++){ //FOR per il bal
    			solution[j]; //verifica di ogni carattere della soluzione 
    			for(x=0;x<4;x++){
    				if(solution[j]==attempt[x] and temporary[x]==0){
    					if(j!=x){ //verifica degli indici
    						putch('O');
    						temporary[x]=1; 
    					}
    				}
    			}
    		}
    
    Se non sono stato chiaro (spero di no), vi prego di scrivermelo! Se sapete aiutarmi scrivete! GRAZIE!
    Secondo me hai messo troppa carne al fuoco...
    Nel ciclo che cerca lo strike, azzera la lettera che hai trovato:
    
       string strike = "";
       for (int i = 0 ; i<4; i++)
            if (toupper(attempt[i]) == solution[i]){
                strike += "X"; // è uno strike aggiungo una X
                attempt[i] = '0'; // evita conteggio come bal
            }
    
    nel doppio ciclo che cerca il bal fai la stessa cosa:
    
      string bal = "";
      for (int in = 0 ; in<4; in++){
            for (int ou = 0 ; ou<4; ou++)
                if (toupper(attempt[in]) == solution[ou]){
                    bal += "0"; // è un bal aggiungo uno 0
                    attempt[in] = '0'; // evita doppio conteggio
                }
       }
    
    in strike e in bal troverai le corrispondenze pronte per essere stampate
    l'istruzione toupper converte il carattere in maiuscolo in modo da rendere case insensitive l'input dell'utente.
  • Re: Master Mind

    Ciao @Rubik ho visto e provato il tuo codice ma non funziona molto bene...
    ora ti spiego perchè:
    soluzione: DCEC
    1° FBFC X
    2° BBBD O
    3° EDFA OO
    4° DEEC XXXO
    Fino al terzo tentativo tutto ok, ma quando arriva al 4 fa confusione:
    avrebbe dovuto contare solo 3 strikes e non anche il bal. Probabilmente prende in considerazione o una C di troppo oppure una E di troppo(io credo di più la 'E'....).
    PS. La funzione toupper non serve ho già fatto l' input controllato nel caso in cui il giocatore avesse il BLOCK MAIUSC disattivato.
    Ciao, e grazie per l'aiuto!
  • Re: Master Mind

    @Dany30 se posti il codice completo e compilabile diventa più semplice aiutarti.
  • Re: Master Mind

    1) int bal_counter[6] che a ogni giro inizializzerai con le occorrenze della soluzione ( con DCEC bal_counter = { 0, 0, 2, 1, 1, 0} )

    2) char display[4] a ogni giro inizializzato a {0, 0, 0, 0}

    3) controlli attempt[ i ], poni display[ i ] = 'X' dove corrisponde alla soluzione e decrementi bal_counter di conseguenza. Se l'utente immette DEEC, avrai display = {'X', 0, 'X', 'X'} e bal_counter = { 0, 0, 1, 0, 0, 0}

    4) ricontrolli attempt[ i ] e solo se display[ i ] è zero e bal_counter della lettera che stai analizzando è maggiore di zero, allora poni display[ i ] = 'O' e decrementi bal_counter di conseguenza. Se l'utente immette DEEC, avrai ancora display = {'X', 0, 'X', 'X'} e bal_counter = { 0, 0, 1, 0, 0, 0}
    5) a questo punto devi solo contare le 'X' e le 'O' dentro display per sapere quanti strike e bal ha fatto l'utente
  • Re: Master Mind

    Nippolo ha scritto:


    @Dany30 se posti il codice completo e compilabile diventa più semplice aiutarti.
    PREMESSA: DEVO CONCLUDERE ALCUNE COSE, MA PER QUANTO RICHIESTO PENSO CHE QUESTO VADA BENE!
    Vabbene ecco a te!
    
    #include <conio.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #include <time.h>
    #include <iostream>
    using namespace std;
    char car; 
    int g,number;		//counter of games and the arguments for called function check input (number)
    float t_dif;		//global variables for time 
    time_t ini,fin; 
    /*P R O T O T Y P E  */ 
    // H E A D E R    O F     G O T O X Y    F U N C T I O N 
    void gotoxy( short column, short line );
    
    int esc_function(); //function to manage the esc botton    
    
    void read_input(string outstr, int& num, char& car);//input check
    
    void continuous(); //function to continue with the game
    	
    void about();// information about the program and its creators
    	
    	
     /*******M A I N   F U N C T I O N *******/	
     							
    int main(){
    	int i,j,c,n,x; //counters 
    	int game,n_attempts,sec,temporary[4];
    	const int n_max_attempts=10;
    	char solution[4],attempt[4],random,strike,bal;
    	game=1,i=0,c=0;
    
    	gotoxy(40,2);
    	cout<<"---MASTER MIND---"<<endl;
    	read_input(" Insert 1 to 9 for number of games (0==10), ",number,car);
    	
    
    do{
    	n_attempts=0; //set  number of attempts
    	
    	system("cls");
    	gotoxy(40,2);
    	cout<<" MISTER MIND by anonymous  ";
    
    	
    	
    	/***T H I N K    T H E   S O L U T I O N***/
    	srand(time(0));
    	for(i=0;i<4;i++){
    		random=rand()%6+65;
    		solution[i]=random;}
    	
    	//S T A R T    P L A Y
    	gotoxy(10,4);
    	cout<<" Game number "<<game<<" of "<<g;
    	cout<<"\n";
    	for(i=0;i<4;i++){ //try to print the solution 
    		printf("%c",solution[i]);}
    	
    	n=6;gotoxy(15,n);//set the position to put the attempt
    
    	ini=time(NULL); //Set time NULL
    	/// Loading the attempt array  
    	do{
    		do{
    			car=getch();
    			fin=time(NULL); sec=difftime(fin,ini);
    			if(car>=65 and car<=70 and c!=4 ){ putch(car);attempt[c]=car;c=c+1;}	
    			if(car>=97 and car<=102 and c!=4 ){car=car-32;putch(car); attempt[c]=car; c=c+1;}//If the users hasn't activeted the block maiusc 
    			if (car==8 and c>0 ) {putch(8);putch(32);putch(8);c=c-1;}
    		}while((car!=13 or c!=4)and(car!=27)); 
    		strike=0;n_attempts=n_attempts+1;  
    		cout<<"    ";
    		for ( i = 0 ; i<4; i++){
            	if (attempt[i] == solution[i]){
                	putch('X'); 
                	temporary[i] = 1; // avoid counting like bal
                	strike=strike+1;
            	}
            }	
    		for (x = 0 ; x<4; x++){
            	for (j = 0 ; j<4; j++){
                	if (attempt[x] == solution[j] and temporary[j]==0){
                    	putch('O'); 
                    	temporary[x] = 1; // avoid the double count
                	}
    			}	
    		}n=n+1;gotoxy(15,n); c=0;
    	}while(car!=27 and strike!=4 and n_attempts<n_max_attempts+1  );
    	
    	if(strike==4){cout<<"\n  ***YOU WIN*** "<<endl;cout<<sec;}
    	continuous();
    	game=game+1;
    
    }while(car!=27 and car==13 );
    return 0;
    }
    	/*F U N C T I O N S*/
    void gotoxy( short column, short line ){ //position of the text on screen 25 lines and 80 columns
      COORD pos={column,line};
      SetConsoleCursorPosition(GetStdHandle( STD_OUTPUT_HANDLE ),pos);}
      
    int esc_function(){if(car==27){{system("cls");gotoxy(40,15);cout<<"----Thanks to played! bye!---- ";ini=time(NULL);do{ fin=time(NULL); t_dif=difftime(fin,ini);} while(t_dif<3);exit(true);return (0);}}} //function to manage the esc botton
    
    void read_input(string outstr, int& num, char& car){
    	int numCifre=0; num=0;
    	gotoxy(40,2);
    	cout<<"---MASTER MIND---"<<endl;
    	gotoxy(10,5);
    	cout<<outstr;
    	gotoxy(10,6);
    	cout<<" Insert h for more information about the program";
    	gotoxy(10,7);
    	cout<<" ===> ";
    	do{
    		car=getch(); 
    		if(car==48 and numCifre!=1){numCifre++;putch(car);g=(int)car-48; g=g+10;}// 0==10 games
    		if (car>=49 and car<=57  and numCifre!=1)  {numCifre++;putch(car);g=(int)car-48;} //numCifre allows one caracters 
    		if (car==8 and numCifre>0) {numCifre--;num=num/10;putch(8);putch(32);putch(8);}	//8==back space, 32==spazio	
    	}while (car!=13 and car!=27 and car!='h' and car!='H' ); // 13==invio 27==esc 
    	if(car=='h' or car=='H') about(); 
    	esc_function();
    } 
    void continuous(){
    	gotoxy(28,26);
    	printf("Click the key to continue-->");
    	do{
    		car=getch();
    	}while(car==0 and car!=27);//loops car!=0 and car== esc
    	esc_function(); 
    	system("cls");read_input(" Insert 1 to 9 for number of games, ",number,car);}
    	
    void about(){ // information about the program and their creators
    	system("cls");
    	gotoxy(40,1);
    	cout<<" RULES OF THE GAME ";
    	cout<<"\n The Master Mind game consists of deciphering a secret code consisting of four letters, ";
    	cout<<"\n arranged in a random way by the computer";
    	cout<<"\n At each attempt the computer responds:";
    	cout<<"\n with strike (X) if one or more letters have been guessed and are in the correct position,";
    	cout<<"\n with bool (O) if one or more letters have been guessed but are in the wrong position.";
    	cout<<"\n If it does not answer with any of the above options,";
    	cout<<"\n it means that the letters of the created combination are not part of the solution combination.";
    	cout<<"\n Thinking about these answers to the combinations hypothesized in the various attempts,";
    	cout<<"\n  you should be able to decipher the code in less than ten attempts: otherwise the game is lost.";
    	gotoxy(40,11);
    	cout<<"\n ***EXAMPLE OF ONE GAME*** ";
    	cout<<"\n You can use 6 different letters: A,B,C,D,E,F. The max lenght is 4 characters ";
    	cout<<"\n Click Esc for exit from the game, and single play ";
    	cout<<"\n The score is calculated taking into account the number of attempts and the time taken";
    	cout<<"\n              EXAMPLE                        SOLUTION:  FAAD      ";
    	cout<<"\n 1296 possible configurations in the attempt N.1-->     BCFD    XO   (1 strikes and 1 bal)";
    	cout<<"\n 252  possible configurations in the attempt N.2-->     FFDD    XX   (2 strikes and 0 bal)";
    	cout<<"\n 16   possible configurations in the attempt N.3-->     BDBB    X    (1 strikes and 0 bal)";
    	cout<<"\n 8    possible configurations in the attempt N.4-->     BCFD    XOO  (1 strikes and 2 bals)";
    	cout<<"\n 1    possible configurations in the attempt N.5-->     FAAD    XXXX ***SOLUTION!***  (4 strikes and 0 bal)"<<endl;
    	cout<<"\n               ***The game was  created by anonymous ***               ";
    	continuous();}
    
  • Re: Master Mind

    Dany30 ha scritto:


    Ciao @Rubik ho visto e provato il tuo codice ma non funziona molto bene...
    ora ti spiego perchè:
    soluzione: DCEC
    1° FBFC X
    2° BBBD O
    3° EDFA OO
    4° DEEC XXXO
    Fino al terzo tentativo tutto ok, ma quando arriva al 4 fa confusione:
    avrebbe dovuto contare solo 3 strikes e non anche il bal. Probabilmente prende in considerazione o una C di troppo oppure una E di troppo(io credo di più la 'E'....).
    Vero, non sono giocatore di MasterMind non avevo considerato la quarta situazione.
    Per risolvere è sufficiente azzerare anche il vettore con la soluzione, ho usato una copia temporanea:
    
        string strike = "";
        string bal = "";
        string tempsolution = solution;
        for (int i = 0 ; i<4; i++)
            if (toupper(attempt[i]) == tempsolution[i]){
                strike += "X"; // è uno strike aggiungo una X
                attempt[i] = '0'; // evita conteggio come bal
                tempsolution[i] = '1'; // evita il riuso del carattere
            }
    
        for (int in=0 ; in<4; in++){
            for (int ou=0 ; ou<4; ou++)
                if (attempt[in] == tempsolution[ou]){
                    bal+="O"; // è un bal aggiungo una O
                    attempt[in]='0'; // evita doppio conteggio
                    tempsolution[ou]='1'; // evita il riuso del carattere
                }
        }
    
    Guarderò più tardi il tuo codice completo.
  • Re: Master Mind

    Dany30 ha scritto:


    PREMESSA: DEVO CONCLUDERE ALCUNE COSE, MA PER QUANTO RICHIESTO PENSO CHE QUESTO VADA BENE!
    Vabbene ecco a te!
    In realtà quello che chiedevo era solo di contestualizzare meglio il frammento di codice del post iniziale... con tutta quella carne a fuoco diventa ancora più arduo capirci qualcosa!

    In ogni caso io farei nel seguente modo:
    - oltre ai due array soluzione e tentativo di 4 char, servono due variabili intere, chiamiamole x (inizializzata a 0) e o, e un array occorrenze di 6 interi (inizializzato a 0);
    - incrementiamo il valore di x per ogni "strike";
    - incrementiamo e decrementiamo l'array occorrenze in base al contenuto rispettivamente di soluzione e tentativo;
    - infine o sarà uguale a 4-x meno tutti i valori positivi di occorrenze.

    P.S.
    Alcuni consigli per rendere il codice più chiaro e leggibile:
    - rispetta l'indentazione e la spaziatura;
    - inserisci una sola istruzione per riga;
    - se puoi evita di utilizzare variabili globali;
    - riduci al minimo l'ambito di visibilità delle variabili.
  • Re: Master Mind

    Nippolo ha scritto:


    In realtà quello che chiedevo era solo di contestualizzare meglio il frammento di codice del post iniziale... con tutta quella carne a fuoco diventa ancora più arduo capirci qualcosa!
    Per testare ho scritto due righe minimali...
    
    #include <iostream>
    
    using namespace std;
    string solution = "FAAD";
    
    string cerca (string attempt){
        string strike="";
        string bal="";
        string tempsolution=solution;
        for (int i=0 ; i<4; i++)
            if (attempt[i] == tempsolution[i]){
                strike+="X"; // è uno strike aggiungo una X
                attempt[i]='0'; // evita conteggio come bal
                tempsolution[i]='1'; // evita il riuso del carattere
            }
    
        for (int in=0 ; in<4; in++){
            for (int ou=0 ; ou<4; ou++)
                if (attempt[in] == tempsolution[ou]){
                    bal+="O"; // è un bal aggiungo una O
                    attempt[in]='0'; // evita doppio conteggio
                    tempsolution[ou]='1'; // evita il riuso del carattere
                }
        }
        return strike+bal;
    }
    
    int main()
    {
        string ss;
        string ris;
        cout << "Soluzione " << solution << endl;
    
        do{
            do{
                cout << endl << "Tua sequenza: ";
                cin >> ss;
            }while (size(ss)!= 4);
            ris = cerca(ss);
            cout << ss << " = " << ris;
        }while (ris != "XXXX");
        cout << endl << "Sequenza trovata " << endl;
        return 0;
    }
    
  • Re: Master Mind

    Rubik ha scritto:


    Per testare ho scritto due righe minimali...
    Io invece mi riferivo a qualcosa del genere:
    #include <stdio.h>
    
    int main()
    {
        char *sol = "DCEC";
        char *ten = "DEEC";
        int occ[6] = {0};
        unsigned int X = 0;
        for(unsigned int i = 0; i < 4; ++i)
        {
            X += sol[i] == ten[i];
            ++occ[sol[i] - 'A'];
            --occ[ten[i] - 'A'];
        }
        unsigned int O = 4 - X;
        for(unsigned int i = 0; i < 6; ++i)
        {
            if(occ[i] > 0)
            {
                O -= occ[i];
            }
        }
        printf("X = %u\nO = %u\n", X, O);
        return 0;
    }
  • Re: Master Mind

    Nippolo ha scritto:


    Io invece mi riferivo a qualcosa del genere:
    #include <stdio.h>
    
    int main()
    {
        char *sol = "DCEC";
        char *ten = "DEEC";
        int occ[6] = {0};
        unsigned int X = 0;
        for(unsigned int i = 0; i < 4; ++i)
        {
            X += sol[i] == ten[i];
            ++occ[sol[i] - 'A'];
            --occ[ten[i] - 'A'];
        }
        unsigned int O = 4 - X;
        for(unsigned int i = 0; i < 6; ++i)
        {
            if(occ[i] > 0)
            {
                O -= occ[i];
            }
        }
        printf("X = %u\nO = %u\n", X, O);
        return 0;
    }
    Ho unito i due codici, ho corretto un bug nel mio, ora vengono stampati i risultati da ambedue i sistemi.
    Anche se il codice di Nippolo è in C, il risultato dei due codici deve essere compilato in C++.
    Case insensitive e solo per test, visto che la soluzione viene mostrata.
    
    #include <iostream>
    
    using namespace std;
    string solution="DCEC";
    
    string cerca (string attempt){
        string strike="";
        string bal="";
        string tempsolution=solution;
        for (int i=0 ; i<4; i++)
            if (attempt[i] == tempsolution[i]){
                strike+="X"; // è uno strike aggiungo una X
                attempt[i]='0'; // evita conteggio come bal
                tempsolution[i]='1'; // evita il riuso del carattere
            }
    
        for (int in=0 ; in<4; in++){
            for (int ou=0 ; ou<4; ou++)
                if (attempt[in] == tempsolution[ou]){
                    bal+="O"; // è un bal aggiungo una O
                    attempt[in]='0'; // evita doppio conteggio
                    tempsolution[ou]='1'; // evita il riuso del carattere
                }
        }
        return strike+bal;
    }
    
    int main()
    {
        string ss;
        string ris;
        cout<<"Soluzione "<<solution<<endl;
    
        do{
            do{
                cout<<endl<<"Tua sequenza: ";
                cin>>ss;
            }while (size(ss)!= 4);
    
            for (int i=0; i<4; i++)
                ss[i]=toupper(ss[i]);
    
            ris = cerca(ss);
            cout<<ss<<" = "<<ris<<" = ";
    
            // codice Nippolo
            const char *sol = solution.c_str();
            const char *ten = ss.c_str();
            int occ[6] = {0};
            unsigned int X = 0;
            for(unsigned int i=0; i<4; ++i)
            {
                X += sol[i] == ten[i];
                ++occ[sol[i] - 'A'];
                --occ[ten[i] - 'A'];
            }
            unsigned int O = 4 - X;
            for(unsigned int i=0; i<6; ++i)
            {
                if(occ[i] > 0)
                {
                    O -= occ[i];
                }
            }
            for (unsigned int strike=0;strike<X;strike++)
                printf("X");
            for (unsigned int bal=0;bal<O;bal++)
                printf("O");
    
            // printf("\nX = %u\nO = %u\n", X, O);
            // fine codice Nippolo
    
    
    
        }while (ris != "XXXX");
        cout << endl << "Sequenza trovata " << endl;
        return 0;
    }
    
  • Re: Master Mind

    Grazie ho provato i vostri codici, ma non funzionano danno parecchi errori... Io credo che sia per il fatto che voi abbiate utilizzato il C e non il C++, si evince anche da quella specie di puntatori char *sol (se non sbaglio credo siano puntatoti, non conosco il C).
    Ciao, e grazie per l'aiuto!
  • Re: Master Mind

    Dany30 ha scritto:


    Grazie ho provato i vostri codici, ma non funzionano danno parecchi errori... Io credo che sia per il fatto che voi abbiate utilizzato il C e non il C++, si evince anche da quella specie di puntatori char *sol (se non sbaglio credo siano puntatoti, non conosco il C).
    Ciao, e grazie per l'aiuto!
    Sono warning, non errori, di queste due righe
    
    char *sol = "DCEC";
    char *ten = "DEEC";
    
    Se compili in C++ puoi scrivere
    
    char *sol = (char *)"DCEC";
    char *ten = (char *)"DEEC";
    
    Quanto ai "numerosi errori" dovresti specificare quali, altrimenti è un indicazione che non dice niente. Oppure puoi provare a fare tu - ti sono stati dati diversi spunti
  • Re: Master Mind

    Concordo con @Weierstrass, in ogni caso relativamente a

    Weierstrass ha scritto:


    Se compili in C++ puoi scrivere
    
    char *sol = (char *)"DCEC";
    char *ten = (char *)"DEEC";
    
    puoi utilizzare anche
    const char *sol = "DCEC";
    const char *ten = "DEEC";
    oppure
    char sol[] = "DCEC";
    char ten[] = "DEEC";
Devi accedere o registrarti per scrivere nel forum
23 risposte