ajout de commentaires
This commit is contained in:
26
Main.ipynb
26
Main.ipynb
@@ -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() "
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user