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)