ajout de commentaires

This commit is contained in:
Amaël Kesteman
2025-11-19 11:37:40 +01:00
parent 3c0ca9ab64
commit e83d4869a8

View File

@@ -42,7 +42,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 16, "execution_count": null,
"id": "338f123d", "id": "338f123d",
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
@@ -85,6 +85,7 @@
} }
], ],
"source": [ "source": [
"#Fonction pour prendre en main Redis\n",
"#Connect to Redis server\n", "#Connect to Redis server\n",
"\n", "\n",
"def do_this():\n", "def do_this():\n",
@@ -182,36 +183,35 @@
"\n", "\n",
" piece_map = {\"K\": chess.KING,\"Q\": chess.QUEEN,\"R\": chess.ROOK,\"B\": chess.BISHOP,\"N\": chess.KNIGHT,\"P\": chess.PAWN,}\n", " piece_map = {\"K\": chess.KING,\"Q\": chess.QUEEN,\"R\": chess.ROOK,\"B\": chess.BISHOP,\"N\": chess.KNIGHT,\"P\": chess.PAWN,}\n",
"\n", "\n",
" white_str, black_str = config.split(\"v\")\n", " white_str, black_str = config.split(\"v\") #Sépare la config entre les 2 couleurs\n",
"\n", "\n",
" board = chess.Board(None) # plateau vide\n", " board = chess.Board(None) # donne un plateau vide\n",
"\n", "\n",
" # Placer les pièces blanches\n", " # boucles pour placer les pièces sur le plateau\n",
" for p in white_str:\n", " for p in white_str:\n",
" piece = piece_map[p]\n", " piece = piece_map[p]\n",
" sq = random.choice([s for s in chess.SQUARES if board.piece_at(s) is None])\n", " sq = random.choice([s for s in chess.SQUARES if board.piece_at(s) is None]) #choisi une pièce et vérifie que il n'y a pas déjà une pièce dessus\n",
" board.set_piece_at(sq, chess.Piece(piece, chess.WHITE))\n", " board.set_piece_at(sq, chess.Piece(piece, chess.WHITE))\n",
"\n", "\n",
" # Placer les pièces noires\n",
" for p in black_str:\n", " for p in black_str:\n",
" piece = piece_map[p]\n", " piece = piece_map[p]\n",
" sq = random.choice([s for s in chess.SQUARES if board.piece_at(s) is None])\n", " sq = random.choice([s for s in chess.SQUARES if board.piece_at(s) is None])#choisi une pièce et vérifie que il n'y a pas déjà une pièce dessus\n",
" board.set_piece_at(sq, chess.Piece(piece, chess.BLACK))\n", " board.set_piece_at(sq, chess.Piece(piece, chess.BLACK))\n",
"\n", "\n",
" # désactive les règles des échecs.\n", " # désactive les règles des échecs.\n",
" board.castling_rights = 0\n", " board.castling_rights = 0\n",
" board.ep_square = None\n", " board.ep_square = None\n",
"\n", "\n",
" # Couleur aléatoire\n", " # Donne une couleur aléatoire pour savoir quelle couleur doit jouer le prochain coup.\n",
" board.turn = random.choice([chess.WHITE, chess.BLACK])\n", " board.turn = random.choice([chess.WHITE, chess.BLACK])\n",
"\n", "\n",
" # Vérifier que la position est légale\n", " # Vérifier que la position est légale pour \n",
" if not board.is_valid():\n", " if not board.is_valid():\n",
" return generate_board_from_config(config) # retry\n", " return generate_board_from_config(config) # regénère si la position n'est pas valide\n",
"\n", "\n",
" return board\n", " return board\n",
"\n", "\n",
"def add_tabblebase_to_redis():\n", "def add_tablebase_to_redis():\n",
" #Connect to Redis server\n", " #Connect to Redis server\n",
" redis_server = redis.Redis(host='localhost', port=6379, db=0)\n", " redis_server = redis.Redis(host='localhost', port=6379, db=0)\n",
" \n", " \n",
@@ -236,13 +236,13 @@
" wdl = tablebases.probe_wdl(position)\n", " wdl = tablebases.probe_wdl(position)\n",
" dtz = tablebases.probe_dtz(position)\n", " dtz = tablebases.probe_dtz(position)\n",
" redis_server.hset(fen, mapping={\"wdl\": wdl, \"dtz\": dtz}) \n", " redis_server.hset(fen, mapping={\"wdl\": wdl, \"dtz\": dtz}) \n",
" except (KeyError,chess.syzygy.MissingTableError):\n", " except (KeyError,chess.syzygy.MissingTableError): #vérifie que les positions générés appartiennent bien au table du projet seulement\n",
" continue \n", " continue \n",
" \n", " \n",
" print(\"Ajoute de toutes les positions des tablebases dans Redis terminé!\")\n", " print(\"Ajoute de toutes les positions des tablebases dans Redis terminé!\")\n",
"\n", "\n",
"if __name__ == \"__main__\":\n", "if __name__ == \"__main__\":\n",
" add_tabblebase_to_redis() " " add_tablebase_to_redis() "
] ]
}, },
{ {