Witam czy znajdę osobę pełną chęci żeby wytkneła mi błąd? Chodzi o funkcje "SprawdzPola" ,która nie zwraca false gdy pola zostaną zapełnione sprawdziłem pentlą pętlą wszystkie pola po zapełnieniu i wyszło mi ze są zapełnione a funkcja nwm dlaczego nie robi nic. Proszę o pomoc.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void RysujPlansze(int **plansza, int wysokosc, int szerokosc);
void Ruch(int **plansza, int wysokosc, int szerokosc, int &ktoryGracz);
bool SprawdzPola(int **plansza, int wysokosc, int szerokosc);
int main()
{
srand(time(NULL));
int szerokosc, wysokosc;
bool gra;
cout<<"Podaj wysokosc planszy: ";
cin>>wysokosc;
cout<<"Podaj szerokosc planszy: ";
cin>>szerokosc;
int **plansza = new int *[wysokosc];
for(int i=0; i<wysokosc; i++)
plansza[i] = new int[szerokosc];
for(int i=0; i<wysokosc; i++)
{
for(int j=0; j<szerokosc; j++)
plansza[i][j] = 0;
}
//Losowanie gracza
int ktoryGracz = (rand()%2)+1;
RysujPlansze(plansza, wysokosc, szerokosc);
Ruch(plansza, wysokosc, szerokosc, ktoryGracz);
return 0;
}
void RysujPlansze(int **plansza, int wysokosc, int szerokosc)
{
for(int i=0; i<wysokosc; i++)
{
for(int j=0; j<szerokosc; j++)
{
if(plansza[i][j] == 2)
cout<<" 2 ";
else if(plansza[i][j] == 1)
cout<<" 1 ";
else
cout<<" - ";
}
cout<<endl;
}
}
void Ruch(int **plansza, int wysokosc, int szerokosc, int &ktoryGracz)
{
bool graj = true;
int kolumna;
while(graj)
{
if(ktoryGracz == 1)
{
cout<<"Ruch gracza drugiego "<<endl;
ktoryGracz = 2;
}else if(ktoryGracz == 2)
{
cout<<"Ruch gracza pierwszego "<<endl;
ktoryGracz = 1;
}
cout<<"Wybierz kolumne: ";
cin>>kolumna;
if(kolumna < szerokosc+1 && kolumna > 0)
{
for(int i=0; i<wysokosc; i++)
{
if(plansza[i][kolumna-1] == 0)
{
plansza[i][kolumna-1] = ktoryGracz;
break;
}
}
}
RysujPlansze(plansza, wysokosc, szerokosc);
graj = SprawdzPola(plansza, wysokosc, szerokosc);
}
}
bool SprawdzPola(int **plansza, int wysokosc, int szerokosc)
{
for(int i=0; i<wysokosc; i++)
{
for(int j=0; j<szerokosc; j++)
{
if(plansza[i][j] == 1 || plansza[i][j] == 2)
return true;
}
}
return false;
}