Witam.
Wiem, że tytuł trochę noobski, ale nie wiedziałem, jak to sformułować.
Otóż robię pewną prostą gierkę konsolową, ale nie o to chodzi.
W funkcji odpowiadającej za atak pięścią wszystko wygląda OK, mimo to kompilator podaje jakiś dzwiny błąd.
To jest kod:
bool atak_piesc(int atakujacy, int sila_w, int zrecznosc_w, int inteligencja_w, int spostrzegawczosc_w, bool bron_w)
{
double powodzenie = (rand()%3)+1;
double unik;
double blok;
if(atakujacy<=0)
{
unik = (spostrzegawczosc_w*(0.5*inteligencja_w))*0.5;
blok = (spostrzegawczosc_w*(0.5*zrecznosc_w))*0.5;
unik = ceil(unik);
blok = ceil(blok);
powodzenie = powodzenie+(sila+1)-sila_w;
if(unik>blok) powodzenie = powodzenie-(0.5*unik);
if(blok>unik) powodzenie = powodzenie-(0.5*blok);
if(bron_w==true) powodzenie = powodzenie*0.1;
if(powodzenie>5) return true;
else return false;
}
else
{
unik = (spostrzegawczosc*(0.5*inteligencja))*0.5;
blok = (spostrzegawczosc*(0.5*zrecznosc))*0.5;
unik = ceil();
blok = ceil();
powodzenie = powodzenie+(sila_w+1)-sila;
if(unik>blok) powodzenie = powodzenie-(0.5*unik);
if(blok>unik) powodzenie = powodzenie-(0.5*blok);
if(bron==true) powodzenie = powodzenie*0.1;
if(powodzenie>5) return true;
else return false;
}
}
Kompliator pokazuje mi przy linii 670 błąd “a function-definition is not allowed here before ‘{’ token”, a ja niezbyt rozumiem, o co chodzi. (w sensie logicznym, nie językowym)
Oprócz tego przy funkcji odpowiadającej za atak bronią, mianowicie:
bool atak_bron(int atakujacy, int sila_w, int zrecznosc_w, int inteligencja_w, int spostrzegawczosc_w, bool bron_w)
{
double powodzenie = (rand()%4)+1;
double unik;
double blok;
if(atakujacy<=0)
{
unik = (spostrzegawczosc_w*(0.3*inteligencja_w))*0.3;
if(bron_w=true) blok = (spostrzegawczosc_w*(0.7*zrecznosc_w))*0.7;
else blok = 0;
unik = floor(unik);
blok = ceil(blok);
powodzenie = powodzenie+sila+zrecznosc-sila_w-zrecznosc_w+1;
if(unik>blok) powodzenie = powodzenie-(0.5*unik);
if(blok>unik) powodzenie = powodzenie-(0.5*blok);
}
else
{
unik = (spostrzegawczosc*(0.3*inteligencja))*0.3;
if(bron=true) blok = (spostrzegawczosc*(0.7*zrecznosc))*0.7;
else blok = 0;
unik = floor(unik);
blok = ceil(blok);
powodzenie = powodzenie+sila_w+zrecznosc_w-sila-zrecznosc+1;
if(unik>blok) powodzenie = powodzenie-(0.5*unik);
if(blok>unik) powodzenie = powodzenie-(0.5*blok);
}
if(powodzenie>5) return true;
else return false;
}
Kompilator pokazuje w linii 733 błąd “excepted ‘}’ at end of input”.
Korzystam ze środowiska CodeBlocks, a więc kompilator MinGW.