跳到正文

正在自动登录…

← 返回项目列表

zklmiao/CodeWar

编程对战

网页端双人Python编程对战游戏,通过解题速度决定战斗效果。玩家在5×5竞技场控制角色,完成题目以攻击、移动、防御或释放技能。适合编程学习者以趣味方式练习解题能力,也适合朋友间对战。

AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/29 03:31:11 · 查看原文

普通Go应用与服务
累计 Stars
55
当前热度
未达当前门槛
仓库创建时间
打开 GitHub ↗

选用指南

AI 根据 README 整理 · 2026/10/29 03:31:11

适用场景

适合本地双人热座对战或人机练习,包含教程模式,用于学习游戏机制和提升Python解题速度。

查看 README 依据
- **难度是风险回报**:开局自选题型、难度上限与抽题策略(爬坡 / 均匀);上限越高,全局伤害与结算奖励系数越高。 - **错误有代价**:提交错误锁定 5 秒并自损 3 HP;一道题全部用例通过才生效。 - **胜负**:HP 归零 KO;10 回合打满按剩余 HP 裁决;同时归零平局,ELO 双方 +0。 ### 模式 - **本机热座 1v1** —— 两个浏览器窗口各控一方;双方账号登录时结算 ELO。 - **人机练习** —— 简单 / 普通 / 困难三档 Bot,走与真人相同的 `SubmissionPort`;不记战绩。 - **4 关交互式教程** —— 读题作答 → 走位闪避 → 防御与技能冷却 → 难度收益;完成解锁 PvP 入口,进度随账号保存。 - **账号与战绩** —— 注册登录、历史对局、胜率与 ELO 跨会话保留。 > 在线排位 1v1 尚未实现:事件流同步协议(ADR-0002)与认输握手已就绪,匹配与在线同步归 08 号票。 ## 对局实况 | 入口:题型 / 难度 / 抽题策略 + 职业盲选 | 教程:每关只教一个机制,实操过关 | |:---:|:---:|
使用方式

通过Docker Compose一键启动全栈应用,在浏览器访问http://localhost:3001进行游戏。也支持本地开发模式,分别启动数据库、judge服务、Go服务和客户端开发服务器。

查看 README 依据
## 快速开始 ### Docker Compose(推荐,一键起全栈) ```bash docker compose -f deploy/docker-compose.yml up -d --build ``` 打开 **http://localhost:3001** —— app、judge 沙箱与 PostgreSQL 一并启动,账号、战绩与 ELO 可直接使用。首次构建会拉取 `python:3.12-slim` 沙箱镜像,需要本机 Docker daemon 运行(判题容器经 `docker.sock` 创建)。 上手路径: - **单窗口最快**:入口页选职业 → 开始人机练习(一局 10 回合)。 - **热座对战**:窗口 A 点「以 P1 接入」,窗口 B 打开同地址点「以 P2 接入」。 - **教程与 ELO**:注册登录 → 完成 4 关教程 → PvP 解锁;两个账号登录对局即结算 ELO。 ### 本地开发 ```bash # 1) 数据库(宿主 25432 → 容器 5432) docker compose -f deploy/docker-compose.yml up -d postgres # 2) judge 服务(需要 Docker daemon,沙箱经 docker.sock 创建)
cd judge && pip install -r requirements.txt && python -m judgesvc.server # 3) Go 服务(:3001) cd server DATABASE_URL='postgres://codewar:codewar-dev@localhost:25432/codewar?sslmode=disable' \ go run ./cmd/codewar # 4) 客户端 dev server(:5173,已代理 /ws 与 /api 到 :3001) pnpm -C client dev ``` 开发约定(worktree 并行、端口规范、票据流程)见 [AGENTS.md](AGENTS.md)。 ## 测试 ```bash # Go:全包竞态门控 cd server && go test -race ./... # Go:真实 Postgres 集成测试(按包独立测试库,自动创建) cd server && CODEWAR_TEST_DSN='postgres://codewar:codewar-dev@localhost:25432/codewar_test?sslmode=disable' go test ./... # Judge:沙箱与判题契约
部署要求

需要Docker daemon运行,用于构建判题沙箱容器。技术栈包括Go 1.26、Vue 3.5、Python 3.12、PostgreSQL 16和Docker Compose。

