Skip to content

Commit dc69adc

Browse files
committed
feat: Add engine parameter to Server class and update depth setting logic
1 parent 25a8b17 commit dc69adc

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

draughts/server/server.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@ def __init__(
3232
get_best_move_method: Callable = lambda board: np.random.choice(
3333
list(board.legal_moves)
3434
),
35+
engine=None,
3536
):
3637
self.get_best_move_method = get_best_move_method
38+
self.engine = engine
3739
self.board = board
3840
self.engine_depth = 6
3941
self.play_with_computer = False
@@ -79,6 +81,8 @@ async def load_fen(self, request: Request) -> PositionResponse:
7981
def set_depth(self, depth: int) -> dict:
8082
depth = max(1, min(10, int(depth)))
8183
self.engine_depth = depth
84+
if self.engine is not None and hasattr(self.engine, 'depth'):
85+
self.engine.depth = depth
8286
return {"depth": self.engine_depth}
8387

8488
def set_play_mode(self, mode: str) -> dict:
@@ -170,5 +174,5 @@ def run(self, **kwargs):
170174

171175
engine = AlphaBetaEngine(depth=6)
172176
board = get_board("standard")
173-
server = Server(board=board, get_best_move_method=engine.get_best_move)
177+
server = Server(board=board, get_best_move_method=engine.get_best_move, engine=engine)
174178
server.run()

tools/depth_benchmark.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ def main():
7474
print()
7575
print(f"{'Depth':>6} | {'Avg Time':>12} | {'Avg Nodes':>12} | {'Total Time':>12}")
7676
print("-" * 70)
77+
sys.stdout.flush()
7778

7879
results = []
7980

@@ -94,6 +95,7 @@ def main():
9495
total_str = f"{total_time/60:.1f} min"
9596

9697
print(f"{depth:>6} | {time_str:>12} | {result['avg_nodes']:>12,} | {total_str:>12}")
98+
sys.stdout.flush()
9799

98100
# Stop if taking too long (> 30s per move on average)
99101
if avg_time > 30000:

0 commit comments

Comments
 (0)