#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
string napis;
char tab[10][20];
int w1,w2,w3,w4;
void plansza();
void gra(int &numer);
void domyslnie();
void lewo1(int a, int b, int &w1);
void prawo1(int a, int b, int &w2);
void dol1(int a, int b, int &w3);
void gora1(int a, int b, int &w4);
void w1_w3(int w1, int w3, int a);
void w4_w1(int w4, int w1, int b);
void w3_w2(int w3, int w2, int b);
void w2_w4(int w2, int w4, int a);
void zwyciestwo(int buf);
int buf=0;
int numer=1;
char x = 'x';
char o = 'o';
int main()
{
domyslnie();
gra(numer);
}
void plansza()
{
cout << endl << endl << endl << endl << endl;
cout << " "<<" _______________________________________" << endl;
cout << " "<<" |a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|" << endl;
cout << " "<<"0|"<<tab[0][0]<<"|"<<tab[0][1]<<"|"<<tab[0][2]<<"|"<<tab[0][3]<<"|"<<tab[0][4]<<"|"<<tab[0][5]<<"|"<<tab[0][6]<<"|"<<tab[0][7]<<"|"<<tab[0][8]<<"|"<<tab[0][9]<<"|"<<tab[0][10]<<"|"<<tab[0][11]<<"|"<<tab[0][12]<<"|"<<tab[0][13]<<"|"<<tab[0][14]<<"|"<<tab[0][15]<<"|"<<tab[0][16]<<"|"<<tab[0][17]<<"|"<<tab[0][18]<<"|"<<tab[0][19]<<"|"<<endl;
cout << " "<<"1|"<<tab[1][0]<<"|"<<tab[1][1]<<"|"<<tab[1][2]<<"|"<<tab[1][3]<<"|"<<tab[1][4]<<"|"<<tab[1][5]<<"|"<<tab[1][6]<<"|"<<tab[1][7]<<"|"<<tab[1][8]<<"|"<<tab[1][9]<<"|"<<tab[1][10]<<"|"<<tab[1][11]<<"|"<<tab[1][12]<<"|"<<tab[1][13]<<"|"<<tab[1][14]<<"|"<<tab[1][15]<<"|"<<tab[1][16]<<"|"<<tab[1][17]<<"|"<<tab[1][18]<<"|"<<tab[1][19]<<"|"<<endl;
cout << " "<<"2|"<<tab[2][0]<<"|"<<tab[2][1]<<"|"<<tab[2][2]<<"|"<<tab[2][3]<<"|"<<tab[2][4]<<"|"<<tab[2][5]<<"|"<<tab[2][6]<<"|"<<tab[2][7]<<"|"<<tab[2][8]<<"|"<<tab[2][9]<<"|"<<tab[2][10]<<"|"<<tab[2][11]<<"|"<<tab[2][12]<<"|"<<tab[2][13]<<"|"<<tab[2][14]<<"|"<<tab[2][15]<<"|"<<tab[2][16]<<"|"<<tab[2][17]<<"|"<<tab[2][18]<<"|"<<tab[2][19]<<"|"<<endl;
cout << " "<<"3|"<<tab[3][0]<<"|"<<tab[3][1]<<"|"<<tab[3][2]<<"|"<<tab[3][3]<<"|"<<tab[3][4]<<"|"<<tab[3][5]<<"|"<<tab[3][6]<<"|"<<tab[3][7]<<"|"<<tab[3][8]<<"|"<<tab[3][9]<<"|"<<tab[3][10]<<"|"<<tab[3][11]<<"|"<<tab[3][12]<<"|"<<tab[3][13]<<"|"<<tab[3][14]<<"|"<<tab[3][15]<<"|"<<tab[3][16]<<"|"<<tab[3][17]<<"|"<<tab[3][18]<<"|"<<tab[3][19]<<"|"<<endl;
cout << " "<<"4|"<<tab[4][0]<<"|"<<tab[4][1]<<"|"<<tab[4][2]<<"|"<<tab[4][3]<<"|"<<tab[4][4]<<"|"<<tab[4][5]<<"|"<<tab[4][6]<<"|"<<tab[4][7]<<"|"<<tab[4][8]<<"|"<<tab[4][9]<<"|"<<tab[4][10]<<"|"<<tab[4][11]<<"|"<<tab[4][12]<<"|"<<tab[4][13]<<"|"<<tab[4][14]<<"|"<<tab[4][15]<<"|"<<tab[4][16]<<"|"<<tab[4][17]<<"|"<<tab[4][18]<<"|"<<tab[4][19]<<"|"<<endl;
cout << " "<<"5|"<<tab[5][0]<<"|"<<tab[5][1]<<"|"<<tab[5][2]<<"|"<<tab[5][3]<<"|"<<tab[5][4]<<"|"<<tab[5][5]<<"|"<<tab[5][6]<<"|"<<tab[5][7]<<"|"<<tab[5][8]<<"|"<<tab[5][9]<<"|"<<tab[5][10]<<"|"<<tab[5][11]<<"|"<<tab[5][12]<<"|"<<tab[5][13]<<"|"<<tab[5][14]<<"|"<<tab[5][15]<<"|"<<tab[5][16]<<"|"<<tab[5][17]<<"|"<<tab[5][18]<<"|"<<tab[5][19]<<"|"<<endl;
cout << " "<<"6|"<<tab[6][0]<<"|"<<tab[6][1]<<"|"<<tab[6][2]<<"|"<<tab[6][3]<<"|"<<tab[6][4]<<"|"<<tab[6][5]<<"|"<<tab[6][6]<<"|"<<tab[6][7]<<"|"<<tab[6][8]<<"|"<<tab[6][9]<<"|"<<tab[6][10]<<"|"<<tab[6][11]<<"|"<<tab[6][12]<<"|"<<tab[6][13]<<"|"<<tab[6][14]<<"|"<<tab[6][15]<<"|"<<tab[6][16]<<"|"<<tab[6][17]<<"|"<<tab[6][18]<<"|"<<tab[6][19]<<"|"<<endl;
cout << " "<<"7|"<<tab[7][0]<<"|"<<tab[7][1]<<"|"<<tab[7][2]<<"|"<<tab[7][3]<<"|"<<tab[7][4]<<"|"<<tab[7][5]<<"|"<<tab[7][6]<<"|"<<tab[7][7]<<"|"<<tab[7][8]<<"|"<<tab[7][9]<<"|"<<tab[7][10]<<"|"<<tab[7][11]<<"|"<<tab[7][12]<<"|"<<tab[7][13]<<"|"<<tab[7][14]<<"|"<<tab[7][15]<<"|"<<tab[7][16]<<"|"<<tab[7][17]<<"|"<<tab[7][18]<<"|"<<tab[7][19]<<"|"<<endl;
cout << " "<<"8|"<<tab[8][0]<<"|"<<tab[8][1]<<"|"<<tab[8][2]<<"|"<<tab[8][3]<<"|"<<tab[8][4]<<"|"<<tab[8][5]<<"|"<<tab[8][6]<<"|"<<tab[8][7]<<"|"<<tab[8][8]<<"|"<<tab[8][9]<<"|"<<tab[8][10]<<"|"<<tab[8][11]<<"|"<<tab[8][12]<<"|"<<tab[8][13]<<"|"<<tab[8][14]<<"|"<<tab[8][15]<<"|"<<tab[8][16]<<"|"<<tab[8][17]<<"|"<<tab[8][18]<<"|"<<tab[8][19]<<"|"<<endl;
cout << " "<<"9|"<<tab[9][0]<<"|"<<tab[9][1]<<"|"<<tab[9][2]<<"|"<<tab[9][3]<<"|"<<tab[9][4]<<"|"<<tab[9][5]<<"|"<<tab[9][6]<<"|"<<tab[9][7]<<"|"<<tab[9][8]<<"|"<<tab[9][9]<<"|"<<tab[9][10]<<"|"<<tab[9][11]<<"|"<<tab[9][12]<<"|"<<tab[9][13]<<"|"<<tab[9][14]<<"|"<<tab[9][15]<<"|"<<tab[9][16]<<"|"<<tab[9][17]<<"|"<<tab[9][18]<<"|"<<tab[9][19]<<"|"<<endl;
cout << endl << endl;
}
void domyslnie()
{
for (int i=0;i<=10;i++)
for (int j=0;j<=19;j++)
tab[i][j]='-';
}
void gra(int &numer)
{
plansza();
string napis;
do
{
if (numer%2!=0){
cout << "Gracz 1: ";
cin >> napis;
int a = napis[1]-48;
int b = napis[0]-97;
if (tab[a][b]==x or tab[a][b]==o)
{
cout << "Pole zajete" << endl;
system("PAUSE");
system("CLS");
plansza();
--numer;
}
else
{
tab[a][b] = x;
system("CLS");
plansza();
}
numer++;
lewo1(a,b,w1);
prawo1(a,b,w2);
gora1(a,b,w3);
dol1(a,b,w4);
w1_w3(w1,w3,a);
w3_w2(w3,w2,b);
w2_w4(w2,w4,a);
w4_w1(w4,w1,b);
zwyciestwo(buf);
}
if (numer%2!=1){
cout << "Gracz 2: ";
cin >> napis;
int a = napis[1]-48;
int b = napis[0]-97;
if (tab[a][b]==x or tab[a][b]==o)
{
cout << "Pole zajete" << endl;
system("PAUSE");
system("CLS");
plansza();
--numer;
}
else
{
tab[a][b] = o;
system("CLS");
plansza();
}
numer++;
}
}
while(true);
}
void lewo1(int a, int b, int &w1)
{
for (int i=1;i<b;i++){
if (tab[b-i][a]==o){
w1=b-i;
}
}
}
void prawo1(int a, int b, int &w2)
{
for (int i=1;i<b;i++){
if (tab[b+i][a]==o){
w2=b+i;
}
}
}
void gora1(int a, int b, int &w3)
{
for (int i=1;i<a;i++){
if (tab[b][a-i]==o){
w3=a-i;
}
}
}
void dol1(int a, int b, int &w4)
{
for (int i=1;i<a;i++){
if (tab[b][a+i]==o){
w4=a+i;
}
}
}
void w1_w3(int w1, int w3, int a)
{
int ww=0;
for (int i=1;i<(a-w3);i++){
if (tab[w1+i][a-i]==o)
ww = ww+1;
}
if (ww=(a-w3))
buf = buf + 1;
ww=0;
}
void w3_w2(int w3, int w2, int b)
{
int ww=0;
for (int i=1;i<(w2-b);i++){
if (tab[b+i][w3+i]==o)
ww = ww+1;
}
if (ww=(w2-b))
buf = buf + 1;
ww=0;
}
void w2_w4(int w2, int w4, int a)
{
int ww=0;
for (int i=1;i<(w4-a);i++){
if (tab[w2-1][a+1]==o)
ww = ww+1;
}
if (ww=(w4-a))
buf = buf + 1;
ww=0;
}
void w4_w1(int w4, int w1, int b)
{
int ww=0;
for (int i=1;i<(b-w1);i++){
if (tab[b-1][w4-1]==o)
ww = ww+1;
}
if (ww=(b-w1))
buf = buf + 1;
ww=0;
}
void zwyciestwo (int buf)
{
if (buf=4)
cout << "WYGRALES";
else
buf=0;
}
Witam
Pisze projekt na studia w którym każdy z graczy po podaniu współrzędnych np. a1 wpisuje na plansze swój znak (x lub o). Program nie jest jeszcze kompletny, lecz w obecnej formie powinien pokazać, gdy gracz 2 zwycięży. Niestety po uruchomieniu i wpisaniu jakiejś współrzędnej program przestaje działać, nie mam pojęcia gdzie się pomyliłem. Mógłby ktoś rzucić na to okiem i podpowiedzieć? Z góry dziękuję :)