
本文的目的
公开填字游戏网页使用的源代码。只有在展开文件时才会加载代码。
使用的工具
- Next.js 15、React 19、TypeScript:大厅、游戏房间、API
- node:sqlite:保存网格和输入记录
- Ollama 上的 gemma4:网格设计和出题。通过兼容 OpenAI 的 API 调用,所以可以换成其他模型。
- 谷歌新闻 RSS、韩语维基百科 API:时事头条和随机单词
- OpenSubtitles 韩语频率排名:单词等级
文件夹结构
- lib/puzzle.ts:难度设置、把网格转换为题目列表、标准检查
- lib/gridFill.ts:网格验证与校正、预先画好的网格、单词填充、单词连接式放置器
- lib/dynamicBank.ts:AI 网格设计、AI 出题、新闻与维基单词
- lib/words.ts、freqRanks.ts:词库和频率排名
- lib/db.ts:记录数据库、中途保存、清理空网格
- app/page.tsx、app/play/page.tsx:大厅和游戏房间
- app/api:新网格、记录保存、列表、继续解题 API
- components/CrosswordBoard.tsx:绘制网格
- scripts/text-agent.ts、ai-pipeline-test.ts:以文字形式测试生成器和 AI 流程的工具
运行时,把 .env.local.example 复制为 .env.local,并填入模型地址。没有模型时,只用词库和维基单词来生成网格。记录数据库、广告与部署脚本、服务器监控程序均未附上。
完整源代码
32 个文件 · 6,788 行 — 展开文件夹后点击文件即可加载代码。
项目根目录
.env.local.example
正在加载代码…
next.config.ts
正在加载代码…
package.json
正在加载代码…
tsconfig.json
正在加载代码…
app/
app/api/game/[code]/move/route.ts
正在加载代码…
app/api/game/[code]/route.ts
正在加载代码…
app/api/game/abandon/route.ts
正在加载代码…
app/api/game/list/route.ts
正在加载代码…
app/api/game/route.ts
正在加载代码…
app/api/puzzle/route.ts
正在加载代码…
app/globals.css
正在加载代码…
app/layout.tsx
正在加载代码…
app/page.module.css
正在加载代码…
app/page.tsx
正在加载代码…
app/play/page.tsx
正在加载代码…
app/play/play.module.css
正在加载代码…
components/
components/CrosswordBoard.module.css
正在加载代码…
components/CrosswordBoard.tsx
正在加载代码…
lib/
lib/db.ts
正在加载代码…
lib/dynamicBank.ts
正在加载代码…
lib/freqRanks.ts
正在加载代码…
lib/gameTypes.ts
正在加载代码…
lib/gridFill.ts
正在加载代码…
lib/guest.ts
正在加载代码…
lib/puzzle.ts
正在加载代码…
lib/recentWords.ts
正在加载代码…
lib/services.ts
正在加载代码…
lib/words.ts
正在加载代码…
scripts/
scripts/ai-pipeline-test.ts
正在加载代码…
scripts/dev-with-ts.mjs
正在加载代码…
scripts/text-agent.ts
正在加载代码…
types/
types/node-sqlite.d.ts
正在加载代码…
COMMENTS · CHAPTER 04
完整源代码与使用的工具 评论 0
还没有评论。阅读时有疑问或想补充的内容,欢迎留言。
发表评论前,请用 Google 开始并登记昵称和邮箱。
用 Google 开始