오목 인공지능 웹 프로젝트 문서 GitHub

이 문서는 백엔드 Flask 서버가 제공하는 REST API 엔드포인트를 설명합니다.


🎮 1. POST /start-game

  • 설명: 새로운 게임을 생성하고, 첫 수를 반환합니다.
  • 요청 본문 예시 (JSON):
    {
    "ai_strategy": "minimax",
    "starter": "user"
    }
    
  • 응답 예시:
    {
    "game_id": 1,
    "board": [["", "", ...]],
    "current_player": "user"
    }
    

⚫ 2. POST /move/{strategy}

  • 설명: 사용자가 착수한 후, AI 수를 포함해 다음 상태를 반환합니다.
  • 경로 변수:
    • {strategy}: 선택한 AI 전략 이름 (random, minimax, cnn, user 등)
  • 요청 본문 예시:
    {
    "game_id": 1,
    "row": 10,
    "col": 11,
    "player": "user"
    }
    
  • 응답 예시:
    {
    "board": [["", "", ...]],
    "winner": null,
    "next_player": "ai"
    }
    

🤖 3. GET /contributions

  • 설명: 사용자 정의로 업로드된 AI 전략 목록을 조회합니다.
  • 응답 예시:
    [
    "my_custom_ai_1.py",
    "deep_player.py"
    ]
    

⚠️ 에러 응답 예시

{
  "error": "Invalid move",
  "detail": "Position already occupied"
}

API 요청은 모두 JSON 형식으로 이루어지며, 응답도 JSON으로 반환됩니다.