Skocz do zawartości

Częsty problem :) error C2447: '{' : missing function header (old-style formal list?)


ogareczku

Polecane posty

Witam jestem początkującym programistą i potrzebuję zrobić banalną grę kółko i krzyżyk. Problem w tym, że nie potrafie znaleźć rozwiązania dla podanego w temacie problemu... Szukałem i zmieniałem wiele rzeczy (bo errorów było z 20) i może nie widzę tego dość prostego errora :/ Prosiłbym o pomoc najlepiej wskazanie gdzie ten błąd jest i jak go rozwiązać :)

 

 

 

#include <iostream>

#include <ctime>

 

 

enum SIGN { SGN_CIRCLE, SGN_CROSS };

enum FIELD { FLD_EMPTY,

FLD_CIRCLE = SGN_CIRCLE,

FLD_CROSS = SGN_CROSS };

enum GAMESTATE { GS_NOTSTARTED, GS_MOVE, GS_WON, GS_DRAW };

 

 

 

bool StartGry();

 

 

bool Ruch(unsigned);

 

 

bool RysujPlansze();

 

 

 

FIELD g_aPlansza[3][3] = { { FLD_EMPTY, FLD_EMPTY, FLD_EMPTY },

{ FLD_EMPTY, FLD_EMPTY, FLD_EMPTY },

{ FLD_EMPTY, FLD_EMPTY, FLD_EMPTY } };

GAMESTATE aStanGry = GS_NOTSTARTED;

SIGN g_AktualnyGracz;

 

extern GAMESTATE g_StanGry;

 

bool StartGry();

 

 

 

{

if (aStanGry != GS_NOTSTARTED) return false;

 

{

else

 

 

 

 

srand (static_cast<unsigned>(time(NULL)));

g_AktualnyGracz = (rand() % 2 == 0 ? SGN_CIRCLE : SGN_CROSS);

 

 

aStanGry = GS_MOVE;

 

return true;

 

}

 

 

 

bool Ruch(unsigned uNumerPola);

{

 

if (aStanGry != GS_MOVE) return false;

if (!(uNumerPola >= 1 && uNumerPola <= 9)) return false;

 

unsigned uY = (uNumerPola - 1) / 3;

unsigned uX = (uNumerPola - 1) % 3;

 

if (g_aPlansza[uY][uX] == FLD_EMPTY) ;

 

else

return false;

 

 

g_aPlansza[uY][uX] = static_cast<FIELD>(g_AktualnyGracz);

 

const LINIE[][3][2] = { { { 0,0 }, { 0,1 }, { 0,2 } }, // górna pozioma

{ { 1,0 }, { 1,1 }, { 1,2 } },// środ. pozioma

{ { 2,0 }, { 2,1 }, { 2,2 } },// dolna pozioma

{ { 0,0 }, { 1,0 }, { 2,0 } }, // lewa pionowa

{ { 0,1 }, { 1,1 }, { 2,1 } }, // środ. pionowa

{ { 0,2 }, { 1,2 }, { 2,2 } }, // prawa pionowa

{ { 0,0 }, { 1,1 }, { 2,2 } }, // p. backslashowa

{ { 2,0 }, { 1,1 }, { 0,2 } } }; // p. slashowa

 

for (int j = 0; j < 3; ++j) ;

{

 

 

 

 

Pole = g_aPlansza[LINIE[j][0]][LINIE[j][1]];

 

 

if (Pole != ZgodnePole) ;

{

 

ZgodnePole = Pole;

uLiczbaZgodnychPol = 1;

}

else

 

++uLiczbaZgodnychPol;

}

 

 

if (uLiczbaZgodnychPol == 3 && ZgodnePole != FLD_EMPTY) ;

{

 

g_StanGry = GS_WON;

 

return true;

}

}

 

for (int j = 0; j < 3; ++j) ;

{

Pole = g_aPlansza[LINIE[j][0]][LINIE[j][1]];

 

if (Pole != ZgodnePole) ;

{

ZgodnePole = Pole;

uLiczbaZgodnychPol = 1;

}

else

++uLiczbaZgodnychPol;

}

 

g_StanGry = GS_WON;

return true;

 

unsigned uLiczbaZapelnionychPol = 0;

 

for (int i = 0; i < 3; ++i) ;

for (int j = 0; j < 3; ++j) ;

if (g_aPlansza[j] != FLD_EMPTY) ;

++uLiczbaZapelnionychPol;

 

if (uLiczbaZapelnionychPol == 3*3) ;

{

g_StanGry = GS_DRAW;

return true;

}

 

g_AktualnyGracz = (g_AktualnyGracz == SGN_CIRCLE ?

SGN_CROSS : SGN_CIRCLE);

 

return true;

 

 

bool RysujPlansze() ;

 

if (g_StanGry == GS_NOTSTARTED) return false;

 

system ("cls");

 

std::cout << " KOLKO I KRZYZYK " << std::endl;

std::cout << "---------------------" << std::endl;

std::cout << std::endl;

 

std::cout << " -----" << std::endl;

for (int i = 0; i < 3; ++i) ;

{

 

std::cout << " |";

 

 

for (int j = 0; j < 3; ++j) ;

{

if (g_aPlansza[j] == FLD_EMPTY) ;

 

std::cout << i * 3 + j + 1;

else

 

}

 

 

std::cout << "|" << std::endl;

}

 

std::cout << " -----" << std::endl;

std::cout << std::endl;

 

enum SIGN { SGN_CIRCLE = 'O', SGN_CROSS = 'X' };

 

std::cout << static_cast<char>(g_aPlansza[j]);

 

 

switch (g_StanGry) ;

{

case GS_MOVE:

 

std::cout << "Podaj numer pola, w ktorym" << std::endl;

std::cout << "chcesz postawic ";

std::cout << (g_AktualnyGracz == SGN_CIRCLE ?

"kolko" : "krzyzyk") << ": ";

break;

case GS_WON:

 

std::cout << "Wygral gracz stawiajacy ";

std::cout << (g_AktualnyGracz == SGN_CIRCLE ?

"kolka" : "krzyzyki") << "!";

break;

case GS_DRAW:

 

std::cout << "Remis!";

break;

}

 

}

Link do komentarza
Udostępnij na innych stronach

  • 4 weeks later...

Witam jestem początkującym programistą i potrzebuję zrobić banalną grę kółko i krzyżyk. Problem w tym, że nie potrafie znaleźć rozwiązania dla podanego w temacie problemu... Szukałem i zmieniałem wiele rzeczy (bo errorów było z 20) i może nie widzę tego dość prostego errora :/ Prosiłbym o pomoc najlepiej wskazanie gdzie ten błąd jest i jak go rozwiązać :)

 

 

 

#include <iostream>
#include <ctime>
[..]
bool StartGry();
{
 if (aStanGry != GS_NOTSTARTED)
return false;
  {
	else
  	srand (static_cast<unsigned>(time(NULL)));
  	g_AktualnyGracz = (rand() % 2 == 0 ? SGN_CIRCLE :SGN_CROSS);
 	aStanGry = GS_MOVE;
	return true;
}

  1. jak widać nadużywasz średnika
  2. sformatuj dobrze kod zauważysz troche dziwnych otwartych nawiasów - w tym fragmencie też to widać

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...