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.
A1 étant le bit 0, B1 le bit 1, C1 le bit 2 etc...
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
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 :
devient après une rotation de +45° :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 3210 2 3 0 1
-45° :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 3120 1 3 0 2
+90° :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 2301 3 2 1 0
Des idées ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 1302 3 1 2 0
Partager