Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] gra w wojne z użyciem vector lub deque - problem

Ostatnio zmodyfikowano 2014-10-25 12:14
Autor Wiadomość
dzaggiel
Temat założony przez niniejszego użytkownika
[c++] gra w wojne z użyciem vector lub deque - problem
» 2014-10-25 09:37:16
Witam tworze grę w wojnę niestety w tradycyjny sposób mi się nie udało ze względu na to że potrzebuje znać rozmiar tablicy w funkcji. Tablica jest dwuwymiarowa dynamiczna więc zmienna pomocnicza na nic się nie zda. Więc zacząłem od vectora lecz bardziej wolę deque który jest prawie tym samym. Niestety za bardzo nie wiem jak zrobić by podzielić talie (statyczna dwuwymiarowa tablica) na dwóch graczy (deque). Gdy próbuje czegoś takiego otrzymuje błąd

deque<char> gracz1[3][26], gracz2[3][26];
for(int i = 52 ; i > 0 ; i -= 2)
{
  gracz1.push_front(tab);
  gracz2.push_front(tab[i-1]);
}
Błąd to : request for member 'push_front' in 'gracz1' which is of non-class type 'std::deque<char> [3][26]'
u gracz1 jak i gracz2. Z klas,struktur itp nie chce korzystać ponieważ ich nie rozumiem i nie mam czasu ich zrozumieć. Proszę o pomoc co robię źle.
P-119354
stryku
» 2014-10-25 12:14:09
Nie bardzo rozumiem czemu tworzysz 3*26 list dla każdego gracza?

Przydało by się też pokazać jak wygląda
tab

Z tego co rozumiem to tym kodem chcesz rozdać karty dla dwóch graczy tak?
Jeżeli tak to spróbuj czegoś takiego

C/C++
std::deque < char > gracz1( 26 ), gracz2( 26 );
std::vector < char > karty( 52 );

/*
towrzysz karty. Nie wiem jak je reprezentujesz.
*/

std::random_shuffle( karty.begin(), karty.end() );

std::copy( karty.begin(), karty.begin() + 26, gracz1.begin() );
std::copy( karty.begin(), karty.begin() + 26, gracz2.begin() );
P-119358
« 1 »
  Strona 1 z 1