Teraz żeby potem sobie ułatwić zmiane jakiejś kości chciałem zrobić to w funkcjach , lecz mam błąd linkera "undefined refference to 'sprawdz' , nawet nie chodzi o poprawność kodu co do jego działania , bo sam wiem że jest tam kilka błędów , ale mi chodzi żeby chociaż to przeszło i się skompilowało a potem sobie to poprawie , jednak no nie wiem dlaczego tak się dzieje ?
Kod :
Tam wyżej mam deklaracje funkcji : sprawdz (int , int , int ) ;
int * losuj (int kosci , int wszystkie_kosci )
{
int rozmiar = wszystkie_kosci + 2 ;
int * tablica = new int [rozmiar] ;
int * rzucone = new int [kosci] ;
int strit [kosci] ;
int wartosc_strita = 0 ;
srand (time(NULL));
for (int i = 0 ; i < rozmiar ; i++)
{
tablica = 0 ;
}
for (int i = 0 ; i < wszystkie_kosci ; i++)
{
rzucone = rand () % (kosci) + 1 ;
tablica [rzucone] ++ ;
cout << endl ;
cout << rzucone << endl ;
cout << endl ;
sprawdz (rzucone , tablica , rozmiar );
}
}
int sprawdz (int rzuconekosci [] , int tablica [] , int rozmiar )
{
int punkty = 0 ;
int wartosc_kosci = 0 ;
for (int i = 0 ; i < rozmiar ; i++)
{
if (tablica == 5)
{
wartosc_kosci += 10;
}
else if (tablica == 4)
{
wartosc_kosci +=20 ;
}
else if (tablica == 2)
{
wartosc_kosci += 2 ;
}
else if (tablica == 3)
{
wartosc_kosci += 3 ;
}
}
if (wartosc_kosci == 5)
{
cout << "FULL !!! " << endl ;
punkty += (rzuconekosci [0] + rzuconekosci [1] + rzuconekosci [2] + rzuconekosci [3] + rzuconekosci [4] ) + 10 ;
}
else if (wartosc_kosci == 10)
{
cout << "Poker !!!" << endl ;
punkty += (rzuconekosci [0] + rzuconekosci [1] + rzuconekosci [2] + rzuconekosci [3] + rzuconekosci [4] ) +50 ;
}
else if (wartosc_kosci == 20)
{
cout << "Kareta !!!" << endl ;
punkty += (rzuconekosci [0] + rzuconekosci [1] + rzuconekosci [2] + rzuconekosci [3] + rzuconekosci [4] ) + 20 ;
}
else if (wartosc_kosci == 2)
{
cout << "Dwojka !!!" << endl ;
punkty += 5 ;
}
else if (wartosc_kosci == 3)
{
cout << "Trojka !!!" << endl ;
punkty += 15 ;
}
else if (wartosc_kosci == 4)
{
cout << "Para !!!" << endl ;
punkty += 10 ;
}
cout << endl ;
if (tablica [2] == 1 && tablica [3] == 1 && tablica [4] == 1 && tablica [5] == 1 && tablica [6] == 1)
{
punkty += 20 ;
cout << "Duzy Strit !!!" << endl ;
}
if (tablica [1] == 1 && tablica [2] == 1 && tablica [3] == 1 && tablica [4] == 1 && tablica [5] == 1)
{
punkty += 15 ;
cout << "Maly Strit !!!" << endl ;
}
cout << endl ;
cout << endl ;
return wartosc_kosci ;
return punkty ;
}