reversi_project/
├── backend/
│ ├── app.py
│ ├── ai/
│ │ ├── __init__.py
│ │ ├── mcts.py
│ │ ├── alphabeta.py
│ │ └── roxanne_eval.py
│ └── game_logic.py
├── templates/
│ └── index.html
├── static/
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── game.js
├── requirements.txt
└── README.md
- Python 3.8+
- Flask
- Flask-SocketIO
- eventlet 或 gevent
在项目根目录下执行:
pip install -r requirements.txt
Flask==2.2.5
Flask-SocketIO==5.3.2
eventlet==0.33.3
python backend/app.py
浏览器打开 http://<服务器IP>:5000 即可访问。
- 填写用户名:在主页可输入用户名,默认 anonymous。
- 房间列表:主页下方实时列出所有可加入的房间及玩家数、模式(人机/联机)。
- 创建房间(人机模式):仅需一人即可开始,AI 作为白子。
- 创建房间(联机模式):等待第二人加入后开始。
- 加入房间:输入房间号和用户名,加入后双方自动开始对战。
- 实时对战:落子后前端 Canvas 画面实时更新。
- 人机对战:黑子落子后 AI 自动计算落子并更新棋盘。
- 建议在 Linux 服务器上安装 Python 3,使用
screen或tmux后台运行。 - 若需 HTTPS,可在 Nginx 做反向代理,将请求转发到
localhost:5000.