bah vi faccio vedere sto
mastermind che ho fatto in c++ na cosuccia uccia... fatta neanche benissimo mi sa....
comunque il codice:
#include <ctime>
#include <iostream>
#include <cstdlib>
using namespace std;
void leggi (int[]);
int valuta (int[], int[]);
int main(void)
{
int n=0, x, i,p=0, M[4],V[4];
cout<<" Benvenuto al Mastermind BY Mustangtux! ";
cout<<endl;
cout<<"Scopri il codice da 4 numeri. Inserisci numeri da 1 a 8 (premi invio ad ogni numero inserito). Hai 10 possibilità !"<<'\n'<<"Pallino Bianco: cifra esatta nel posto sbagliato. Pallino nero: cifra esatta nel posto giusto.";
cout<<endl;
for (i=0; i<4; i++)
{
x=(rand() % 8) +1;
M[i]=x;
}
while (n<4 && p<10)
{
leggi (V);
n= valuta (M,V);
p=p+1;
}
if(p==10){
cout<<endl;
cout<<"Hai perso, ci stai mettendo un secolo per un semplice codice: cambia lavoro!";
}
else{
cout<<"hai eseguito "<<p<<" tentativi";
}
return 0;
}
int valuta (int M[],int V[])
{
int i, s,et=0,ft=0,gt=0,ht=0,t, b=0, n=0;
for (i=0;i<4;i++)
{
if (M[i]==V[i])
{
n=n+1;
switch(i){
case 0:
et++;
break;
case 1:
ft++;
break;
case 2:
gt++;
break;
case 3:
ht++;
break;
}
}
}
for (t=0;t<4;t++){
for (s=0;s<4 && s!=i;s++)
{
switch(t){
case 0:
if(M[t]==V[s] && et==0){
b=b+1;
}
break;
case 1:
if(V[s]==M[t] && ft==0){
b=b+1;
}
break;
case 2:
if(V[s]==M[t] && gt==0){
b=b+1;
}
break;
case 3:
if(V[s]==M[t] && ht==0){
b=b+1;
}
break;
}
}
}
if(n==4){
cout<<" Complimenti! Hai vinto!";
cout<<endl;
}
else{
cout<<"bianchi="<<b<<" neri="<<n<<'\n'<<" No, ritenta"<<endl;
}
return n;
}
void leggi (int V[])
{
int i;
cout<<'\n'<<"tentativo"<<'\n';
for (i=0; i<4; i++)
{
cout<<"numero";
cin>>V[i];
}
return;
}
se volete provarlo, scaricate il file in allegato mettetelo nella home e lanciatelo da terminale con ./prova