https://www.mediafire.com/file/lvubqy555p5qar9/Stockfish_17_win32_engines.7z/file
https://stockfishchess.org/download/
----------------------
import chess
import subprocess
import sys
def ask_stockfish(board, stockfish_path, move_time_ms=1000):
"""Közvetlen UCI kommunikáció a Stockfish-sel szálkezelés nélkül."""
process = subprocess.Popen(
stockfish_path,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
)
process.stdin.write("uci\n")
process.stdin.write("isready\n")
process.stdin.write(f"position fen {board.fen()}\n")
process.stdin.write(f"go movetime {move_time_ms}\n")
process.stdin.flush()
best_move = None
while True:
line = process.stdout.readline().strip()
if line.startswith("bestmove"):
best_move = line.split()[1]
break
process.terminate()
return best_move
def main():
stockfish_path = "IDE_MÁSOLD_A_STOCKFISH_FÁJL_ÚTVONALÁT"
board = chess.Board()
print("Sakk MI játék indítása (Biztonságos, szálmentes mód)!")
print("A lépéseket SAN formátumban add meg (pl.: e4, Nf3, d5).")
print("A játékból a 'quit' beírásával léphetsz ki.\n")
human_is_white = True
while not board.is_game_over():
print("-" * 40)
print(board)
print("-" * 40)
if board.turn == human_is_white:
move_input = input("Te lépsz: ").strip()
if move_input.lower() == 'quit':
break
try:
move = board.parse_san(move_input) if len(move_input) < 5 else board.parse_uci(move_input)
if move in board.legal_moves:
board.push(move)
else:
print("Szabálytalan lépés! Próbáld újra.")
except ValueError:
print("Érvénytelen formátum! Használj e4-et vagy e2e4-et.")
else:
print("Stockfish gondolkodik...")
try:
ai_move_str = ask_stockfish(board, stockfish_path, move_time_ms=1000)
move = chess.Move.from_uci(ai_move_str)
print(f"Stockfish lépése: {move}")
board.push(move)
except Exception as e:
print(f"\nHiba történt a Stockfish hívása közben: {e}")
print("Ellenőrizd, hogy a Stockfish útvonala pontos-e!")
break
print("\n" + "="*10 + " JÁTÉK VÉGE " + "="*10)
print(board)
print(f"Eredmény: {board.result()}")
if __name__ == "__main__":
main()
---------------
Válaszok;
Sakk MI jatek inditasa (Biztonsogos, szalmentes mod)!A lepeseket SAN formatumban add meg (pl.: e4, Nf3, d5).
A jatekbol a 'quit' beirasaval lephetsz ki.
----------------------------------------
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R N B Q K B N R
----------------------------------------
Te lepsz:
# Predikció (Mit tippel most a MI?)
----------------------------------------
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R N B Q K B N R
----------------------------------------
Te lepsz: e4
----------------------------------------
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . P . . .
. . . . . . . .
P P P P . P P P
R N B Q K B N R
----------------------------------------
Stockfish gondolkodik...
----------------------------------------
r n b q k b n r
p p p p p p p
. . . . . . . .
. . . . p . . .
. . . . p . . .
. . . . . . . .
P P P P P P P
R N B Q K B N R
----------------------------------------
Te lepsz: e4
----------------------------------------
r n b q k b n r
p p p p p p p
. . . . . . . .
. . . p p . . .
. . . p P . . .
. . . . . . . .
P P P . P P P
R N B Q K B N R
----------------------------------------
Stockfish gondolkodik...
r n b q k b n r
p p p p p p p
. . . . . . . .
. . . . p . . .
. . . p p . . .
. . . . . . . .
P P P . P P P
R N B Q K B N R
Eredmeny: *
** Process exited - Return Code: 0 **
========== JaTeK VeGE ==========
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . p p . . .
. . . p p . . .
. . . . . N . .
P P P P . P P P
R N B Q K B R
Eredmeny: *
Nincsenek megjegyzések:
Megjegyzés küldése