查看 README 依据
![Go 1.26](https://img.shields.io/badge/Go_1.26-00ADD8?logo=go&logoColor=white) ![Vue 3.5](https://img.shields.io/badge/Vue_3.5-4FC08D?logo=vuedotjs&logoColor=white) ![TypeScript 5](https://img.shields.io/badge/TypeScript_5-3178C6?logo=typescript&logoColor=white) ![Python 3.12](https://img.shields.io/badge/Python_3.12-3776AB?logo=python&logoColor=white) ![PostgreSQL 16](https://img.shields.io/badge/PostgreSQL_16-4169E1?logo=postgresql&logoColor=white) ![Docker Compose](https://img.shields.io/badge/Docker_Compose-2496ED?logo=docker&logoColor=white)
## 快速开始 ### Docker Compose(推荐,一键起全栈) ```bash docker compose -f deploy/docker-compose.yml up -d --build ``` 打开 **http://localhost:3001** —— app、judge 沙箱与 PostgreSQL 一并启动,账号、战绩与 ELO 可直接使用。首次构建会拉取 `python:3.12-slim` 沙箱镜像,需要本机 Docker daemon 运行(判题容器经 `docker.sock` 创建)。 上手路径: - **单窗口最快**:入口页选职业 → 开始人机练习(一局 10 回合)。 - **热座对战**:窗口 A 点「以 P1 接入」,窗口 B 打开同地址点「以 P2 接入」。 - **教程与 ELO**:注册登录 → 完成 4 关教程 → PvP 解锁;两个账号登录对局即结算 ELO。 ### 本地开发 ```bash # 1) 数据库(宿主 25432 → 容器 5432) docker compose -f deploy/docker-compose.yml up -d postgres # 2) judge 服务(需要 Docker daemon,沙箱经 docker.sock 创建)
已知限制

在线排位1v1尚未实现,目前仅支持本地热座和人机练习。游戏采用源码可见模式,非OSI开源,商用需授权。

查看 README 依据
- **难度是风险回报**:开局自选题型、难度上限与抽题策略(爬坡 / 均匀);上限越高,全局伤害与结算奖励系数越高。 - **错误有代价**:提交错误锁定 5 秒并自损 3 HP;一道题全部用例通过才生效。 - **胜负**:HP 归零 KO;10 回合打满按剩余 HP 裁决;同时归零平局,ELO 双方 +0。 ### 模式 - **本机热座 1v1** —— 两个浏览器窗口各控一方;双方账号登录时结算 ELO。 - **人机练习** —— 简单 / 普通 / 困难三档 Bot,走与真人相同的 `SubmissionPort`;不记战绩。 - **4 关交互式教程** —— 读题作答 → 走位闪避 → 防御与技能冷却 → 难度收益;完成解锁 PvP 入口,进度随账号保存。 - **账号与战绩** —— 注册登录、历史对局、胜率与 ELO 跨会话保留。 > 在线排位 1v1 尚未实现:事件流同步协议(ADR-0002)与认输握手已就绪,匹配与在线同步归 08 号票。 ## 对局实况 | 入口:题型 / 难度 / 抽题策略 + 职业盲选 | 教程:每关只教一个机制,实操过关 | |:---:|:---:|
- [ ] 视觉打磨:SVG 图标、动效落地、职业色血条、难度徽标(25) - [ ] 对局回放与错题本、排行榜、CI 门控补全 ## 许可 本项目采用 **源码可见(source-available)** 模式,不是 OSI 开源项目: | 范围 | 许可 | |---|---| | 代码(`client/` `server/` `judge/` `proto/` `db/` `deploy/` `scripts/`,含题库模板) | [PolyForm Noncommercial 1.0.0](LICENSE) —— 非商用自由使用、修改与分发;含专利授权;须保留 [NOTICE](NOTICE) 署名 | | 内容(`docs/` `design/` `.scratch/` 与项目文档) | [CC BY-NC-SA 4.0](LICENSE-CONTENT) —— 署名、非商用、相同方式共享 | - **商用需授权**:任何商业用途(商业产品集成、付费服务、商业分发)须获得作者书面许可,联系 <hysytess@gmail.com>。 - **署名**:保留 `NOTICE` 中的 `Required Notice: Copyright (c) 2026 zklmiao` 行;内容转载须注明「CodeWar · 代码战争 / zklmiao」及许可链接。

README

正在加载 README…

收录信息

仓库创建时间
2026/10/28 11:49:23
首次达标收录
2026/10/29 03:26:24
统计更新时间
2026/10/29 19:16:40

按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。确认只有 README 及辅助文件的仓库会停止公开。

模型评估

普通加权总分 3.7 / 5

新颖度
3.7
实用价值
3.0
成熟度
4.5
实质含量
3.9

由 Jev 模型根据仓库描述与 README 评估,2026/10/29 03:26:24 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。

仓库信息

最近推送
2026/10/28 11:51:40
许可证标识
NOASSERTION
Fork 数
0
当前状态
未归档

收录记录

按创建时长与累计 Stars 首次收录:小火
首次发现项目