# doudizhu **Repository Path**: tedfang/doudizhu ## Basic Information - **Project Name**: doudizhu - **Description**: 斗地主 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 斗地主 Android 游戏 这是一个基于HTML原型开发的Android斗地主游戏。 ![游戏截图](image.png) ## 项目结构 ``` doudizhu/ ├── app/ │ ├── build.gradle │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/com/doudizhu/ │ │ ├── MainActivity.java │ │ ├── Card.java │ │ ├── Deck.java │ │ ├── CardType.java │ │ ├── Player.java │ │ └── GameController.java │ └── res/ │ ├── layout/ │ │ ├── activity_splash.xml │ │ ├── activity_menu.xml │ │ ├── activity_game.xml │ │ ├── activity_result.xml │ │ └── item_card.xml │ ├── values/ │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── drawable/ │ └── (各种背景和图标) ├── build.gradle ├── settings.gradle └── gradle.properties ``` ## 功能特性 - 完整的斗地主游戏逻辑 - 叫地主、抢地主机制 - 出牌规则验证 - 智能提示功能 - 倒计时系统 - 多倍数炸弹机制 - 游戏结算系统 ## 构建要求 - Android Studio Arctic Fox或更高版本 - JDK 8或更高版本 - Android SDK 24 (Android 7.0) 或更高版本 - Gradle 8.2.0 ## 构建步骤 ### 方法一:使用Android Studio 1. 打开Android Studio 2. 选择 "File" -> "Open" 3. 选择 `doudizhu` 文件夹 4. 等待Gradle同步完成 5. 点击 "Run" 按钮或按 Shift+F10 ### 方法二:使用命令行 1. 确保已安装Android SDK和配置好环境变量 2. 在项目根目录下执行: ```bash # Windows gradlew.bat assembleDebug # Linux/Mac ./gradlew assembleDebug ``` 3. 生成的APK文件位于:`app/build/outputs/apk/debug/app-debug.apk` ## 打包发布版本 ```bash # Windows gradlew.bat assembleRelease # Linux/Mac ./gradlew assembleRelease ``` 生成的APK文件位于:`app/build/outputs/apk/release/app-release-unsigned.apk` 需要使用签名工具对APK进行签名后才能发布。 ## 安装APK到设备 ### 通过USB安装 ```bash adb install app/build/outputs/apk/debug/app-debug.apk ``` ### 直接安装 将APK文件复制到Android设备上,使用文件管理器打开并安装。 ## 游戏规则 ### 基本规则 - 使用54张牌(包括大小王) - 三个玩家,每人17张牌,3张底牌 - 叫地主成功的玩家获得3张底牌 - 地主先出牌,其他两名玩家为农民 ### 牌型说明 - **单张**:任意一张牌 - **对子**:两张相同的牌 - **三张**:三张相同的牌 - **三带一**:三张相同的牌+一张单牌 - **三带二**:三张相同的牌+一对 - **顺子**:五张或更多连续的单牌(不包括2和王) - **连对**:三对或更多连续的对子 - **飞机**:两个或更多连续的三张 - **炸弹**:四张相同的牌 - **火箭**:大小王 ### 胜负判定 - 地主先出完牌,地主获胜 - 任一农民先出完牌,农民获胜 ## 开发说明 ### 核心类说明 - **MainActivity**:主活动,处理UI交互和游戏流程 - **Card**:卡牌类,定义卡牌的花色和点数 - **Deck**:牌堆类,负责洗牌和发牌 - **CardType**:牌型分析类,判断牌型和大小 - **Player**:玩家类,管理玩家的手牌和状态 - **GameController**:游戏控制器,管理游戏逻辑和状态 ### 扩展功能 当前版本为单机版,可以扩展以下功能: 1. **网络对战**:添加WebSocket或HTTP通信 2. **AI对手**:实现智能AI算法 3. **房间系统**:创建和加入房间 4. **排行榜**:记录玩家战绩 5. **商城系统**:购买道具和皮肤 6. **音效和动画**:增强游戏体验 ## 注意事项 - 当前版本为开发版本,仅供学习参考 - 需要添加网络权限才能实现网络对战功能 - 建议在真机上测试以获得最佳体验 ## 许可证 本项目仅供学习和交流使用。