基于Netty实现的命令行斗地主游戏,为划水摸鱼而生~
首先确定自己本地已经配置Maven和JRE环境,并且保证git环境的搭建。
1.克隆github上的项目到本地(外网地址下载,可能会有点慢,不过国内资源很多了)
git clone https://github.com/ainilili/ratel.git
2.进入项目主目录,然后使用Maven打包
cd ratel
mvn install package
项目的所有文件
大概了解下各个包的作用~
客户端(landlords-client)
event:客户端事件包
handle:客户端事件处理包
SimpleClient:客户端启动程序
基础包:landlords-common
channel:管道工具包
exception:异常处理目录
handler:业务处理,包含消息转码工具类
helper:工具类包,包括时间工具类等
print:打印工具包目录,包括格式化输出的工具类
robot:机器人出牌目录,人机对战时使用
transfer:类型转换工具包目录
utils:基础工具类,包括集合、正则等工具类
服务端(landlords-server)
event:服务端端事件包
handler:客户端事件处理包
robot:机器人出牌目录,人机对战时使用
timer:定时任务目录,计算房间存活时间。
SimpleServer:服务端启动程序
3.接下来分别运行 landlords-client客户端
和 landlords-server服务端
的 target
文件夹下的Jar包:
java -jar landlords-server/target/landlords-server-#{version}.jar -p 1024
java -jar landlords-client/target/landlords-client-#{version}.jar -p 1024 -h 127.0.0.1
服务端启动
客户端启动
客户端亦可直接运行,程序会自动拉取Serverlist中的公网服务器, #{version}是实际运行中当前版本。
java -jar landlords-client/target/landlords-client-#{version}.jar
成功启动之后就可以愉快的摸鱼了【摸鱼丸加】
玩法介绍:
这是所有牌型的出牌规则
┌──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐
│3 |4 |5 |6 |7 |8 |9 |10|J |Q |K |A |2 |S |X |
│♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ | | |
└──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘
示例:
- 王炸:
sx
- 顺子:
34567
- 三带一:
3334
- 飞机:
333444a2
- 单张10:
0
或者t
- 单张A:
a
或者1
- 封顶顺子:
34567890jqka
- 不想出牌:
pass
或p
- 退出:
exit
或者e
展示
首先设置玩家的昵称,PVP模式需要访问配置的公网服务器。PVE模式有简单、中等、和困难模式。
根据数字选择不同模式就可以愉快游戏了 (*^▽^*)
不过如要玩PVP模式,开发者还贴心的为大家准备了公网服务器。你也可以自己创建一个私服,也可以使用公网服务器-h 39.105.65.8
协议支持
TCP
Websocket
新版本的服务端已经不是java编写的,而是使用go来实现的