Skip to content

AlphaMakerX/alpha-game-poker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Alpha Poker - 斗地主

一款基于 Web 的多人在线斗地主游戏。支持创建房间、AI 电脑对手、实时对战。

技术栈

层级 技术
前端框架 Next.js (App Router)
语言 TypeScript
2D 渲染 Phaser
后端 API Next.js API Routes + WebSocket
ORM Drizzle ORM
数据库 PostgreSQL

游戏规则

  • 经典三人斗地主
  • 54 张牌(含大小王),每人 17 张,3 张底牌归地主
  • 叫地主 → 出牌 → 判定胜负
  • 支持:单张、对子、三带一/二、顺子、连对、飞机、炸弹、火箭等标准牌型

项目结构(规划)

alpha-game-poker/
├── src/
│   ├── app/                  # Next.js 页面
│   │   ├── page.tsx          # 首页(大厅)
│   │   ├── room/[id]/        # 房间页面
│   │   └── api/              # API Routes
│   │       ├── room/         # 房间 CRUD
│   │       └── ws/           # WebSocket 处理
│   ├── game/                 # 游戏核心逻辑(纯 TS,不依赖框架)
│   │   ├── deck.ts           # 牌组:洗牌、发牌
│   │   ├── hand.ts           # 牌型识别与比较
│   │   ├── engine.ts         # 游戏流程状态机
│   │   ├── ai.ts             # AI 出牌策略
│   │   └── types.ts          # 类型定义
│   ├── phaser/               # Phaser 场景与渲染
│   │   ├── scenes/           # 游戏场景
│   │   └── objects/          # 牌面、玩家等游戏对象
│   ├── db/                   # Drizzle schema & 迁移
│   │   ├── schema.ts
│   │   └── migrate.ts
│   └── lib/                  # 工具函数
├── public/                   # 静态资源(牌面图片等)
├── drizzle.config.ts
├── package.json
└── tsconfig.json

快速开始

# 安装依赖
pnpm install

# 配置数据库
cp .env.example .env
# 编辑 .env 填入 PostgreSQL 连接串

# 数据库迁移
pnpm db:migrate

# 启动开发服务器
pnpm dev

开发计划

详见 PLAN.md | Phase 1 计划 | Phase 1 设计文档

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors