Salve!
Da poco mi sto cimentando nella creazione di un TRIS in C++ e come ben sapete, i simboli classici sono la X e la O.
Bene, detto questo, non riesco a trasformare i valori dell'array "tabella" (dichiarata come int) in X e O.
Ho già provato a fare "char tabella[]..." ma i numeri erano a mo di simboli..
Tralasciando tutto il resto del codice a cui sto lavorando, quindi è ovviamente incompleto, sapreste aiutarmi?
Vorrei capire come fare, e se, l'errore lo commetto nella funzione "scelta()", grazie.
#include <iostream>
#include <string>
using namespace std;
int t[9]={0,1,2,3,4,5,6,7,8};//tabella del tris
string g1, g2;
int sceltag1,sceltag2;
char X,O;
void mostra_tabella(){
cout<<"|"<<t[0]<<"|"<<t[1]<<"|"<<t[2]<<"|"<<endl;
cout<<"|"<<t[3]<<"|"<<t[4]<<"|"<<t[5]<<"|"<<endl;
cout<<"|"<<t[6]<<"|"<<t[7]<<"|"<<t[8]<<"|"<<endl;
}
int scelta(){
for(int i=0; i<=9; i++) {
if(sceltag1==t[i]){
t[i]=0;
}
}//per il primo giocatore
for(int i=0; i<=9; i++) {
if(sceltag2==t[i]){
t[i]=1;
}
}//per il secondo
}
void controllo_vittoria(){
if(t[0]==0 && t[1]==0 && t[2]==0){
cout<<g1<<" ha vinto!";
system("PAUSE");
}
if(t[2]==0 && t[5]==0 && t[8]==0){
cout<<g1<<" ha vinto!";
system("PAUSE");
}
if(t[6]==0 && t[7]==0 && t[8]==0){
cout<<g1<<" ha vinto!";
system("PAUSE");
}
if(t[0]==0 && t[3]==0 && t[6]==0){
cout<<g1<<" ha vinto!";
system("PAUSE");
}
if(t[0]==0 && t[4]==0 && t[8]==0){
cout<<g1<<" ha vinto!";
system("PAUSE");
}
if(t[6]==0 && t[4]==0 && t[2]==0){
cout<<g1<<" ha vinto!";
system("PAUSE");
}
}
int main(){
cout<<"Ciao! Benvenuto al gioco TRIS"<<endl;
cout<<"Inserisci il nome del primo giocatore: ";
cin>>g1;
cout<<"Ora inserisci il nome del secondo giocatore: ";
cin>>g2; cout<<endl;
cout<<g1<<" sara' la X"<<endl;
cout<<g2<<" sara' la O"<<endl;
mostra_tabella();
cout<<"\nE' il turno di "<<g1<<": ";
cin>>sceltag1;
scelta();
mostra_tabella();
controllo_vittoria();
cout<<"\nE' il turno di "<<g2<<": ";
cin>>sceltag2;
scelta();
mostra_tabella();
controllo_vittoria();
system("PAUSE");
}