{"id":49069457,"url":"https://github.com/unix2dos/pirate-adventure-chess","last_synced_at":"2026-04-20T06:34:51.513Z","repository":{"id":346270404,"uuid":"1188787297","full_name":"unix2dos/pirate-adventure-chess","owner":"unix2dos","description":"Child-friendly pirate adventure board game with animated dice, step-by-step movement, and playful Web Audio feedback.","archived":false,"fork":false,"pushed_at":"2026-03-31T06:25:35.000Z","size":14878,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-31T08:40:37.303Z","etag":null,"topics":["board-game","html5-game","kids-game","local-multiplayer","party-game","pirate","vite","web-audio"],"latest_commit_sha":null,"homepage":"https://chess.liuvv.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unix2dos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-22T15:30:56.000Z","updated_at":"2026-03-31T06:25:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/unix2dos/pirate-adventure-chess","commit_stats":null,"previous_names":["unix2dos/pirate-adventure-chess"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/unix2dos/pirate-adventure-chess","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unix2dos%2Fpirate-adventure-chess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unix2dos%2Fpirate-adventure-chess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unix2dos%2Fpirate-adventure-chess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unix2dos%2Fpirate-adventure-chess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unix2dos","download_url":"https://codeload.github.com/unix2dos/pirate-adventure-chess/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unix2dos%2Fpirate-adventure-chess/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32036612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["board-game","html5-game","kids-game","local-multiplayer","party-game","pirate","vite","web-audio"],"created_at":"2026-04-20T06:34:51.056Z","updated_at":"2026-04-20T06:34:51.507Z","avatar_url":"https://github.com/unix2dos.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pirate Adventure Chess\n\n一个面向亲子和本地同屏场景的海盗冒险棋盘游戏。  \n现在这版已经不是单文件 demo，而是基于 `Vite + ES Modules` 拆分后的可继续演进版本，重点做了更像实体棋盘的盘面、逐格移动演出、掷骰手感和程序化音效。\n\n## What It Is\n\n- `2-4` 人本地同屏游玩\n- 支持 `AI` 补位\n- 儿童向卡通海盗冒险主题\n- 大棋盘主舞台，弱化右侧信息栏\n- 掷骰后会有 `rolling → moving → landing` 的完整回合演出\n- 使用 `Web Audio API` 做轻量交互音效和静音控制\n\n## Current Experience\n\n- 开局页可选择人数、船长名字和 AI\n- 对局页以长画幅棋盘为核心\n- 棋盘上有 `1-100` 格编号、事件贴纸、中心终点岛\n- 事件会触发独立 overlay\n- 胜利后进入结算页，可直接再来一局\n\n## Tech Stack\n\n- `Vite`\n- 原生 `ES Modules`\n- 原生 `CSS`\n- `Canvas` + DOM 混合渲染\n- `Vitest` + `jsdom`\n- `Web Audio API`\n\n## Project Structure\n\n```text\nsrc/\n  app/       scene 切换、回合时序、启动入口\n  audio/     音频引擎与声音预设\n  core/      玩家、棋盘数据、事件、回合规则\n  render/    棋盘渲染与动画层\n  ui/        开局页、HUD、事件层、结算页\n  styles/    基础、布局、组件、场景、动画样式\ntests/\n  app/\n  audio/\n  core/\n  render/\n  ui/\n```\n\n## Local Development\n\n```bash\nnpm install\nnpm run dev\n```\n\n打开本地地址后直接点 `开始冒险` 即可进入一局。\n\n## Scripts\n\n```bash\nnpm run dev\nnpm run build\nnpm test\n```\n\n## Cloudflare Pages Auto Deploy\n\n仓库现在包含了 [`.github/workflows/deploy-cloudflare-pages.yml`](.github/workflows/deploy-cloudflare-pages.yml)，推送到 `main` 会触发一次 Cloudflare Pages 部署。\n\n要让它真正生效，还需要在 GitHub 仓库里补这两个 `Actions secrets`：\n\n- `CLOUDFLARE_API_TOKEN`\n- `CLOUDFLARE_ACCOUNT_ID`\n\n推荐在 Cloudflare 中先创建一个 Pages 项目，项目名用 `pirate-adventure-chess`。  \n如果你已经有现成项目，但名字不同，把 workflow 里的 `CLOUDFLARE_PAGES_PROJECT_NAME` 改成实际项目名即可。\n\n最短接线步骤：\n\n```text\n1. Cloudflare Dashboard -\u003e Workers \u0026 Pages -\u003e Create application -\u003e Pages -\u003e 先创建项目\n2. GitHub Repo -\u003e Settings -\u003e Secrets and variables -\u003e Actions -\u003e 新增上面的两个 secrets\n3. push 到 main，GitHub Actions 会自动 build 并部署 dist/ 到 Cloudflare Pages\n```\n\n## Design Direction\n\n这版的设计目标不是“网页上的功能样机”，而是：\n\n- 盘面像一张可以玩的儿童冒险棋盘\n- 右下角骰子是主交互\n- 每一步移动都能被看见\n- 每一次关键动作都能被听见\n\n## Notes\n\n- 当前重点是桌面端体验，移动端可玩但还没有做到专门打磨\n- 音效默认开启，可以在对局页右下角用 `🔊 / 🔇` 切换\n- 现在的声音以程序化交互音为主，还可以继续补高光事件和环境层\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funix2dos%2Fpirate-adventure-chess","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funix2dos%2Fpirate-adventure-chess","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funix2dos%2Fpirate-adventure-chess/lists"}