File size: 1,604 Bytes
53b9b08
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import pygame
from pathlib import Path

# Base paths
PROJECT_ROOT = Path(__file__).parent.parent  # Chess-AI-Project/
SRC_DIR = PROJECT_ROOT / "src"
ASSETS_DIR = PROJECT_ROOT / "assets"
CHESS_ML_DIR = SRC_DIR / "chess_ML"
MODELS_DIR = CHESS_ML_DIR / "models"
DATA_DIR = CHESS_ML_DIR / "data"

# Kích thước màn hình
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 640
SQUARE_SIZE = SCREEN_WIDTH // 8

# Màu sắc (RGB)
COLORS = {
    "white": (238, 238, 210),
    "black": (118, 150, 86),
    "highlight": (246, 246, 130, 100),  # Màu vàng nhạt, có alpha
    "valid_move": (173, 216, 230, 120),  # Xanh nhạt cho nước đi hợp lệ
    "capture_move": (255, 99, 71, 120),  # Đỏ cho nước đi ăn quân
    "game_over_bg": (0, 0, 0, 180),     # Nền đen trong suốt cho game over
    "game_over_text": (255, 255, 255),  # Trắng cho text
    "button_bg": (70, 130, 180),        # Xanh dương cho nút
    "button_hover": (100, 149, 237)     # Xanh nhạt hơn khi hover
}

# Đường dẫn tài nguyên
ASSET_PATH = "assets/"

# Trọng số chuẩn (dùng cho AI Minimax)
STANDARD_WEIGHTS = {
    "pawn": 10,
    "knight": 30,
    "bishop": 30,
    "rook": 50,
    "queen": 90,
    "king": 900
}

# Độ sâu tìm kiếm khi CHƠI
# (Độ sâu khi HUẤN LUYỆN sẽ được định nghĩa trong train_ai.py)
PLAY_SEARCH_DEPTH = 1

# Cấu hình cho AI Battle
BATTLE_SEARCH_DEPTH = 2  # Độ sâu cho battle (nhanh hơn)
BATTLE_TIME_LIMIT = 10   # Giới hạn thời gian mỗi nước đi (giây)
MAX_MOVES_PER_GAME = 200 # Giới hạn số nước đi mỗi ván (tránh vô hạn)