#8 vitamin
aha, děkuji :)
Příspěvky odeslané z IP adresy 85.207.214.–
ahoj, díky za rady, tak jsem to nakonec nějak dokázal :), ještě ale mám jednu takovou otázečku, nevíte někdo jak udětal sort na tomto:
list<list<Move> > - seznam všech skoků, potřeboval bych to setřídit podle počtu tahů v seznamech uvnitř hlavního seznamu
tady je kousek kódu:
for(int k = i + 1, l = j + 1; k < 10 && l < 10; k++, l++)
{
if(board[k][l] == piece*player || board[k][l] == queen*player)
break;
if(board[k][l] == _empty && !m.overC)
continue;
if((board[k][l] == -(piece*player) || board[k][l] == -(queen*player)) && !m.overC)
{
m.overC = Coords(k, l);
m.origOver = board[k][l];
m.newOver = _empty;
m.value = m.origOver;
}
if(board[k][l] == _empty && !(!m.overC))
{
m.newC = Coords(k, l);
m.origNew = _empty;
m.newNew = queen*player;
jumps = moveGenerator::jumpsQueens(player, Coords(k, l), board);
jumps.push_front(m);
return jumps;
}
}
a takhle vlastně projdu všechny směry (obdobně), problém je v tom return, budu muset nějak projít až na konec, myslíte že by pomohlo vyhodit to až za ten vnější if?
#2 liborb
Obyčejné posouvání po desce jsem už dodělal :), ale u skákání jsem se zase zasekl, hodnocení tahů si pro každý skok ukládám do struktury tahu a pak si to sečtu, když je tah vícenásobný (aspoň to tak dělám u obyčejných figurek).
Když jsem to napsal tak aby se mi negenerovali vícenásobné tahy tak mi to funguje, ale když jsem to začal přepisovat na rekurzi tak se mi správně vygeneruje první skok, ale figurka jakoby dopadne hned za nepřítele atd. a pak se rekurze samozřejmě ukončí, ale nedaří se mi to napsat tak aby se prošlo např. až na konec diagonály.
Ahoj, mohly by mi někdo poradit jak by se daly elegantně vygenerovat všechny možné skoky v dámě pro povýšené kameny? mám už skoky pro obyčejné kameny, ale u povýšených pořád tápu, zkoušel jsem to rekurzí, ale nikdy mi to nevygenerovalo všechny (třeba když v pravidlech je že dáma může doskočit libovolně daleko za soupeřovy figurku, tak mě se podařilo vygenerovat jen když dopadne hned za soupeřovu figurku).
Později vložím i kód co mě už napadlo
Díky
PS jedná se o frískou dámu