AX 爱鲜报

斗地主 fight-the-landlord

基于 Go 语言实现的公平斗地主游戏,主打真随机发牌、无控牌算法,支持联网对战、断线重连与 DouZero 强化学习机器人,可在终端直接游玩。

爱鲜报评分

0.0

0 人评分

644

星数

是

中文

Go

主语言

是

活跃

2

贡献者

人工分析

EDITORIAL

推荐理由

项目用 Go 从零实现完整斗地主规则与联网对战,代码结构清晰,适合作为网络编程与游戏逻辑的实战参考。它旗帜鲜明地反对商业游戏中的算法控牌,理念纯粹,并接入快手开源的 DouZero 强化学习 AI 作为对手,兼具趣味与技术深度。终端界面 + Docker 一键部署,上手门槛低。

适用场景

  • 学习 Go 网络编程与并发模型
  • 研究斗地主规则引擎与牌型判定
  • 体验强化学习 AI 对战
  • 自建私人斗地主服务器与朋友联机
  • 终端命令行小游戏娱乐

优点

  • 真随机发牌,无控牌算法,公平透明
  • 支持联网对战、断线重连与房间匹配
  • 集成 DouZero 深度强化学习机器人,策略接近真人
  • 提供 Docker Compose 部署与一键安装脚本,开箱即用
  • GPL-3.0 开源,代码可审计可二次开发

缺点

  • 终端字符界面,无图形化 UI,视觉表现有限
  • Windows 10 自带终端不支持彩色 emoji,需换用 Windows Terminal
  • 依赖 Redis 与 Python 环境运行 DouZero 机器人,本地开发链路较长
  • 玩法单一,仅限斗地主一种牌类游戏
上手难度 进阶

项目简介

斗地主 fight-the-landlord 是一个用 Go 语言从零实现的斗地主游戏,主打「无控牌、真公平」。作者在项目中明确表达了对某些商业斗地主游戏算法操控牌局、诱导充值行为的不满,因此希望用开源方式还原一个纯粹的斗地主体验:每局洗牌完全随机,匹配不看胜率与段位,代码全部公开可审计。

核心特性

  • 真随机发牌:每局洗牌完全随机,不存在任何控牌或平衡算法。
  • 公平匹配:不考虑胜率、段位、游戏时长,纯随机或房间匹配。
  • 联网对战:支持多人在线对局,并具备断线重连能力。
  • 智能机器人:接入快手开源的 DouZero 深度强化学习 AI,出牌策略比常见 LLM 更合理,能主动组合复杂牌型、农民间配合、精准顶牌拆牌。
  • 无内购无广告:纯粹的技巧与运气博弈。

快速开始

客户端安装

macOS / Linux 可通过安装脚本一键安装:

curl -fsSL https://raw.githubusercontent.com/palemoky/fight-the-landlord/main/install.sh | bash

Windows 用户可使用 PowerShell:

irm https://raw.githubusercontent.com/palemoky/fight-the-landlord/main/install.ps1 | iex

安装完成后运行 ddz 即可启动客户端。

Windows 10 用户注意:界面使用 emoji 图标,传统 cmd / PowerShell 窗口(conhost)渲染异常,建议改用 Windows Terminal。

服务端部署

推荐使用 Docker Compose:

mkdir fight-the-landlord && cd fight-the-landlord
curl -fsSL https://raw.githubusercontent.com/palemoky/fight-the-landlord/main/docker-compose.yml -o docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/palemoky/fight-the-landlord/main/.env.example -o .env
docker compose up -d

本地开发

需要先启动 Redis,再依次运行 DouZero 机器人、服务端与客户端:

redis-server
cd douzero && uv sync && uv run python server.py
go run ./cmd/server
go run ./cmd/client

游戏规则与操作

规则与常见斗地主一致:叫地主后,两位农民配合击败地主,地主则阻击农民,先出完手牌的一方获胜。支持单张、对子、三带一、顺子、连对、飞机、四带二、炸弹、王炸等完整牌型。

常用按键(不区分大小写):

按键 功能
M 开关音乐(默认静音)
C 开关记牌器(默认关闭)
P Pass
H 帮助
B 小王
R 大王
Esc 返回上一页

适用人群

适合想学习 Go 网络编程与并发模型的开发者、对斗地主规则引擎感兴趣的人,以及希望自建私人服务器与朋友联机、或体验强化学习 AI 对战的玩家。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。