Oto co wyskakuje gdy kompiluje program. Jeszcze nie wszystkie funkcje zostały w nim napisane
Dopiero się ucze i nie moge wyłapać żadnego błędu ;/ a może static nie działa gdy program "przenosi" sie z jednego pliku na drugi ?
oto kod programu:
plik main.cpp
#include "game.hpp"
#include <iostream>
using namespace std ;
int main()
{
while(1)
{
RysujPlansze();
Ruch();
if (( SprawdzWynik() == WW_CROSS ) || (SprawdzWynik()==WW_CIRCLE)) break;
// dodaj tu potem funkcje
}
// zakonczenie
cout<<"\n\nBrawo ! ";
if (SprawdzWynik()== WW_CROSS) cout<<"Wygral KRZYZYK !! Gratulacje ;)";
if (SprawdzWynik()==WW_CIRCLE) cout<<"Wygral KOLKO !! Gratulacje ;)";
}
plik game.cpp
#include "game.hpp"
#include <iostream>
#include <sstream>
using namespace std ;
static FIELD pole[9]; //można tak zrobić by zapamietac plansze i aktualnego gracza ?
static PLAYER gracz=PLR_CROSS; // ???
bool Ruch()
{
int a;
cout<<"Podaj nr pola na ktore chcesz postawic znak :";
cin>>a;
if (gracz==PLR_CIRCLE) pole[a]=FLD_CIRCLE;
if (gracz==PLR_CROSS) pole[a]=FLD_CROSS;
return 0;
}
bool RysujPlansze() //ukonczone
{
string znak[9];
for(int i=1; i<=9 ; i++) //zmiana FIELD na stringi
{
if (pole[i]==FLD_EMPTY)
{
ostringstream ss;
ss << i;
znak[i] = ss.str();
}
if (pole[i]==FLD_CROSS)
{
znak[i]="x";
}
if (pole[i]==FLD_CIRCLE)
{
znak[i]="o";
}
}
//rysujemy ! xD
cout<<" _______"<<endl<<" |"<<znak[1]<<"|"<<znak[2]<<"|"<<znak[3]<<"|";
cout<<" "<<endl<<" |"<<znak[4]<<"|"<<znak[5]<<"|"<<znak[6]<<"|";
cout<<" "<<endl<<" |"<<znak[7]<<"|"<<znak[8]<<"|"<<znak[9]<<"|"<<endl<<endl<<" ";
}
WHOWIN SprawdzWynik()
{
return WW_ANYBODY;
}
bool AktualnyGracz()
{
if (gracz==PLR_CROSS) gracz=PLR_CIRCLE; //zmiana urzytkownika
if (gracz==PLR_CIRCLE) gracz=PLR_CROSS; //z kolka na krzyzyk i odwrotnie
}
plik game.hpp
#ifndef game_hpp
#define game_hpp
enum SIGN {SGN_CIRCLE,SGN_CROSS};
enum FIELD {FLD_EMPTY,FLD_CIRCLE,FLD_CROSS};
enum GAMESTATE{GS_NOTSTARTED,GS_MOVE,GS_WON,GS_DRAW};
enum PLAYER{PLR_CROSS,PLR_CIRCLE};
enum WHOWIN{WW_CIRCLE,WW_CROSS,WW_ANYBODY};
bool Ruch();
bool RysujPlansze();
WHOWIN SprawdzWynik();
bool AktualnyGracz();
#endif