Dans un jeu d'echecs on peut utiliser une méthode appelée les rotating bitboards. Le principe est de considérer l'échiquier comme un nombre sur 64 bits. 1 bit par case.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
A8 B8 C8 D8 E8 F8 G8 H8
A7 B7 C7 D7 E7 F7 G7 H7
A6 B6 C6 D6 E6 F6 G6 H6
A5 B5 C5 D5 E5 F5 G5 H5
A4 B4 C4 D4 E4 F4 G4 H4
A3 B3 C3 D3 E3 F3 G3 H3
A2 B2 C2 D2 E2 F2 G2 H2
A1 B1 C1 D1 E1 F1 G1 H1
A1 étant le bit 0, B1 le bit 1, C1 le bit 2 etc...

Jusqu'ici pas de problème, mais j'ai besoin de connaitre les algos permettant de réaliser des rotations de +45, -45 et +90 degrés sur ce nombre.

Exemple sur un nombre de 4 bits :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
3210
 
2 3
0 1
devient après une rotation de +45° :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
3120
 
1 3
0 2
-45° :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
2301
 
3 2
1 0
+90° :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
1302
 
3 1
2 0
Des idées ?