Cześć!
Otóż tworze gre w konsoli, kołko i krzyżyk. Gdy jeden gracz wybierze "x" na współrzędnych a1, to drugi gracz również może to zrobić wpisując tam "o". Czy da się coś z tym zrobić, żeby było tak jak powinno?(czyli:Gdy jeden gracz wybierze "x" na współrzędnych a1, to drugi gracz nie może juz tam wpisać "o".). Licze przynajmniej na wskazówkę! Z góry dziękuje! :D (jestem początkujący, wybaczcie za niestaranność kodu).
#include <iostream>
#include <time.h>
#include <windows.h>
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
#include <fstream>
#include <iomanip>
#include <string>
#include <algorithm>
using namespace std;
//bool wybor_ok;
int wybor1,wybor2; int kolejka;
string a1="1",a2="2",a3="3",a4="4",a5="5",a6="6",a7="7",a8="8",a9="9";
string b1="x",b2,b3,b4,b5,b6,b7,b8,b9;
int main()
{
cout<<"GRA W KOLKO I KRZYZYK";
// Sleep(2500);
system("cls");
//TABLICA GRY
cout<<"-------------"<<endl;
cout<<"| "<<a1<<" | "<<a2<<" | "<<a3<<" |"<<endl;
cout<<"-------------"<<endl;
cout<<"| "<<a4<<" | "<<a5<<" | "<<a6<<" |"<<endl;
cout<<"-------------"<<endl;
cout<<"| "<<a7<<" | "<<a8<<" | "<<a9<<" |"<<endl;
cout<<"-------------"<<endl;
kolejka=2;
for(int i=0;i<=4;i++)
{
//X-ZNACZNIK
if(kolejka==1)
{
wybor1=getch();
switch(wybor1)
{
case '1':
a1.replace(0,1,"x");
break;
case '2':
a2.replace(0,1,"x");
break;
case '3':
a3.replace(0,1,"x");
break;
case '4':
a4.replace(0,1,"x");
break;
case '5':
a5.replace(0,1,"x");
break;
case '6':
a6.replace(0,1,"x");
break;
case '7':
a7.replace(0,1,"x");
break;
case '8':
a8.replace(0,1,"x");
break;
case '9':
a9.replace(0,1,"x");
break;
default:
cout<<"Nie ma takiej opcji w menu";
break;
}
kolejka++;
cout<<"-------------"<<endl;
cout<<"| "<<a1<<" | "<<a2<<" | "<<a3<<" |"<<endl;
cout<<"-------------"<<endl;
cout<<"| "<<a4<<" | "<<a5<<" | "<<a6<<" |"<<endl;
cout<<"-------------"<<endl;
cout<<"| "<<a7<<" | "<<a8<<" | "<<a9<<" |"<<endl;
cout<<"-------------"<<endl;
if((a1=="x"&&a4=="x"&&a7=="x")||(a1=="x"&&a2=="x"&&a3=="x")||(a1=="x"&&a5=="x"&&a9=="x")||
(a2=="x"&&a5=="x"&&a8=="x")||(a3=="x"&&a6=="x"&&a9=="x")||(a3=="x"&&a5=="x"&&a7=="x")||
(a4=="x"&&a5=="x"&&a6=="x")||(a7=="x"&&a8=="x"&&a9=="x"))
{
cout<<"WYGRAŁ x";
exit(0);
}
}
//O-ZNACZNIK
if(kolejka==2)
{
wybor2=getch();
switch(wybor2)
{
case '1':
a1.replace(0,1,"o");
break;
case '2':
a2.replace(0,1,"o");
break;
case '3':
a3.replace(0,1,"o");
break;
case '4':
a4.replace(0,1,"o");
break;
case '5':
a5.replace(0,1,"o");
break;
case '6':
a6.replace(0,1,"o");
break;
case '7':
a7.replace(0,1,"o");
break;
case '8':
a8.replace(0,1,"o");
break;
case '9':
a9.replace(0,1,"o");
break;
default:
cout<<"Nie ma takiej opcji w menu";
}
kolejka--;
cout<<"-------------"<<endl;
cout<<"| "<<a1<<" | "<<a2<<" | "<<a3<<" |"<<endl;
cout<<"-------------"<<endl;
cout<<"| "<<a4<<" | "<<a5<<" | "<<a6<<" |"<<endl;
cout<<"-------------"<<endl;
cout<<"| "<<a7<<" | "<<a8<<" | "<<a9<<" |"<<endl;
cout<<"-------------"<<endl;
if((a1=="o"&&a4=="o"&&a7=="o")||(a1=="o"&&a2=="o"&&a3=="o")||(a1=="o"&&a5=="o"&&a9=="o")||
(a2=="o"&&a5=="o"&&a8=="o")||(a3=="o"&&a6=="o"&&a9=="o")||(a3=="o"&&a5=="o"&&a7=="o")||
(a4=="o"&&a5=="o"&&a6=="o")||(a7=="o"&&a8=="o"&&a9=="o"))
{
cout<<"WYGRAL o";
exit(0);
}
}
}
return 0;
}