Connect Four

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

#include <iostream>

#include <iomanip>
using namespace std;
const int red = 6, kolona = 7;
bool igraJeGotova(char tabela[][kolona]);
void ispisTabele(char[][kolona]);
void igraPrvi(char[][kolona], int);
void ispisPrazneTabele(char[][kolona]);
void igraDrugi(char[][kolona], int);
int main()
{
char tabela[red][kolona];
ispisPrazneTabele(tabela);
int odgovor;
bool igraJeGotovaUslov = false;
while (igraJeGotovaUslov == false)
{
cout << "Koju kolonu birate:" << endl;
cin >> odgovor;
igraPrvi(tabela, odgovor);
ispisTabele(tabela);
if (igraJeGotova(tabela))
{
cout << "Pobjednik je prvi igrac";
igraJeGotovaUslov = true;
}
cin >> odgovor;
igraDrugi(tabela, odgovor);
ispisTabele(tabela);
if (igraJeGotova(tabela))
{
cout << "Pobjednik je drugi igrac" << endl;
igraJeGotovaUslov = true;
}
}
system("pause>0");
return 0;
}
void ispisTabele(char tabela[][kolona])
{
system("cls");
cout << "1 2 3 4 5 6 7" << endl;
cout << "--------------------------" << endl;
for (int i = 0; i < red; i++)
{
for (int j = 0; j < kolona; j++)
{
cout << tabela[i][j] << setw(4);
}
cout << endl;
cout << "--------------------------" << endl;
}
}
void igraPrvi(char tabela[][kolona], int kojaKolona)
{
for (int i = red - 1; i >= 0; i--)
{
if (tabela[i][kojaKolona - 1] == ' ')
{
tabela[i][kojaKolona - 1] = 'X';
break;
}
}
}
void ispisPrazneTabele(char tabela[][kolona])
{
system("cls");
cout << "1 2 3 4 5 6 7" << endl;
cout << "--------------------------" << endl;
for (int i = 0; i < red; i++)
{
for (int j = 0; j < kolona; j++)
{
tabela[i][j] = ' ';
cout << tabela[i][j] << setw(4);
}
cout << endl;
cout << "--------------------------" << endl;
}
}
void igraDrugi(char tabela[][kolona], int kojaKolona)
{
for (int i = red - 1; i >= 0; i--)
{
if (tabela[i][kojaKolona - 1] == ' ')
{
tabela[i][kojaKolona - 1] = 'O';
break;
}
}
}
bool igraJeGotova(char tabela[][kolona])
{
bool jeste_nije = false;
for (int i = 0; i < red; i++)
{
for (int j = 0; j < kolona; j++)
{
if ((tabela[i][j] != ' ') && (tabela[i][j] == tabela[i -
1][j - 1]) && (tabela[i][j] == tabela[i - 2][j - 2]) && (tabela[i][j] == tabela
[i - 3][j - 3]))
{
jeste_nije = true;
break;
}
}
}
for (int i = 0; i < red; i++)
{
for (int j = 0; j < kolona; j++)
{
if ((tabela[i][j] != ' ') && (tabela[i][j] == tabela[i][
j + 1]) && (tabela[i][j] == tabela[i][j + 2]) && (tabela[i][j] == tabela[i][j +
3]))
{
jeste_nije = true;
break;
}
}
}
for (int i = 0; i < red; i++)
{
for (int j = 0; j < kolona; j++)
{
if ((tabela[i][j] != ' ') && (tabela[i][j] == tabela[i +
1][j]) && (tabela[i][j] == tabela[i + 2][j]) && (tabela[i][j] == tabela[i + 3][
j]))
{
jeste_nije = true;
break;
}
}
}
for (int i = 0; i < red; i++)
{
for (int j = 0; j < kolona; j++)
{
if ((tabela[i][j] != ' ') && (tabela[i][j] == tabela[i -
1][j + 1]) && (tabela[i][j] == tabela[i - 2][j + 2]) && (tabela[i][j] == tabela
[i - 3][j + 3]))
{
jeste_nije = true;
break;
}
}
}
return jeste_nije;
}

You might also like