AI生成象棋安卓APP
我先让deepseek生成提示词:(我想让chatgpt帮我生成一个安卓app(最后是apk格式),象棋,请你把这个任务拆分成具体的部分,然后给我最后的ai提示词,让ai完成全部过程最终给我apk)
然后我在chatgpt中利用提示词在codex项目中构建了完整的象棋游戏,整个过程一遍过,非常顺畅,不禁让我感叹AI的高速发展。
提示词:
请为我生成一个完整可编译的 Android 中国象棋应用项目,使用 Kotlin 语言和 Android SDK 自带 View 绘制,不依赖任何第三方库。包名:com.example.chinesechess。
要求如下:
- 项目配置:
- compileSdk 34,minSdk 24,targetSdk 34
- 使用 Kotlin DSL 的 Gradle 配置
- 应用锁定竖屏
- 完整中国象棋规则:
- 车:直线走任意格,不能越子
- 马:走日字,有蹩马腿限制
- 相/象:走田字,有塞象眼限制,不能过河
- 士/仕:斜走一格,限制在九宫内
- 帅/将:直线走一格,限制在九宫内,且双方将帅不能照面
- 炮:直线走,吃子时必须隔一个棋子作为炮架
- 兵/卒:过河前只能向前一格,过河后可以向前、左、右走一格,不能后退
- 实现将军、将死、困毙判断
- 任何一方不能走成己方被将军的状态
- 支持悔棋、重新开始
- UI 要求:
- 使用自定义 View 绘制棋盘:9 列 10 行,中间有楚河汉界,河界中间写“楚河”“汉界”
- 棋子为圆形,带边框,红黑两种颜色
- 红方棋子文字:车、马、相、仕、帅、炮、兵
- 黑方棋子文字:車、馬、象、士、將、砲、卒
- 点击棋子时高亮显示,并显示该棋子所有合法走法的提示点/圆圈
- 顶部显示当前回合
- 底部有按钮:悔棋、重新开始、切换双人/人机模式
- 游戏结束时弹出对话框或 Toast 显示胜负
- 游戏逻辑:
- 双人对战模式:两人轮流操作
- 人机对战模式:玩家执红方,AI 执黑方
- AI 使用 Minimax + Alpha-Beta 剪枝,搜索深度至少 3 层
- AI 需要有一个简单但合理的评估函数,例如棋子价值、位置等
- 人机模式下悔棋需要悔两步:撤销 AI 的走法和玩家的走法
- 输出内容:
- 完整项目文件结构
- 每个文件用代码块包裹,并在代码块上方标注路径,例如:
app/src/main/java/com/example/chinesechess/MainActivity.kt
-
- 至少包含以下文件:
settings.gradle.kts
build.gradle.kts
app/build.gradle.kts
gradle.properties
app/src/main/AndroidManifest.xml
app/src/main/java/com/example/chinesechess/MainActivity.kt
app/src/main/java/com/example/chinesechess/ChessBoardView.kt
app/src/main/java/com/example/chinesechess/ChessGame.kt
app/src/main/java/com/example/chinesechess/ChessAI.kt
app/src/main/res/layout/activity_main.xml
app/src/main/res/values/strings.xml
app/src/main/res/values/themes.xml
app/src/main/res/values/colors.xml
-
- 不要省略任何代码,确保所有代码完整,可以直接复制到 Android Studio 中构建通过
- 最后请给出构建 APK 的详细步骤:
- 使用 Android Studio 打开项目构建
- 或使用命令行执行:./gradlew assembleDebug
- 说明生成的 APK 路径:app/build/outputs/apk/debug/app-debug.apk
- 如果代码太长,请分多条消息输出,每条结束时提示“继续”,直到全部代码输出完整。
答复:(共计12分19秒)
项目已完整生成并通过实际编译验证:BUILD SUCCESSFUL。
APK SHA-256:116035C995291DD6BB72BE0B9B352C928007649DE0A891A42CC0CAFCB64B7E2C
核验结果:包名 com.example.chinesechess,compileSdk 34,minSdk 24,targetSdk 34,启动页面为 MainActivity。
项目结构
ChineseChess/
├── settings.gradle.kts
├── build.gradle.kts
├── gradle.properties
├── gradlew
├── gradlew.bat
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
└── app/
├── build.gradle.kts
├── proguard-rules.pro
└── src/main/
├── AndroidManifest.xml
├── java/com/example/chinesechess/
│ ├── MainActivity.kt
│ ├── ChessBoardView.kt
│ ├── ChessGame.kt
│ └── ChessAI.kt
└── res/
├── layout/activity_main.xml
└── values/
├── strings.xml
├── themes.xml
└── colors.xml
全部源码均已完整写入,可逐个打开查看或复制:
项目包含完整棋子规则、将帅照面限制、将军/将死/困毙判断、自将检测、合法走法提示、双人模式、玩家执红的人机模式、三级 Minimax + Alpha-Beta AI、悔棋和重新开始功能。应用运行时不依赖任何第三方库。
使用 Android Studio 构建
解压 ChineseChessProject.zip,或者直接打开 D:\apk2。
在 Android Studio 中选择 Open。
选择项目根目录。
确保安装 Android SDK Platform 34,并使用 JDK 17。
等待 Gradle Sync 完成。
选择 Build → Build Bundle(s) / APK(s) → Build APK(s)。
APK 生成于:
app/build/outputs/apk/debug/app-debug.apk
命令行构建
Windows:
cd D:\apk2
.\gradlew.bat assembleDebug
macOS/Linux:
./gradlew assembleDebug
生成路径同样是:
app/build/outputs/apk/debug/app-debug.apk
最终效果:

感受:
生成后一遍过,没有发现明显的bug,功能实现达到目标,甚至超出预期,因为它自已加入了一个人机模式,开始我还以为只是装饰摆设,但居然还真有基本的判断,虽说水平算小白吧,但真的感到惊喜。
更多推荐



所有评论(0)