上班划水神器:一個可以在控制檯玩鬥地主的項目!

作者: 矢澤妮可

juejin.im/post/5be955a6f265da6135721bcc


這是什麼?

這是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。一百期Java面試題彙總

開始玩?

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

精彩推薦
一百期Java面試題彙總SpringBoot內容聚合IntelliJ IDEA內容聚合Mybatis內容聚合

歡迎長按下圖關注公衆號後端技術精選

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章