Pagini recente » Diferente pentru concursuri intre reviziile 181 si 164 | Diferente pentru concursuri intre reviziile 43 si 181 | Diferente pentru planificare/sedinta-20090112 intre reviziile 34 si 44 | Istoria paginii planificare/sponsori | Diferente pentru tabele-hash-prezentare-detaliata intre reviziile 15 si 14
Nu exista diferente intre titluri.
Diferente intre continut:
In incheiere, prezentam un exemplu de functie de dispersie pentru cazul tablei de sah.
== code(c) |
const int M = 9973; // Numarul de "intrari".
const int M = 9973; // numarul de "intrari"
typedef struct {
char b_T[8][8]; // Tabla de joc, cu 0 <= T[i][j] <= 12.
char b_CastleW, b_CastleB; // Ultimii doi biti ai lui b_CastleW
// indica daca albul are dreptul de a
// efectua rocada mare, respectiv pe cea
// mica. Analog pentru b_CastleB.
char b_Side; // 0 sau 1, dupa cum la mutare este albul.
// sau negrul.
char b_EP; // 0..8, indicand coloana (0..7) pe care
// partea la mutare poate efectua o
// captura "en passant". 8 indica ca nu
// exista aceasta posibilitate.
int b_NMoves; // Numarul de mutari efectuate.
char b_T[8][8];
// tabla de joc, cu 0 <= T[i][j] <= 12
char b_CastleW, b_CastleB;
// ultimii doi biti ai lui b_CastleW
// indica daca albul are dreptul de a
// efectua rocada mare, respectiv pe cea
// mica. Analog pentru b_CastleB
char b_Side;
// 0 sau 1, dupa cum la mutare este albul
// sau negrul
char b_EP;
// 0..8, indicand coloana (0..7) pe care
// partea la mutare poate efectua o
// captura "en passant". 8 indica ca nu
// exista aceasta posibilitate
int b_NMoves;
// Numarul de mutari efectuate
} Board;
Board B;
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.