《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 juejin.im/post/5be955a6f265da6135721bcc 「矢泽妮可」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

这是什么?

这是Ratel,它可以在命令行内进行简单的斗地主游戏,来张图体验一下:

怎么开始玩?

Ratel分客户端和服务端,你可以在本地启动一个客户端让小伙伴们的客户端都连接你的服务器进行游戏,又或者可以直接连接作者公网服务器进行游戏,IP 39.105.65.8 Port 1024,不过作为玩家,我们最看重的还是客户端的使用!

你可以将Ratel项目Clone到本地并导入你的IDE中进行游戏!

git clone https://github.com/ainilili/ratel.git

之后打开landlords-client模块中的SimpleClient类启动运行。

你可以使用jar包启动,下载Release版本

https://github.com/ainilili/ratel/releases

之后进入下载目录中执行一下指令

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

上述#{version}为当前Release版本,-p 指定端口,-h 执行Host,这里可以切换为39.105.65.8。

开始玩?

Ratel客户端采用命令行输入指令的方式与服务端进行交互,连接服务器之后要做的第一件事就是设置昵称

Connection to server successful, welcome to ratel !!
Please set your nickname

[ratel@nickname]$ Nico

我将昵称设置为Nico,之后将会进入选项板

Options:
1. Create Room
2. Room List
3. Join Room
Please enter the number of options

[ratel@options]$

这时我们可以创建房间、查看房间列表和加入房间, 不废话,先创建一个再说!

[ratel@options]$ 1

You has been create room with id 2
Please wait for other players to join !

好了,耐心等待吧~

当满三人之后,游戏将会开始,这时就要讲解一下选牌的规则了!

┌──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐──┐
3 |4 |5 |6 |7 |8 |9 |10|J |Q |K |A |2 |S |X |
│♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ |♦ | | |
└──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘──┘

这是按照从小打大的规则将3到大王排序后的结果

如果你想出顺子

┌──┐──┐──┐──┐──┐
7 |8 |9 |10|J |
│♦ |♦ |♦ |♦ |♦ |
└──┘──┘──┘──┘──┘

你可以输入 7890j or 789tj

如果你想出王炸

┌──┐──┐
│S |X |
│ | |
└──┘──┘

你可以输入 sx

这是所有牌的别名映射规则

poker-> │3 |4 |5 |6 |7 |8 |9 |10   |J  |Q  |K  |A    |2 |S  |X  |
alias-> │3 |4 |5 |6 |7 |8 |9 |T t 0|J j|Q q|K k|A a 1|2 |S s|X x|

  • 如果本回合内你不想出牌,可以输入 pass
  • 如果本回合内你想退出游戏,可以输入 exit

上班不忙的时候,玩玩Ratel划划水放松一下也不错。

最后,附上项目地址

https://github.com/ainilili/ratel

文章目录
  1. 1. 怎么开始玩?
  2. 2. 开始玩?