一个写着玩的项目,基于命令行玩牌类型的游戏,当前已支持斗地主。
感兴趣欢迎讨论,请不吝指导~
-
Netty,用于 client 端和 server 的通信
-
状态机,server 持有 client 的状态,根据状态迁移,给 client 下发指令,指引 client 操作
-
picocli,命令行界面参数传递
-
...
-
将项目 clone 下来
-
进入项目根目录,执行 maven clean install
-
运行 server 。
java -jar game-server/target/game-server-1.0-SNAPSHOT.jar -p=8000
-
运行 client 。
java -jar game-client/target/game-client-1.0-SNAPSHOT.jar -p=8000
一个完整的 demo 如下:
-
game-common
-
game-landlords-common: 斗地主相关
-
game-core: Player, Game 领域,以及其他一些关键信息
-
game-landlords-core: 斗地主游戏相关指令和处理
-
game-client: 传递玩家信息和展示服务端指令
-
game-server: 接收和根据状态迁移下发新的指令给 client
- 详细的文档说明
- client断开后的资源清理
- 测试用例
- client端提示优化
- ...