diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index d177bb0..3bc7f6b 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -6,6 +6,7 @@
+
@@ -20,6 +21,7 @@
+
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 885a634..19ed356 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -31,5 +31,9 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 57d58a3..af6ee75 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -1,6 +1,11 @@
+
+
+
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 7552612..fbce64c 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -16,6 +16,8 @@
+
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index ac9d8eb..c3ced54 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,6 +2,7 @@
+
diff --git a/libs/robot_common/target/classes/com/robot/ActionEvent.class b/libs/robot_common/target/classes/com/robot/ActionEvent.class
new file mode 100644
index 0000000..41b8891
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/ActionEvent.class differ
diff --git a/libs/robot_common/target/classes/com/robot/Constant.class b/libs/robot_common/target/classes/com/robot/Constant.class
new file mode 100644
index 0000000..bfc008f
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/Constant.class differ
diff --git a/libs/robot_common/target/classes/com/robot/EventController.class b/libs/robot_common/target/classes/com/robot/EventController.class
new file mode 100644
index 0000000..cdee8fb
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/EventController.class differ
diff --git a/libs/robot_common/target/classes/com/robot/GPSUtil.class b/libs/robot_common/target/classes/com/robot/GPSUtil.class
new file mode 100644
index 0000000..4b6d057
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/GPSUtil.class differ
diff --git a/libs/robot_common/target/classes/com/robot/GameController.class b/libs/robot_common/target/classes/com/robot/GameController.class
new file mode 100644
index 0000000..a1fa7e5
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/GameController.class differ
diff --git a/libs/robot_common/target/classes/com/robot/GameInterceptor$1.class b/libs/robot_common/target/classes/com/robot/GameInterceptor$1.class
new file mode 100644
index 0000000..7fdec95
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/GameInterceptor$1.class differ
diff --git a/libs/robot_common/target/classes/com/robot/GameInterceptor.class b/libs/robot_common/target/classes/com/robot/GameInterceptor.class
new file mode 100644
index 0000000..9c0d183
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/GameInterceptor.class differ
diff --git a/libs/robot_common/target/classes/com/robot/Global.class b/libs/robot_common/target/classes/com/robot/Global.class
new file mode 100644
index 0000000..b0cb8eb
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/Global.class differ
diff --git a/libs/robot_common/target/classes/com/robot/GroupPublisherService.class b/libs/robot_common/target/classes/com/robot/GroupPublisherService.class
new file mode 100644
index 0000000..0799730
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/GroupPublisherService.class differ
diff --git a/libs/robot_common/target/classes/com/robot/MainServer$GameSetting.class b/libs/robot_common/target/classes/com/robot/MainServer$GameSetting.class
new file mode 100644
index 0000000..565045f
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/MainServer$GameSetting.class differ
diff --git a/libs/robot_common/target/classes/com/robot/MainServer.class b/libs/robot_common/target/classes/com/robot/MainServer.class
new file mode 100644
index 0000000..4627a5f
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/MainServer.class differ
diff --git a/libs/robot_common/target/classes/com/robot/Router.class b/libs/robot_common/target/classes/com/robot/Router.class
new file mode 100644
index 0000000..07284be
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/Router.class differ
diff --git a/libs/robot_common/target/classes/com/robot/Util.class b/libs/robot_common/target/classes/com/robot/Util.class
new file mode 100644
index 0000000..11c9648
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/Util.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/BasePlayBack.class b/libs/robot_common/target/classes/com/robot/data/BasePlayBack.class
new file mode 100644
index 0000000..d1de1f3
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/BasePlayBack.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/Hp.class b/libs/robot_common/target/classes/com/robot/data/Hp.class
new file mode 100644
index 0000000..55297c8
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/Hp.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/JoinRoomData.class b/libs/robot_common/target/classes/com/robot/data/JoinRoomData.class
new file mode 100644
index 0000000..a83c18b
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/JoinRoomData.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/Player$1.class b/libs/robot_common/target/classes/com/robot/data/Player$1.class
new file mode 100644
index 0000000..bf12c99
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/Player$1.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/Player$2.class b/libs/robot_common/target/classes/com/robot/data/Player$2.class
new file mode 100644
index 0000000..dcd08d3
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/Player$2.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/Player.class b/libs/robot_common/target/classes/com/robot/data/Player.class
new file mode 100644
index 0000000..0881402
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/Player.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/Room.class b/libs/robot_common/target/classes/com/robot/data/Room.class
new file mode 100644
index 0000000..102ad06
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/Room.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/RoomDismiss$1.class b/libs/robot_common/target/classes/com/robot/data/RoomDismiss$1.class
new file mode 100644
index 0000000..bb6b6f4
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/RoomDismiss$1.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/RoomDismiss.class b/libs/robot_common/target/classes/com/robot/data/RoomDismiss.class
new file mode 100644
index 0000000..9a2c6c4
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/RoomDismiss.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/Score.class b/libs/robot_common/target/classes/com/robot/data/Score.class
new file mode 100644
index 0000000..85be538
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/Score.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/Timer$ITaskHandler.class b/libs/robot_common/target/classes/com/robot/data/Timer$ITaskHandler.class
new file mode 100644
index 0000000..7aa6863
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/Timer$ITaskHandler.class differ
diff --git a/libs/robot_common/target/classes/com/robot/data/Timer.class b/libs/robot_common/target/classes/com/robot/data/Timer.class
new file mode 100644
index 0000000..aaa1652
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/data/Timer.class differ
diff --git a/libs/robot_common/target/classes/com/robot/manager/RoomManager$1.class b/libs/robot_common/target/classes/com/robot/manager/RoomManager$1.class
new file mode 100644
index 0000000..326223b
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/manager/RoomManager$1.class differ
diff --git a/libs/robot_common/target/classes/com/robot/manager/RoomManager.class b/libs/robot_common/target/classes/com/robot/manager/RoomManager.class
new file mode 100644
index 0000000..87b3d5d
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/manager/RoomManager.class differ
diff --git a/libs/robot_common/target/classes/com/robot/manager/SessionManager$1.class b/libs/robot_common/target/classes/com/robot/manager/SessionManager$1.class
new file mode 100644
index 0000000..ab7dfce
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/manager/SessionManager$1.class differ
diff --git a/libs/robot_common/target/classes/com/robot/manager/SessionManager.class b/libs/robot_common/target/classes/com/robot/manager/SessionManager.class
new file mode 100644
index 0000000..aa5847c
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/manager/SessionManager.class differ
diff --git a/libs/robot_common/target/classes/com/robot/player/state/PlayerEndState.class b/libs/robot_common/target/classes/com/robot/player/state/PlayerEndState.class
new file mode 100644
index 0000000..6bc4bec
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/player/state/PlayerEndState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/player/state/PlayerInitState.class b/libs/robot_common/target/classes/com/robot/player/state/PlayerInitState.class
new file mode 100644
index 0000000..60ba492
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/player/state/PlayerInitState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/player/state/PlayerPauseState.class b/libs/robot_common/target/classes/com/robot/player/state/PlayerPauseState.class
new file mode 100644
index 0000000..6088121
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/player/state/PlayerPauseState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/player/state/PlayerPopupState.class b/libs/robot_common/target/classes/com/robot/player/state/PlayerPopupState.class
new file mode 100644
index 0000000..e83cab7
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/player/state/PlayerPopupState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/player/state/PlayerReadyState.class b/libs/robot_common/target/classes/com/robot/player/state/PlayerReadyState.class
new file mode 100644
index 0000000..903066b
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/player/state/PlayerReadyState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/player/state/PlayerReloadState.class b/libs/robot_common/target/classes/com/robot/player/state/PlayerReloadState.class
new file mode 100644
index 0000000..5ca2b7c
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/player/state/PlayerReloadState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/player/state/PlayerSpectatorState.class b/libs/robot_common/target/classes/com/robot/player/state/PlayerSpectatorState.class
new file mode 100644
index 0000000..d6b060a
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/player/state/PlayerSpectatorState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/player/state/PlayerWaitState.class b/libs/robot_common/target/classes/com/robot/player/state/PlayerWaitState.class
new file mode 100644
index 0000000..e58b11c
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/player/state/PlayerWaitState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/room/state/RoomDestoryGameState.class b/libs/robot_common/target/classes/com/robot/room/state/RoomDestoryGameState.class
new file mode 100644
index 0000000..1b04956
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/room/state/RoomDestoryGameState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/room/state/RoomEndState.class b/libs/robot_common/target/classes/com/robot/room/state/RoomEndState.class
new file mode 100644
index 0000000..bb5891b
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/room/state/RoomEndState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/room/state/RoomInitState.class b/libs/robot_common/target/classes/com/robot/room/state/RoomInitState.class
new file mode 100644
index 0000000..21214a1
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/room/state/RoomInitState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/room/state/RoomReloadState.class b/libs/robot_common/target/classes/com/robot/room/state/RoomReloadState.class
new file mode 100644
index 0000000..57ab65d
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/room/state/RoomReloadState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/room/state/RoomStartGameState.class b/libs/robot_common/target/classes/com/robot/room/state/RoomStartGameState.class
new file mode 100644
index 0000000..f800b51
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/room/state/RoomStartGameState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/room/state/RoomWaitState.class b/libs/robot_common/target/classes/com/robot/room/state/RoomWaitState.class
new file mode 100644
index 0000000..1a4a5e5
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/room/state/RoomWaitState.class differ
diff --git a/libs/robot_common/target/classes/com/robot/state/StateBase.class b/libs/robot_common/target/classes/com/robot/state/StateBase.class
new file mode 100644
index 0000000..d285145
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/state/StateBase.class differ
diff --git a/libs/robot_common/target/classes/com/robot/state/StateMachine.class b/libs/robot_common/target/classes/com/robot/state/StateMachine.class
new file mode 100644
index 0000000..ebfe2d7
Binary files /dev/null and b/libs/robot_common/target/classes/com/robot/state/StateMachine.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/HttpClient$1.class b/libs/robot_common/target/classes/taurus/client/HttpClient$1.class
new file mode 100644
index 0000000..6cd8d7a
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/HttpClient$1.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/HttpClient$2.class b/libs/robot_common/target/classes/taurus/client/HttpClient$2.class
new file mode 100644
index 0000000..d69df3c
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/HttpClient$2.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/HttpClient.class b/libs/robot_common/target/classes/taurus/client/HttpClient.class
new file mode 100644
index 0000000..7d3e965
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/HttpClient.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/ISocketLayer.class b/libs/robot_common/target/classes/taurus/client/ISocketLayer.class
new file mode 100644
index 0000000..49486da
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/ISocketLayer.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/Message.class b/libs/robot_common/target/classes/taurus/client/Message.class
new file mode 100644
index 0000000..fe96864
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/Message.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/MessageResponse.class b/libs/robot_common/target/classes/taurus/client/MessageResponse.class
new file mode 100644
index 0000000..b7b48d7
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/MessageResponse.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/NetManager.class b/libs/robot_common/target/classes/taurus/client/NetManager.class
new file mode 100644
index 0000000..bf8ba14
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/NetManager.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/SocketCode.class b/libs/robot_common/target/classes/taurus/client/SocketCode.class
new file mode 100644
index 0000000..8fec1c6
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/SocketCode.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/TaurusClient$1.class b/libs/robot_common/target/classes/taurus/client/TaurusClient$1.class
new file mode 100644
index 0000000..4311aee
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/TaurusClient$1.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/TaurusClient$2.class b/libs/robot_common/target/classes/taurus/client/TaurusClient$2.class
new file mode 100644
index 0000000..3a5d67e
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/TaurusClient$2.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/TaurusClient$3.class b/libs/robot_common/target/classes/taurus/client/TaurusClient$3.class
new file mode 100644
index 0000000..84c58b0
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/TaurusClient$3.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/TaurusClient$4.class b/libs/robot_common/target/classes/taurus/client/TaurusClient$4.class
new file mode 100644
index 0000000..30a928a
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/TaurusClient$4.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/TaurusClient$5.class b/libs/robot_common/target/classes/taurus/client/TaurusClient$5.class
new file mode 100644
index 0000000..3419fd1
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/TaurusClient$5.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/TaurusClient$ConnectionProtocol.class b/libs/robot_common/target/classes/taurus/client/TaurusClient$ConnectionProtocol.class
new file mode 100644
index 0000000..59e6bc8
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/TaurusClient$ConnectionProtocol.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/TaurusClient$NetClientEvent.class b/libs/robot_common/target/classes/taurus/client/TaurusClient$NetClientEvent.class
new file mode 100644
index 0000000..d048c4b
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/TaurusClient$NetClientEvent.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/TaurusClient.class b/libs/robot_common/target/classes/taurus/client/TaurusClient.class
new file mode 100644
index 0000000..1dc60d3
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/TaurusClient.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/ThreadManager$1.class b/libs/robot_common/target/classes/taurus/client/ThreadManager$1.class
new file mode 100644
index 0000000..2b4d2e4
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/ThreadManager$1.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/ThreadManager$2.class b/libs/robot_common/target/classes/taurus/client/ThreadManager$2.class
new file mode 100644
index 0000000..9ac641b
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/ThreadManager$2.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/ThreadManager$MessgaeThread.class b/libs/robot_common/target/classes/taurus/client/ThreadManager$MessgaeThread.class
new file mode 100644
index 0000000..24f0990
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/ThreadManager$MessgaeThread.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/ThreadManager.class b/libs/robot_common/target/classes/taurus/client/ThreadManager.class
new file mode 100644
index 0000000..06d891f
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/ThreadManager.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/business/AccountBusiness.class b/libs/robot_common/target/classes/taurus/client/business/AccountBusiness.class
new file mode 100644
index 0000000..e0ef2a9
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/business/AccountBusiness.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/business/GroupRoomBusiness.class b/libs/robot_common/target/classes/taurus/client/business/GroupRoomBusiness.class
new file mode 100644
index 0000000..bd647e6
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/business/GroupRoomBusiness.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/business/RoomBusiness.class b/libs/robot_common/target/classes/taurus/client/business/RoomBusiness.class
new file mode 100644
index 0000000..e8d2526
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/business/RoomBusiness.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/IOHandler$PacketReadState.class b/libs/robot_common/target/classes/taurus/client/io/IOHandler$PacketReadState.class
new file mode 100644
index 0000000..28f276a
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/IOHandler$PacketReadState.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/IOHandler.class b/libs/robot_common/target/classes/taurus/client/io/IOHandler.class
new file mode 100644
index 0000000..04923de
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/IOHandler.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/ISocket$1.class b/libs/robot_common/target/classes/taurus/client/io/ISocket$1.class
new file mode 100644
index 0000000..ddc6209
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/ISocket$1.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/ISocket.class b/libs/robot_common/target/classes/taurus/client/io/ISocket.class
new file mode 100644
index 0000000..a81c153
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/ISocket.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/LagMonitor.class b/libs/robot_common/target/classes/taurus/client/io/LagMonitor.class
new file mode 100644
index 0000000..40fccc3
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/LagMonitor.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/Packet.class b/libs/robot_common/target/classes/taurus/client/io/Packet.class
new file mode 100644
index 0000000..50a982f
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/Packet.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/SocketEngine$1.class b/libs/robot_common/target/classes/taurus/client/io/SocketEngine$1.class
new file mode 100644
index 0000000..ed0077a
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/SocketEngine$1.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/SocketEngine.class b/libs/robot_common/target/classes/taurus/client/io/SocketEngine.class
new file mode 100644
index 0000000..2cd9e7f
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/SocketEngine.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/SocketState.class b/libs/robot_common/target/classes/taurus/client/io/SocketState.class
new file mode 100644
index 0000000..875e40c
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/SocketState.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/SocketTcp$1.class b/libs/robot_common/target/classes/taurus/client/io/SocketTcp$1.class
new file mode 100644
index 0000000..15605cb
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/SocketTcp$1.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/SocketTcp$2.class b/libs/robot_common/target/classes/taurus/client/io/SocketTcp$2.class
new file mode 100644
index 0000000..507a9f7
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/SocketTcp$2.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/SocketTcp.class b/libs/robot_common/target/classes/taurus/client/io/SocketTcp.class
new file mode 100644
index 0000000..1b867d2
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/SocketTcp.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/SystemController$1.class b/libs/robot_common/target/classes/taurus/client/io/SystemController$1.class
new file mode 100644
index 0000000..e17e1d5
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/SystemController$1.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/SystemController$2.class b/libs/robot_common/target/classes/taurus/client/io/SystemController$2.class
new file mode 100644
index 0000000..c4c9339
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/SystemController$2.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/SystemController.class b/libs/robot_common/target/classes/taurus/client/io/SystemController.class
new file mode 100644
index 0000000..b7047ec
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/SystemController.class differ
diff --git a/libs/robot_common/target/classes/taurus/client/io/TSocketException.class b/libs/robot_common/target/classes/taurus/client/io/TSocketException.class
new file mode 100644
index 0000000..ba44152
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/client/io/TSocketException.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/CardConfig.class b/libs/robot_common/target/classes/taurus/util/CardConfig.class
new file mode 100644
index 0000000..2e68b23
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/CardConfig.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/CardGroup.class b/libs/robot_common/target/classes/taurus/util/CardGroup.class
new file mode 100644
index 0000000..68b0316
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/CardGroup.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/CardObj.class b/libs/robot_common/target/classes/taurus/util/CardObj.class
new file mode 100644
index 0000000..b391cc5
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/CardObj.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/CardUtil.class b/libs/robot_common/target/classes/taurus/util/CardUtil.class
new file mode 100644
index 0000000..5568476
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/CardUtil.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/ChangshaMahjongAI$DiscardResult.class b/libs/robot_common/target/classes/taurus/util/ChangshaMahjongAI$DiscardResult.class
new file mode 100644
index 0000000..0151fe3
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/ChangshaMahjongAI$DiscardResult.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/ChangshaMahjongAI.class b/libs/robot_common/target/classes/taurus/util/ChangshaMahjongAI.class
new file mode 100644
index 0000000..bda97f8
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/ChangshaMahjongAI.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/Config.class b/libs/robot_common/target/classes/taurus/util/Config.class
new file mode 100644
index 0000000..50f631a
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/Config.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/GroupDatas.class b/libs/robot_common/target/classes/taurus/util/GroupDatas.class
new file mode 100644
index 0000000..66e3d13
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/GroupDatas.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$1.class b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$1.class
new file mode 100644
index 0000000..53e3a2b
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$1.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$GamePhase.class b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$GamePhase.class
new file mode 100644
index 0000000..97d48b4
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$GamePhase.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$HandAnalysis.class b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$HandAnalysis.class
new file mode 100644
index 0000000..3ec1c55
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$HandAnalysis.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$SpecialPattern.class b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$SpecialPattern.class
new file mode 100644
index 0000000..f7e2c52
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$SpecialPattern.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$StrategyType.class b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$StrategyType.class
new file mode 100644
index 0000000..f6f3cab
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$StrategyType.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$WinResult.class b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$WinResult.class
new file mode 100644
index 0000000..f229e32
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest$WinResult.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest.class b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest.class
new file mode 100644
index 0000000..d715cac
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/HongZhongSuanFaTest.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/ZhuanZhuanSuanFaTest$1.class b/libs/robot_common/target/classes/taurus/util/ZhuanZhuanSuanFaTest$1.class
new file mode 100644
index 0000000..8d79547
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/ZhuanZhuanSuanFaTest$1.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/ZhuanZhuanSuanFaTest$HandAnalysis.class b/libs/robot_common/target/classes/taurus/util/ZhuanZhuanSuanFaTest$HandAnalysis.class
new file mode 100644
index 0000000..6dc7f21
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/ZhuanZhuanSuanFaTest$HandAnalysis.class differ
diff --git a/libs/robot_common/target/classes/taurus/util/ZhuanZhuanSuanFaTest.class b/libs/robot_common/target/classes/taurus/util/ZhuanZhuanSuanFaTest.class
new file mode 100644
index 0000000..da1fddc
Binary files /dev/null and b/libs/robot_common/target/classes/taurus/util/ZhuanZhuanSuanFaTest.class differ
diff --git a/libs/robot_common/target/maven-archiver/pom.properties b/libs/robot_common/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..17a48c7
--- /dev/null
+++ b/libs/robot_common/target/maven-archiver/pom.properties
@@ -0,0 +1,3 @@
+artifactId=robot_common
+groupId=com.robot
+version=1.0.0
diff --git a/libs/robot_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/libs/robot_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..876aefd
--- /dev/null
+++ b/libs/robot_common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,102 @@
+taurus\client\TaurusClient.class
+taurus\client\ThreadManager$1.class
+com\robot\GroupPublisherService.class
+taurus\client\io\LagMonitor.class
+com\robot\manager\SessionManager.class
+com\robot\data\Player.class
+taurus\util\ChangshaMahjongAI.class
+com\robot\room\state\RoomEndState.class
+taurus\client\ISocketLayer.class
+com\robot\data\Timer.class
+com\robot\GameInterceptor.class
+com\robot\data\Timer$ITaskHandler.class
+taurus\client\io\SocketEngine$1.class
+taurus\util\ChangshaMahjongAI$DiscardResult.class
+taurus\util\CardConfig.class
+com\robot\room\state\RoomInitState.class
+com\robot\player\state\PlayerInitState.class
+com\robot\EventController.class
+taurus\util\HongZhongSuanFaTest$WinResult.class
+com\robot\manager\SessionManager$1.class
+taurus\client\TaurusClient$3.class
+taurus\util\Config.class
+com\robot\state\StateMachine.class
+com\robot\Constant.class
+taurus\client\io\IOHandler$PacketReadState.class
+taurus\util\ZhuanZhuanSuanFaTest$HandAnalysis.class
+com\robot\data\Player$1.class
+com\robot\player\state\PlayerEndState.class
+taurus\util\HongZhongSuanFaTest$1.class
+taurus\client\HttpClient$2.class
+com\robot\Global.class
+com\robot\manager\RoomManager.class
+taurus\client\TaurusClient$NetClientEvent.class
+taurus\client\TaurusClient$ConnectionProtocol.class
+com\robot\ActionEvent.class
+taurus\util\HongZhongSuanFaTest$GamePhase.class
+com\robot\data\Score.class
+taurus\client\io\ISocket$1.class
+taurus\util\ZhuanZhuanSuanFaTest$1.class
+taurus\client\ThreadManager$2.class
+com\robot\manager\RoomManager$1.class
+taurus\client\business\AccountBusiness.class
+com\robot\MainServer.class
+com\robot\data\JoinRoomData.class
+com\robot\Router.class
+taurus\client\ThreadManager$MessgaeThread.class
+com\robot\MainServer$GameSetting.class
+com\robot\GameController.class
+com\robot\state\StateBase.class
+taurus\client\TaurusClient$1.class
+taurus\client\business\GroupRoomBusiness.class
+taurus\client\io\SystemController$2.class
+taurus\client\HttpClient$1.class
+taurus\client\io\Packet.class
+taurus\client\io\SocketTcp$1.class
+com\robot\player\state\PlayerSpectatorState.class
+taurus\util\GroupDatas.class
+com\robot\room\state\RoomDestoryGameState.class
+com\robot\Util.class
+com\robot\player\state\PlayerWaitState.class
+taurus\client\io\TSocketException.class
+taurus\client\HttpClient.class
+taurus\client\io\SystemController.class
+taurus\client\MessageResponse.class
+com\robot\data\BasePlayBack.class
+taurus\client\TaurusClient$5.class
+com\robot\room\state\RoomStartGameState.class
+taurus\client\io\SystemController$1.class
+taurus\client\io\IOHandler.class
+com\robot\data\Player$2.class
+taurus\client\io\SocketEngine.class
+taurus\client\TaurusClient$2.class
+com\robot\player\state\PlayerPopupState.class
+com\robot\room\state\RoomReloadState.class
+com\robot\GameInterceptor$1.class
+taurus\util\HongZhongSuanFaTest.class
+com\robot\player\state\PlayerPauseState.class
+taurus\util\HongZhongSuanFaTest$SpecialPattern.class
+taurus\client\io\SocketTcp$2.class
+taurus\client\io\ISocket.class
+taurus\client\io\SocketState.class
+com\robot\data\RoomDismiss.class
+taurus\util\CardObj.class
+taurus\client\ThreadManager.class
+taurus\client\Message.class
+taurus\client\io\SocketTcp.class
+taurus\util\CardUtil.class
+taurus\util\ZhuanZhuanSuanFaTest.class
+com\robot\player\state\PlayerReloadState.class
+taurus\util\HongZhongSuanFaTest$StrategyType.class
+com\robot\data\RoomDismiss$1.class
+taurus\client\NetManager.class
+taurus\client\TaurusClient$4.class
+taurus\client\business\RoomBusiness.class
+taurus\client\SocketCode.class
+com\robot\data\Room.class
+taurus\util\HongZhongSuanFaTest$HandAnalysis.class
+com\robot\GPSUtil.class
+com\robot\data\Hp.class
+com\robot\room\state\RoomWaitState.class
+com\robot\player\state\PlayerReadyState.class
+taurus\util\CardGroup.class
diff --git a/libs/robot_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/libs/robot_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..5d9c62b
--- /dev/null
+++ b/libs/robot_common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,66 @@
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\business\AccountBusiness.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\player\state\PlayerEndState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\business\RoomBusiness.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\business\GroupRoomBusiness.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\util\CardConfig.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\util\CardUtil.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\data\BasePlayBack.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\util\CardGroup.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\room\state\RoomDestoryGameState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\data\Player.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\EventController.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\state\StateBase.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\player\state\PlayerInitState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\ThreadManager.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\util\GroupDatas.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\player\state\PlayerSpectatorState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\room\state\RoomInitState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\io\ISocket.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\Util.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\io\SocketState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\HttpClient.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\io\SocketEngine.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\player\state\PlayerWaitState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\io\TSocketException.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\util\HongZhongSuanFaTest.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\GPSUtil.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\manager\SessionManager.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\state\StateMachine.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\NetManager.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\io\Packet.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\room\state\RoomEndState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\room\state\RoomReloadState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\TaurusClient.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\MessageResponse.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\Constant.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\player\state\PlayerReadyState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\io\IOHandler.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\io\SocketTcp.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\io\SystemController.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\data\RoomDismiss.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\room\state\RoomWaitState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\data\Score.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\Message.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\GameInterceptor.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\player\state\PlayerReloadState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\MainServer.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\data\JoinRoomData.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\manager\RoomManager.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\data\Hp.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\data\Room.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\data\Timer.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\ISocketLayer.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\util\Config.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\SocketCode.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\ActionEvent.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\util\ZhuanZhuanSuanFaTest.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\Router.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\room\state\RoomStartGameState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\util\CardObj.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\util\ChangshaMahjongAI.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\player\state\PlayerPopupState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\taurus\client\io\LagMonitor.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\Global.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\player\state\PlayerPauseState.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\GameController.java
+D:\robotpro\robot_webgroup\libs\robot_common\src\main\java\com\robot\GroupPublisherService.java
diff --git a/libs/robot_common/target/robot_common-1.0.0.jar b/libs/robot_common/target/robot_common-1.0.0.jar
new file mode 100644
index 0000000..b98aa27
Binary files /dev/null and b/libs/robot_common/target/robot_common-1.0.0.jar differ
diff --git a/libs/taurus-server/taurus-core/target/surefire-reports/2026-02-05T06-49-50_849.dumpstream b/libs/taurus-server/taurus-core/target/surefire-reports/2026-02-05T06-49-50_849.dumpstream
new file mode 100644
index 0000000..6d71f1e
--- /dev/null
+++ b/libs/taurus-server/taurus-core/target/surefire-reports/2026-02-05T06-49-50_849.dumpstream
@@ -0,0 +1,5 @@
+# Created at 2026-02-05T06:49:52.261
+Boot Manifest-JAR contains absolute paths in classpath 'D:\robotpro\robot_webgroup\libs\taurus-server\taurus-core\target\test-classes'
+Hint: -Djdk.net.URLClassPath.disableClassPathURLCheck=true
+'other' has different root
+
diff --git a/libs/taurus-server/taurus-core/target/surefire-reports/2026-02-05T06-50-21_065.dumpstream b/libs/taurus-server/taurus-core/target/surefire-reports/2026-02-05T06-50-21_065.dumpstream
new file mode 100644
index 0000000..25bfec0
--- /dev/null
+++ b/libs/taurus-server/taurus-core/target/surefire-reports/2026-02-05T06-50-21_065.dumpstream
@@ -0,0 +1,5 @@
+# Created at 2026-02-05T06:50:21.334
+Boot Manifest-JAR contains absolute paths in classpath 'D:\robotpro\robot_webgroup\libs\taurus-server\taurus-core\target\test-classes'
+Hint: -Djdk.net.URLClassPath.disableClassPathURLCheck=true
+'other' has different root
+
diff --git a/libs/taurus-server/taurus-permanent/target/surefire-reports/2026-02-05T06-49-50_849.dumpstream b/libs/taurus-server/taurus-permanent/target/surefire-reports/2026-02-05T06-49-50_849.dumpstream
new file mode 100644
index 0000000..ff0d2e1
--- /dev/null
+++ b/libs/taurus-server/taurus-permanent/target/surefire-reports/2026-02-05T06-49-50_849.dumpstream
@@ -0,0 +1,5 @@
+# Created at 2026-02-05T06:49:53.163
+Boot Manifest-JAR contains absolute paths in classpath 'D:\robotpro\robot_webgroup\libs\taurus-server\taurus-permanent\target\test-classes'
+Hint: -Djdk.net.URLClassPath.disableClassPathURLCheck=true
+'other' has different root
+
diff --git a/libs/taurus-server/taurus-permanent/target/surefire-reports/2026-02-05T06-50-21_065.dumpstream b/libs/taurus-server/taurus-permanent/target/surefire-reports/2026-02-05T06-50-21_065.dumpstream
new file mode 100644
index 0000000..f4263cf
--- /dev/null
+++ b/libs/taurus-server/taurus-permanent/target/surefire-reports/2026-02-05T06-50-21_065.dumpstream
@@ -0,0 +1,5 @@
+# Created at 2026-02-05T06:50:21.727
+Boot Manifest-JAR contains absolute paths in classpath 'D:\robotpro\robot_webgroup\libs\taurus-server\taurus-permanent\target\test-classes'
+Hint: -Djdk.net.URLClassPath.disableClassPathURLCheck=true
+'other' has different root
+
diff --git a/libs/taurus-server/taurus-web/target/surefire-reports/2026-02-05T06-49-50_849.dumpstream b/libs/taurus-server/taurus-web/target/surefire-reports/2026-02-05T06-49-50_849.dumpstream
new file mode 100644
index 0000000..6186747
--- /dev/null
+++ b/libs/taurus-server/taurus-web/target/surefire-reports/2026-02-05T06-49-50_849.dumpstream
@@ -0,0 +1,5 @@
+# Created at 2026-02-05T06:49:53.856
+Boot Manifest-JAR contains absolute paths in classpath 'D:\robotpro\robot_webgroup\libs\taurus-server\taurus-web\target\test-classes'
+Hint: -Djdk.net.URLClassPath.disableClassPathURLCheck=true
+'other' has different root
+
diff --git a/libs/taurus-server/taurus-web/target/surefire-reports/2026-02-05T06-50-21_065.dumpstream b/libs/taurus-server/taurus-web/target/surefire-reports/2026-02-05T06-50-21_065.dumpstream
new file mode 100644
index 0000000..a6b3d6f
--- /dev/null
+++ b/libs/taurus-server/taurus-web/target/surefire-reports/2026-02-05T06-50-21_065.dumpstream
@@ -0,0 +1,5 @@
+# Created at 2026-02-05T06:50:22.136
+Boot Manifest-JAR contains absolute paths in classpath 'D:\robotpro\robot_webgroup\libs\taurus-server\taurus-web\target\test-classes'
+Hint: -Djdk.net.URLClassPath.disableClassPathURLCheck=true
+'other' has different root
+
diff --git a/robots/majiang/robot_mj_cs/src/main/java/robot/mj/EXGameController.java b/robots/majiang/robot_mj_cs/src/main/java/robot/mj/EXGameController.java
index 9bc8b86..fc52a3a 100644
--- a/robots/majiang/robot_mj_cs/src/main/java/robot/mj/EXGameController.java
+++ b/robots/majiang/robot_mj_cs/src/main/java/robot/mj/EXGameController.java
@@ -364,7 +364,7 @@ public class EXGameController extends GameController {
RobotUser robotUserCopy = new RobotUser();
robotUserCopy.setRobotId(robotId);
robotUserCopy.setPassword("123456");
- robotUserCopy.setGameHost("8.134.76.43");
+ robotUserCopy.setGameHost("127.0.0.1");
robotUserCopy.setGamePort("6311");
robotUserCopy.setRobotGroupid("330800");
robotUserCopy.setRobotPid("10");
diff --git a/robots/majiang/robot_mj_cs/src/main/java/robot/mj/EXMainServer.java b/robots/majiang/robot_mj_cs/src/main/java/robot/mj/EXMainServer.java
index 1283e87..c4051e9 100644
--- a/robots/majiang/robot_mj_cs/src/main/java/robot/mj/EXMainServer.java
+++ b/robots/majiang/robot_mj_cs/src/main/java/robot/mj/EXMainServer.java
@@ -51,7 +51,7 @@ public class EXMainServer extends MainServer{
RobotUser robotUser = new RobotUser();
robotUser.setRobotId(entry.getKey());
robotUser.setPassword("123456");
- robotUser.setGameHost("8.134.76.43");
+ robotUser.setGameHost("127.0.0.1");
robotUser.setGamePort("6311");
robotUser.setRobotGroupid("762479");
robotUser.setRobotPid("10");
@@ -130,7 +130,7 @@ public class EXMainServer extends MainServer{
} catch (Exception e) {
}
}
- }, "NetEvent-Thread");
+ }, "Changsha_Thread");
eventThread.setDaemon(true); // 设置为守护线程
eventThread.start();
diff --git a/robots/majiang/robot_mj_cs/src/main/java/robot/mj/RobotConnectionManager.java b/robots/majiang/robot_mj_cs/src/main/java/robot/mj/RobotConnectionManager.java
index 0d1330d..421bdfc 100644
--- a/robots/majiang/robot_mj_cs/src/main/java/robot/mj/RobotConnectionManager.java
+++ b/robots/majiang/robot_mj_cs/src/main/java/robot/mj/RobotConnectionManager.java
@@ -34,7 +34,7 @@ public class RobotConnectionManager {
private static final Map huNanChangShaInstances = new ConcurrentHashMap<>();
private final EXGameController exGameController;
- private final String host="8.134.76.43";
+ private final String host="127.0.0.1";
private final int port=6311;
/*长沙麻将游戏算法相关 start*/
@@ -217,93 +217,97 @@ public class RobotConnectionManager {
public void reconnectToGameServer(MessageResponse response, RobotUser robotUser, TaurusClient client) {
String connecId = robotUser.getCurrentRoomId()+"_"+robotUser.getRobotId();
if(client.isConnected()){
- ITObject obj = response.messageData.param.getTObject("tableInfo");
- ITObject reloadInfo = response.messageData.param.getTObject("reloadInfo");
- if (obj!=null) {
- //处理 seat
- //获取机器人的seat
- ITArray playerData = obj.getTArray("playerData");
- for (int i = 0; i < playerData.size(); i++) {
- ITObject tms = playerData.getTObject(i);
- Integer tmuserid = tms.getInt("aid");
- if(tmuserid==Integer.parseInt(robotUser.getRobotId())){
- Integer seat = tms.getInt("seat");
- robotUser.setSeat(seat);
+ try {
+ ITObject obj = response.messageData.param.getTObject("tableInfo");
+ ITObject reloadInfo = response.messageData.param.getTObject("reloadInfo");
+ if (obj != null) {
+ //处理 seat
+ //获取机器人的seat
+ ITArray playerData = obj.getTArray("playerData");
+ for (int i = 0; i < playerData.size(); i++) {
+ ITObject tms = playerData.getTObject(i);
+ Integer tmuserid = tms.getInt("aid");
+ if (tmuserid == Integer.parseInt(robotUser.getRobotId())) {
+ Integer seat = tms.getInt("seat");
+ robotUser.setSeat(seat);
+ }
}
- }
- System.out.println("playerData:"+playerData);
+ System.out.println("playerData:" + playerData);
- System.out.println("obj:"+obj);
- System.out.println("reloadInfo:"+reloadInfo);
- if(reloadInfo!=null) {
- //重连回来的
- int curren_outcard_seat = reloadInfo.getInt("curren_outcard_seat");
- if(curren_outcard_seat== robotUser.getSeat()){
- //同步手牌
- ITArray hand_card = reloadInfo.getTArray("hand_card");
- ITArray info_list = reloadInfo.getTArray("info_list");
-
- List hcard = new ArrayList<>();
- if(hand_card!=null) {
- for (int i = 0; i < hand_card.size(); i++) {
- hcard.add(hand_card.getInt(i));
- }
- }
- ITArray outcard_list = new TArray();
- if(info_list!=null) {
- for (int i = 0; i < info_list.size(); i++) {
- ITObject tms = info_list.getTObject(i);
- Integer playerid = tms.getInt("playerid");
- if(playerid==Integer.parseInt(robotUser.getRobotId())){
- outcard_list = tms.getTArray("outcard_list");
- }
- }
- }
-
- System.out.println("hcard>0"+hcard);
- if(hcard.size()>0){
+ System.out.println("obj:" + obj);
+ System.out.println("reloadInfo:" + reloadInfo);
+ if (reloadInfo != null) {
+ //重连回来的
+ int curren_outcard_seat = reloadInfo.getInt("curren_outcard_seat");
+ if (curren_outcard_seat == robotUser.getSeat()) {
//同步手牌
- HuNanChangSha currentInstance = getHuNanChangShaInstance(connecId);
-
- //同步逻辑比较手牌数量
- List currentHand = currentInstance.getChangShaCardInhand();
- if (currentHand.isEmpty() || hcard.size() > currentHand.size()) {
- //手牌集合为空 或者 玩家出牌了
- currentInstance.updateHandCard(hcard);
- System.out.println("断线重连:同步手牌数据,服务器手牌:" + hcard);
- } else {
- System.out.println("断线重连:使用Redis恢复的手牌数据,数量:" + currentHand.size());
+ ITArray hand_card = reloadInfo.getTArray("hand_card");
+ ITArray info_list = reloadInfo.getTArray("info_list");
+
+ List hcard = new ArrayList<>();
+ if (hand_card != null) {
+ for (int i = 0; i < hand_card.size(); i++) {
+ hcard.add(hand_card.getInt(i));
+ }
+ }
+ ITArray outcard_list = new TArray();
+ if (info_list != null) {
+ for (int i = 0; i < info_list.size(); i++) {
+ ITObject tms = info_list.getTObject(i);
+ Integer playerid = tms.getInt("playerid");
+ if (playerid == Integer.parseInt(robotUser.getRobotId())) {
+ outcard_list = tms.getTArray("outcard_list");
+ }
+ }
}
- if(outcard_list.size()>0){
- List outcards = new ArrayList<>();
- for (int i = 0; i < outcard_list.size(); i++) {
- outcards.add(outcard_list.getInt(i));
- }
-
- //检查出牌记录是否需要同步
- List currentOutCards = currentInstance.getChuGuoCardInhand();
- if (currentOutCards.isEmpty() || outcards.size() > currentOutCards.size()) {
- currentInstance.updateOutCard(outcards);
- System.out.println("断线重连:同步出牌数据,服务器出牌:" + outcards);
+ System.out.println("hcard>0" + hcard);
+ if (hcard.size() > 0) {
+ //同步手牌
+ HuNanChangSha currentInstance = getHuNanChangShaInstance(connecId);
+
+ //同步逻辑比较手牌数量
+ List currentHand = currentInstance.getChangShaCardInhand();
+ if (currentHand.isEmpty() || hcard.size() > currentHand.size()) {
+ //手牌集合为空 或者 玩家出牌了
+ currentInstance.updateHandCard(hcard);
+ System.out.println("断线重连:同步手牌数据,服务器手牌:" + hcard);
} else {
- System.out.println("断线重连:使用Redis恢复的出牌数据,数量:" + currentOutCards.size());
+ System.out.println("断线重连:使用Redis恢复的手牌数据,数量:" + currentHand.size());
}
+
+ if (outcard_list.size() > 0) {
+ List outcards = new ArrayList<>();
+ for (int i = 0; i < outcard_list.size(); i++) {
+ outcards.add(outcard_list.getInt(i));
+ }
+
+ //检查出牌记录是否需要同步
+ List currentOutCards = currentInstance.getChuGuoCardInhand();
+ if (currentOutCards.isEmpty() || outcards.size() > currentOutCards.size()) {
+ currentInstance.updateOutCard(outcards);
+ System.out.println("断线重连:同步出牌数据,服务器出牌:" + outcards);
+ } else {
+ System.out.println("断线重连:使用Redis恢复的出牌数据,数量:" + currentOutCards.size());
+ }
+ }
+
+ sleepTime(2000);
+ Map> currentPlayerOutcardsMap = getPlayerOutcardsMap(connecId);
+ Map> currentPlayerchisMap = getPlayerchisMap(connecId);
+ Map> currentPlayerpengsMap = getPlayerpengsMap(connecId);
+ Map> currentPlayermingsMap = getPlayermingsMap(connecId);
+ Map> currentPlayerzisMap = getPlayerzisMap(connecId);
+
+ currentInstance.outCard(client, currentPlayerOutcardsMap, currentPlayerchisMap, currentPlayerpengsMap, currentPlayermingsMap, currentPlayerzisMap);
+ } else {
+ System.err.println("警告:重连时未获取到手牌数据");
}
-
- sleepTime(2000);
- Map> currentPlayerOutcardsMap = getPlayerOutcardsMap(connecId);
- Map> currentPlayerchisMap = getPlayerchisMap(connecId);
- Map> currentPlayerpengsMap = getPlayerpengsMap(connecId);
- Map> currentPlayermingsMap = getPlayermingsMap(connecId);
- Map> currentPlayerzisMap = getPlayerzisMap(connecId);
-
- currentInstance.outCard(client, currentPlayerOutcardsMap, currentPlayerchisMap, currentPlayerpengsMap, currentPlayermingsMap, currentPlayerzisMap);
- } else {
- System.err.println("警告:重连时未获取到手牌数据");
}
}
}
+ }finally {
+
}
}else {
renconnect(robotUser);
diff --git a/robots/majiang/robot_mj_cs/src/main/java/robot/mj/handler/HuNanChangSha.java b/robots/majiang/robot_mj_cs/src/main/java/robot/mj/handler/HuNanChangSha.java
index 275754f..f8eb476 100644
--- a/robots/majiang/robot_mj_cs/src/main/java/robot/mj/handler/HuNanChangSha.java
+++ b/robots/majiang/robot_mj_cs/src/main/java/robot/mj/handler/HuNanChangSha.java
@@ -1,5 +1,6 @@
package robot.mj.handler;
+import com.google.gson.JsonElement;
import com.robot.Util;
import com.taurus.core.entity.ITArray;
import com.taurus.core.entity.ITObject;
@@ -1911,67 +1912,72 @@ public class HuNanChangSha {
List> playerpengsMap, Map> playermingsMap, Map> playerzisMap) {
// playerOutcardsMap + playerchisMap 传到 outCardSuanFa
//对出牌进行整合
+ try {
- List resultList = new ArrayList<>();
- for (List cards : playerOutcardsMap.values()) {
- resultList.addAll(cards);
- }
- for (List chis : playerchisMap.values()) {
- resultList.addAll(chis);
- }
+ List resultList = new ArrayList<>();
+ for (List cards : playerOutcardsMap.values()) {
+ resultList.addAll(cards);
+ }
- for (List pengs : playerpengsMap.values()) {
- resultList.addAll(pengs);
- }
+ for (List chis : playerchisMap.values()) {
+ resultList.addAll(chis);
+ }
- for (List minggangs : playermingsMap.values()) {
- resultList.addAll(minggangs);
- }
+ for (List pengs : playerpengsMap.values()) {
+ resultList.addAll(pengs);
+ }
- for (List zigang : playerzisMap.values()) {
- resultList.addAll(zigang);
- }
+ for (List minggangs : playermingsMap.values()) {
+ resultList.addAll(minggangs);
+ }
- System.out.println("长沙麻将出牌"+changShaCardInhand);
- // 长沙麻将出牌
- String changShaOutCard = changShaSuanFaTest.outCardSuanFa(changShaCardInhand, pongGroup, chowGroup, gangdepai, resultList);
- System.out.println("长沙麻将出牌"+changShaCardInhand);
+ for (List zigang : playerzisMap.values()) {
+ resultList.addAll(zigang);
+ }
+
+ System.out.println("长沙麻将出牌" + changShaCardInhand);
+ // 长沙麻将出牌
+ String changShaOutCard = changShaSuanFaTest.outCardSuanFa(changShaCardInhand, pongGroup, chowGroup, gangdepai, resultList);
+ System.out.println("长沙麻将出牌" + changShaCardInhand);
// String changShaOutCard = changShaSuanFaTest.outCardSuanFa(list, changShaCard,pongGroup);
- ITObject params = TObject.newInstance();
- int cardToOut;
- if (StringUtil.isNotEmpty(changShaOutCard)) {
- cardToOut = Integer.parseInt(changShaOutCard);
- } else {
- cardToOut = changShaCardInhand.get(0);
+ ITObject params = TObject.newInstance();
+ int cardToOut;
+ if (StringUtil.isNotEmpty(changShaOutCard)) {
+ cardToOut = Integer.parseInt(changShaOutCard);
+ } else {
+ cardToOut = changShaCardInhand.get(0);
+ }
+
+ params.putInt("card", cardToOut);
+ int outCountBefore = changShachuguopai.size(); // 当前历史出牌数量
+
+ // 第n次出牌时,发送前n-1张出牌
+ if (outCountBefore >= 1) {
+ // 发送前n-1张(所有历史出牌)
+ List cardsToSend = changShachuguopai.subList(0, outCountBefore);
+ params.putTArray("outcard_list", CardUtil.maJiangToTArray(cardsToSend));
+ }
+ params.putTArray("card_list", CardUtil.maJiangToTArray(changShaCardInhand));
+
+ // 将当前出的牌添加到历史出牌列表
+ changShachuguopai.add(cardToOut);
+ System.out.println("changShachuguopai ++++ :" + changShachuguopai);
+ // 从手牌中移除
+ changShaCardInhand.remove(Integer.valueOf(cardToOut));
+ System.out.println("打过后的手牌 +++ " + changShaCardInhand);
+ params.putString("session", session + "," + token);
+
+ int ot = new Random().nextInt(5);
+ Thread.sleep(ot*1000);
+ client.send("611", params, response -> {
+
+ });
+ }catch (Exception e){
+
}
- params.putInt("card", cardToOut);
-
-
- int outCountBefore = changShachuguopai.size(); // 当前历史出牌数量
-
- // 第n次出牌时,发送前n-1张出牌
- if (outCountBefore >= 1) {
- // 发送前n-1张(所有历史出牌)
- List cardsToSend = changShachuguopai.subList(0, outCountBefore);
- params.putTArray("outcard_list", CardUtil.maJiangToTArray(cardsToSend));
- }
- params.putTArray("card_list", CardUtil.maJiangToTArray(changShaCardInhand));
-
- // 将当前出的牌添加到历史出牌列表
- changShachuguopai.add(cardToOut);
- System.out.println("changShachuguopai ++++ :"+changShachuguopai);
- // 从手牌中移除
- changShaCardInhand.remove(Integer.valueOf(cardToOut));
- System.out.println("打过后的手牌 +++ " + changShaCardInhand);
- params.putString("session", session + "," + token);
- client.send("611", params, response -> {
-
- });
-
-
return null;
}
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/EXGameController.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/EXGameController.class
index c3d2168..f63c7af 100644
Binary files a/robots/majiang/robot_mj_cs/target/classes/robot/mj/EXGameController.class and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/EXGameController.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/EXMainServer.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/EXMainServer.class
index d3cc1b7..a5ba910 100644
Binary files a/robots/majiang/robot_mj_cs/target/classes/robot/mj/EXMainServer.class and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/EXMainServer.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$1.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$1.class
index 6bcd5ba..020ffd2 100644
Binary files a/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$1.class and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$1.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$2.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$2.class
index 31287d2..0b49aed 100644
Binary files a/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$2.class and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$2.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$3.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$3.class
index d201d23..147a93c 100644
Binary files a/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$3.class and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager$3.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager.class
index 6b50d9a..fb03f55 100644
Binary files a/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager.class and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/RobotConnectionManager.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$1.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$1.class
new file mode 100644
index 0000000..8f89b6e
Binary files /dev/null and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$1.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$2.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$2.class
new file mode 100644
index 0000000..d2b2fa3
Binary files /dev/null and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$2.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$3.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$3.class
new file mode 100644
index 0000000..bd5c70b
Binary files /dev/null and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$3.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$4.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$4.class
new file mode 100644
index 0000000..d91b06c
Binary files /dev/null and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$4.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$5.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$5.class
new file mode 100644
index 0000000..610d5c7
Binary files /dev/null and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$5.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$6.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$6.class
new file mode 100644
index 0000000..b9cfd12
Binary files /dev/null and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$6.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$7.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$7.class
new file mode 100644
index 0000000..0d61b7f
Binary files /dev/null and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha$7.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha.class
index 9aac05f..a51f25f 100644
Binary files a/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha.class and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/handler/HuNanChangSha.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/robot/mj/info/RobotUser.class b/robots/majiang/robot_mj_cs/target/classes/robot/mj/info/RobotUser.class
index 0580c90..78a808e 100644
Binary files a/robots/majiang/robot_mj_cs/target/classes/robot/mj/info/RobotUser.class and b/robots/majiang/robot_mj_cs/target/classes/robot/mj/info/RobotUser.class differ
diff --git a/robots/majiang/robot_mj_cs/target/classes/taurus/util/TinHuChi.class b/robots/majiang/robot_mj_cs/target/classes/taurus/util/TinHuChi.class
index fdb6fad..d226247 100644
Binary files a/robots/majiang/robot_mj_cs/target/classes/taurus/util/TinHuChi.class and b/robots/majiang/robot_mj_cs/target/classes/taurus/util/TinHuChi.class differ
diff --git a/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index bf781dc..f86d4c8 100644
--- a/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -2,30 +2,42 @@ taurus\util\TinHuChi.class
taurus\util\TinHuGang.class
robot\mj\Config.class
taurus\util\PlayerState.class
+robot\mj\handler\HuNanChangSha$7.class
+robot\mj\RobotConnectionManager$3.class
taurus\util\TinHuPeng.class
+robot\mj\business\AccountBusiness.class
robot\mj\RobotConnectionManager.class
robot\mj\RoomCreator$RoomInfo.class
robot\mj\EXMainServer.class
+robot\mj\handler\HuNanChangSha$4.class
taurus\util\ai.class
robot\mj\EXPlayer.class
+robot\mj\handler\HuNanChangSha$3.class
robot\mj\EXGameController.class
robot\mj\handler\HuNanChangSha.class
taurus\util\TinHuChi$TingResult.class
taurus\util\TinHuPeng$HandAnalysis.class
+taurus\util\ROBOTEventType.class
robot\mj\EXRoom.class
taurus\util\Paixing.class
+robot\mj\handler\HuNanChangSha$6.class
taurus\util\TingPaiChecker.class
taurus\util\WinCard.class
taurus\util\TingPaiChecker$HuResult.class
+robot\mj\handler\HuNanChangSha$1.class
taurus\util\TingPaiChecker$TingResult.class
robot\mj\RoomCreator.class
taurus\util\ai$DiscardResult.class
+robot\mj\info\RobotUser.class
robot\mj\RobotConnectionManager$2.class
taurus\util\TinHuChi$TingChiOption.class
+robot\mj\network\TaurusTcpListener.class
taurus\util\WinCardType.class
+robot\mj\handler\HuNanChangSha$5.class
robot\mj\RobotConnectionManager$1.class
taurus\util\ChangshaWinSplitCard.class
taurus\util\HandAnalysis.class
taurus\util\ChangShaSuanFaTest.class
+robot\mj\handler\HuNanChangSha$2.class
taurus\util\TingPaiChecker$TingCardInfo.class
robot\mj\EXActionEvent.class
diff --git a/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index a3d901f..b96ae5a 100644
--- a/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,22 +1,25 @@
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\handler\HuNanChangSha.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\TingPaiChecker.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXActionEvent.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\WinCard.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\JiQiRens.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\TinHuGang.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\ai.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\WinCardType.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\Config.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\ChangShaSuanFaTest.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\Paixing.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\TinHuPeng.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\RoomCreator.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXGameController.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\ChangshaWinSplitCard.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXMainServer.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\TinHuChi.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\RobotConnectionManager.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\HandAnalysis.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\taurus\util\PlayerState.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXPlayer.java
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXRoom.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXMainServer.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\TingPaiChecker.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\TinHuGang.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\handler\HuNanChangSha.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXPlayer.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\RobotConnectionManager.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\network\TaurusTcpListener.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\ChangShaSuanFaTest.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\TinHuChi.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\PlayerState.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\Paixing.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\WinCardType.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\business\AccountBusiness.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\HandAnalysis.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXGameController.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\ChangshaWinSplitCard.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\ai.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\Config.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\info\RobotUser.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\WinCard.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXRoom.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\RoomCreator.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\TinHuPeng.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\robot\mj\EXActionEvent.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\main\java\taurus\util\ROBOTEventType.java
diff --git a/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
index 0c18ca2..eda0127 100644
--- a/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
+++ b/robots/majiang/robot_mj_cs/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -1 +1 @@
-D:\project\robot_fenli\robots\majiang\robot_mj_cs\src\test\java\robot_mj_changsha\Main.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_cs\src\test\java\robot_mj_changsha\Main.java
diff --git a/robots/majiang/robot_mj_cs/target/robot.jar b/robots/majiang/robot_mj_cs/target/robot.jar
index 6033483..77de450 100644
Binary files a/robots/majiang/robot_mj_cs/target/robot.jar and b/robots/majiang/robot_mj_cs/target/robot.jar differ
diff --git a/robots/majiang/robot_mj_cs/target/test-classes/robot_mj_changsha/Main.class b/robots/majiang/robot_mj_cs/target/test-classes/robot_mj_changsha/Main.class
index c506343..3ea76e2 100644
Binary files a/robots/majiang/robot_mj_cs/target/test-classes/robot_mj_changsha/Main.class and b/robots/majiang/robot_mj_cs/target/test-classes/robot_mj_changsha/Main.class differ
diff --git a/robots/majiang/robot_mj_hz/pom.xml b/robots/majiang/robot_mj_hz/pom.xml
index 2ac2648..f4e2433 100644
--- a/robots/majiang/robot_mj_hz/pom.xml
+++ b/robots/majiang/robot_mj_hz/pom.xml
@@ -3,11 +3,11 @@
4.0.0
com.robot
- robot_mj_changsha
+ robot_mj_hongzhong
1.0.0
jar
- robot_mj_changsha
+ robot_mj_hongzhong
http://maven.apache.org
diff --git a/robots/majiang/robot_mj_hz/src/main/java/robot/mj/EXGameController.java b/robots/majiang/robot_mj_hz/src/main/java/robot/mj/EXGameController.java
index 2f66fca..10ea944 100644
--- a/robots/majiang/robot_mj_hz/src/main/java/robot/mj/EXGameController.java
+++ b/robots/majiang/robot_mj_hz/src/main/java/robot/mj/EXGameController.java
@@ -364,7 +364,7 @@ public class EXGameController extends GameController {
RobotUser robotUserCopy = new RobotUser();
robotUserCopy.setRobotId(robotId);
robotUserCopy.setPassword("123456");
- robotUserCopy.setGameHost("8.134.76.43");
+ robotUserCopy.setGameHost("127.0.0.1");
robotUserCopy.setGamePort("6421");
robotUserCopy.setRobotGroupid("330800");
robotUserCopy.setRobotPid("22");
diff --git a/robots/majiang/robot_mj_hz/src/main/java/robot/mj/EXMainServer.java b/robots/majiang/robot_mj_hz/src/main/java/robot/mj/EXMainServer.java
index 50c87a2..1d6cb2c 100644
--- a/robots/majiang/robot_mj_hz/src/main/java/robot/mj/EXMainServer.java
+++ b/robots/majiang/robot_mj_hz/src/main/java/robot/mj/EXMainServer.java
@@ -51,7 +51,7 @@ public class EXMainServer extends MainServer{
RobotUser robotUser = new RobotUser();
robotUser.setRobotId(entry.getKey());
robotUser.setPassword("123456");
- robotUser.setGameHost("8.134.76.43");
+ robotUser.setGameHost("127.0.0.1");
robotUser.setGamePort("6421");
robotUser.setRobotGroupid("762479");
robotUser.setRobotPid("22");
@@ -130,7 +130,7 @@ public class EXMainServer extends MainServer{
} catch (Exception e) {
}
}
- }, "NetEvent-Thread");
+ }, "Hongzhong-Thread");
eventThread.setDaemon(true); // 设置为守护线程
eventThread.start();
diff --git a/robots/majiang/robot_mj_hz/src/main/java/robot/mj/RobotConnectionManager.java b/robots/majiang/robot_mj_hz/src/main/java/robot/mj/RobotConnectionManager.java
index 8e053bb..71f37df 100644
--- a/robots/majiang/robot_mj_hz/src/main/java/robot/mj/RobotConnectionManager.java
+++ b/robots/majiang/robot_mj_hz/src/main/java/robot/mj/RobotConnectionManager.java
@@ -31,7 +31,7 @@ public class RobotConnectionManager {
private static final Map huNanHongZhongInstances = new ConcurrentHashMap<>();
private final EXGameController exGameController;
- private final String host="8.134.76.43";
+ private final String host="127.0.0.1";
private final int port=6421;
@@ -175,87 +175,91 @@ public class RobotConnectionManager {
public void reconnectToGameServer(MessageResponse response, RobotUser robotUser, TaurusClient client) {
String connecId = robotUser.getCurrentRoomId()+"_"+robotUser.getRobotId();
if(client.isConnected()){
- ITObject obj = response.messageData.param.getTObject("tableInfo");
- ITObject reloadInfo = response.messageData.param.getTObject("reloadInfo");
- if (obj!=null) {
- //处理 seat
- //获取机器人的seat
- ITArray playerData = obj.getTArray("playerData");
- for (int i = 0; i < playerData.size(); i++) {
- ITObject tms = playerData.getTObject(i);
- Integer tmuserid = tms.getInt("aid");
- if(tmuserid==Integer.parseInt(robotUser.getRobotId())){
- Integer seat = tms.getInt("seat");
- robotUser.setSeat(seat);
+ try {
+ ITObject obj = response.messageData.param.getTObject("tableInfo");
+ ITObject reloadInfo = response.messageData.param.getTObject("reloadInfo");
+ if (obj != null) {
+ //处理 seat
+ //获取机器人的seat
+ ITArray playerData = obj.getTArray("playerData");
+ for (int i = 0; i < playerData.size(); i++) {
+ ITObject tms = playerData.getTObject(i);
+ Integer tmuserid = tms.getInt("aid");
+ if (tmuserid == Integer.parseInt(robotUser.getRobotId())) {
+ Integer seat = tms.getInt("seat");
+ robotUser.setSeat(seat);
+ }
}
- }
- System.out.println("playerData:"+playerData);
+ System.out.println("playerData:" + playerData);
- System.out.println("obj:"+obj);
- System.out.println("reloadInfo:"+reloadInfo);
- if(reloadInfo!=null) {
- //重连回来的
- int curren_outcard_seat = reloadInfo.getInt("curren_outcard_seat");
- if(curren_outcard_seat== robotUser.getSeat()){
- //同步手牌
- ITArray hand_card = reloadInfo.getTArray("hand_card");
- ITArray info_list = reloadInfo.getTArray("info_list");
-
- List hcard = new ArrayList<>();
- if(hand_card!=null) {
- for (int i = 0; i < hand_card.size(); i++) {
- hcard.add(hand_card.getInt(i));
- }
- }
- ITArray outcard_list = new TArray();
- if(info_list!=null) {
- for (int i = 0; i < info_list.size(); i++) {
- ITObject tms = info_list.getTObject(i);
- Integer playerid = tms.getInt("playerid");
- if(playerid==Integer.parseInt(robotUser.getRobotId())){
- outcard_list = tms.getTArray("outcard_list");
- }
- }
- }
-
- System.out.println("hcard>0"+hcard);
- if(hcard.size()>0){
+ System.out.println("obj:" + obj);
+ System.out.println("reloadInfo:" + reloadInfo);
+ if (reloadInfo != null) {
+ //重连回来的
+ int curren_outcard_seat = reloadInfo.getInt("curren_outcard_seat");
+ if (curren_outcard_seat == robotUser.getSeat()) {
//同步手牌
- HuNanHongZhong currentInstance = getHuNanHongZhongInstance(connecId);
-
- //同步逻辑比较手牌数量
- List currentHand = currentInstance.getHongZhongCardInhand();
- if (currentHand.isEmpty() || hcard.size() > currentHand.size()) {
- //手牌集合为空 或者 玩家出牌了
- currentInstance.updateHandCard(hcard);
- System.out.println("断线重连:同步手牌数据,服务器手牌:" + hcard);
- } else {
- System.out.println("断线重连:使用Redis恢复的手牌数据,数量:" + currentHand.size());
+ ITArray hand_card = reloadInfo.getTArray("hand_card");
+ ITArray info_list = reloadInfo.getTArray("info_list");
+
+ List hcard = new ArrayList<>();
+ if (hand_card != null) {
+ for (int i = 0; i < hand_card.size(); i++) {
+ hcard.add(hand_card.getInt(i));
+ }
+ }
+ ITArray outcard_list = new TArray();
+ if (info_list != null) {
+ for (int i = 0; i < info_list.size(); i++) {
+ ITObject tms = info_list.getTObject(i);
+ Integer playerid = tms.getInt("playerid");
+ if (playerid == Integer.parseInt(robotUser.getRobotId())) {
+ outcard_list = tms.getTArray("outcard_list");
+ }
+ }
}
- if(outcard_list.size()>0){
- List outcards = new ArrayList<>();
- for (int i = 0; i < outcard_list.size(); i++) {
- outcards.add(outcard_list.getInt(i));
- }
-
- //检查出牌记录是否需要同步
- List currentOutCards = currentInstance.getChuGuoCardInhand();
- if (currentOutCards.isEmpty() || outcards.size() > currentOutCards.size()) {
- currentInstance.updateOutCard(outcards);
- System.out.println("断线重连:同步出牌数据,服务器出牌:" + outcards);
+ System.out.println("hcard>0" + hcard);
+ if (hcard.size() > 0) {
+ //同步手牌
+ HuNanHongZhong currentInstance = getHuNanHongZhongInstance(connecId);
+
+ //同步逻辑比较手牌数量
+ List currentHand = currentInstance.getHongZhongCardInhand();
+ if (currentHand.isEmpty() || hcard.size() > currentHand.size()) {
+ //手牌集合为空 或者 玩家出牌了
+ currentInstance.updateHandCard(hcard);
+ System.out.println("断线重连:同步手牌数据,服务器手牌:" + hcard);
} else {
- System.out.println("断线重连:使用Redis恢复的出牌数据,数量:" + currentOutCards.size());
+ System.out.println("断线重连:使用Redis恢复的手牌数据,数量:" + currentHand.size());
}
- }
- sleepTime(2000);
- currentInstance.outCard(client);
- } else {
- System.err.println("警告:重连时未获取到手牌数据");
+ if (outcard_list.size() > 0) {
+ List outcards = new ArrayList<>();
+ for (int i = 0; i < outcard_list.size(); i++) {
+ outcards.add(outcard_list.getInt(i));
+ }
+
+ //检查出牌记录是否需要同步
+ List currentOutCards = currentInstance.getChuGuoCardInhand();
+ if (currentOutCards.isEmpty() || outcards.size() > currentOutCards.size()) {
+ currentInstance.updateOutCard(outcards);
+ System.out.println("断线重连:同步出牌数据,服务器出牌:" + outcards);
+ } else {
+ System.out.println("断线重连:使用Redis恢复的出牌数据,数量:" + currentOutCards.size());
+ }
+ }
+
+ sleepTime(2000);
+ currentInstance.outCard(client);
+ } else {
+ System.err.println("警告:重连时未获取到手牌数据");
+ }
}
}
}
+ }finally {
+
}
}else {
renconnect(robotUser);
diff --git a/robots/majiang/robot_mj_hz/src/main/java/robot/mj/handler/HuNanHongZhong.java b/robots/majiang/robot_mj_hz/src/main/java/robot/mj/handler/HuNanHongZhong.java
index 032c69f..a5b0ab0 100644
--- a/robots/majiang/robot_mj_hz/src/main/java/robot/mj/handler/HuNanHongZhong.java
+++ b/robots/majiang/robot_mj_hz/src/main/java/robot/mj/handler/HuNanHongZhong.java
@@ -378,41 +378,49 @@ public class HuNanHongZhong {
// public String outCard(TaurusClient client, List< Integer> list) {
public String outCard(TaurusClient client) {
// 调用分离分析方法,将刻子、顺子、红中单独拎出后分析剩余牌
- System.out.println("[HuNanHongZhong] 出牌前分离分析手牌结构...");
- hongZhongSuanFaTest.separateAndAnalyzeHand(hongZhongCardInhand);
+ try {
+ System.out.println("[HuNanHongZhong] 出牌前分离分析手牌结构...");
+ hongZhongSuanFaTest.separateAndAnalyzeHand(hongZhongCardInhand);
- // 红中麻将出牌
- String hongzhongOutCard = hongZhongSuanFaTest.outCardSuanFa(hongZhongCardInhand, hongZhongCard);
+ // 红中麻将出牌
+ String hongzhongOutCard = hongZhongSuanFaTest.outCardSuanFa(hongZhongCardInhand, hongZhongCard);
// String hongzhongOutCard = hongZhongSuanFaTest.outCardSuanFa(list, hongZhongCard);
- ITObject params = TObject.newInstance();
- int cardToOut;
- if (StringUtil.isNotEmpty(hongzhongOutCard)) {
- cardToOut = Integer.parseInt(hongzhongOutCard);
- } else {
- cardToOut = hongZhongCardInhand.get(0);
- }
- params.putInt("card", cardToOut);
+ ITObject params = TObject.newInstance();
+ int cardToOut;
+ if (StringUtil.isNotEmpty(hongzhongOutCard)) {
+ cardToOut = Integer.parseInt(hongzhongOutCard);
+ } else {
+ cardToOut = hongZhongCardInhand.get(0);
+ }
+ params.putInt("card", cardToOut);
- int outCountBefore = hongZhongchuguopai.size(); // 当前历史出牌数量
+ int outCountBefore = hongZhongchuguopai.size(); // 当前历史出牌数量
- // 第n次出牌时,发送前n-1张出牌
- if (outCountBefore >= 1) {
- // 发送前n-1张(所有历史出牌)
- List cardsToSend = hongZhongchuguopai.subList(0, outCountBefore);
- params.putTArray("outcard_list", CardUtil.maJiangToTArray(cardsToSend));
+ // 第n次出牌时,发送前n-1张出牌
+ if (outCountBefore >= 1) {
+ // 发送前n-1张(所有历史出牌)
+ List cardsToSend = hongZhongchuguopai.subList(0, outCountBefore);
+ params.putTArray("outcard_list", CardUtil.maJiangToTArray(cardsToSend));
+ }
+ params.putTArray("card_list", CardUtil.maJiangToTArray(hongZhongCardInhand));
+ System.out.println("机器人牌============" + params);
+ // 将当前出的牌添加到历史出牌列表
+ hongZhongchuguopai.add(cardToOut);
+ // 从手牌中移除
+ hongZhongCardInhand.remove(Integer.valueOf(cardToOut));
+ System.out.println("出牌: " + cardToOut);
+ System.out.println("目前机器人剩余手牌:" + hongZhongCardInhand.toString());
+ params.putString("session", session + "," + token);
+
+ int ot = new Random().nextInt(5);
+ Thread.sleep(ot * 1000);
+
+ client.send("611", params, response -> {
+ System.out.println("出牌成功: " + response.returnCode);
+ });
+ }catch (Exception e) {
+ // e.printStackTrace();
}
- params.putTArray("card_list", CardUtil.maJiangToTArray(hongZhongCardInhand));
- System.out.println("机器人牌============" + params);
- // 将当前出的牌添加到历史出牌列表
- hongZhongchuguopai.add(cardToOut);
- // 从手牌中移除
- hongZhongCardInhand.remove(Integer.valueOf(cardToOut));
- System.out.println("出牌: " + cardToOut);
- System.out.println("目前机器人剩余手牌:" + hongZhongCardInhand.toString());
- params.putString("session", session + "," + token);
- client.send("611", params, response -> {
- System.out.println("出牌成功: " + response.returnCode);
- });
return null;
}
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/Config.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/Config.class
new file mode 100644
index 0000000..8734b39
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/Config.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXActionEvent.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXActionEvent.class
new file mode 100644
index 0000000..bb093fb
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXActionEvent.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXGameController.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXGameController.class
new file mode 100644
index 0000000..3a27b97
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXGameController.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXMainServer.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXMainServer.class
new file mode 100644
index 0000000..6784783
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXMainServer.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXPlayer.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXPlayer.class
new file mode 100644
index 0000000..769fb81
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXPlayer.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXRoom.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXRoom.class
new file mode 100644
index 0000000..a4c8ae0
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/EXRoom.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager$1.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager$1.class
new file mode 100644
index 0000000..c3adc88
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager$1.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager$2.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager$2.class
new file mode 100644
index 0000000..516fb7c
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager$2.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager$3.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager$3.class
new file mode 100644
index 0000000..24d703a
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager$3.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager.class
new file mode 100644
index 0000000..0b01258
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RobotConnectionManager.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/RoomCreator$RoomInfo.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RoomCreator$RoomInfo.class
new file mode 100644
index 0000000..d8bbb63
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RoomCreator$RoomInfo.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/RoomCreator.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RoomCreator.class
new file mode 100644
index 0000000..0c8a3ba
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/RoomCreator.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/business/AccountBusiness.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/business/AccountBusiness.class
new file mode 100644
index 0000000..6b467ac
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/business/AccountBusiness.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/handler/HuNanHongZhong$1.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/handler/HuNanHongZhong$1.class
new file mode 100644
index 0000000..f9e762c
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/handler/HuNanHongZhong$1.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/handler/HuNanHongZhong$2.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/handler/HuNanHongZhong$2.class
new file mode 100644
index 0000000..3e49258
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/handler/HuNanHongZhong$2.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/handler/HuNanHongZhong.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/handler/HuNanHongZhong.class
new file mode 100644
index 0000000..38f1697
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/handler/HuNanHongZhong.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/robot/mj/info/RobotUser.class b/robots/majiang/robot_mj_hz/target/classes/robot/mj/info/RobotUser.class
new file mode 100644
index 0000000..78a808e
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/robot/mj/info/RobotUser.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/CardUtil.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/CardUtil.class
new file mode 100644
index 0000000..5568476
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/CardUtil.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$1.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$1.class
new file mode 100644
index 0000000..53e3a2b
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$1.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$GamePhase.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$GamePhase.class
new file mode 100644
index 0000000..97d48b4
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$GamePhase.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$HandAnalysis.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$HandAnalysis.class
new file mode 100644
index 0000000..3ec1c55
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$HandAnalysis.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$SpecialPattern.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$SpecialPattern.class
new file mode 100644
index 0000000..f7e2c52
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$SpecialPattern.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$StrategyType.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$StrategyType.class
new file mode 100644
index 0000000..f6f3cab
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$StrategyType.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$WinResult.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$WinResult.class
new file mode 100644
index 0000000..f229e32
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest$WinResult.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest.class
new file mode 100644
index 0000000..d715cac
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/HongZhongSuanFaTest.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/ROBOTEventType.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/ROBOTEventType.class
new file mode 100644
index 0000000..182bde5
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/ROBOTEventType.class differ
diff --git a/robots/majiang/robot_mj_hz/target/classes/taurus/util/Util.class b/robots/majiang/robot_mj_hz/target/classes/taurus/util/Util.class
new file mode 100644
index 0000000..1e90a29
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/classes/taurus/util/Util.class differ
diff --git a/robots/majiang/robot_mj_hz/target/maven-archiver/pom.properties b/robots/majiang/robot_mj_hz/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..f9deba2
--- /dev/null
+++ b/robots/majiang/robot_mj_hz/target/maven-archiver/pom.properties
@@ -0,0 +1,3 @@
+artifactId=robot_mj_hongzhong
+groupId=com.robot
+version=1.0.0
diff --git a/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..58f6985
--- /dev/null
+++ b/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,27 @@
+taurus\util\CardUtil.class
+taurus\util\HongZhongSuanFaTest$1.class
+robot\mj\Config.class
+robot\mj\RobotConnectionManager$3.class
+taurus\util\HongZhongSuanFaTest$StrategyType.class
+robot\mj\handler\HuNanHongZhong$1.class
+robot\mj\business\AccountBusiness.class
+robot\mj\RobotConnectionManager.class
+taurus\util\HongZhongSuanFaTest$GamePhase.class
+robot\mj\RoomCreator$RoomInfo.class
+robot\mj\EXMainServer.class
+robot\mj\EXPlayer.class
+robot\mj\EXGameController.class
+taurus\util\ROBOTEventType.class
+robot\mj\EXRoom.class
+taurus\util\Util.class
+taurus\util\HongZhongSuanFaTest$HandAnalysis.class
+taurus\util\HongZhongSuanFaTest.class
+robot\mj\RoomCreator.class
+robot\mj\handler\HuNanHongZhong$2.class
+taurus\util\HongZhongSuanFaTest$SpecialPattern.class
+robot\mj\info\RobotUser.class
+taurus\util\HongZhongSuanFaTest$WinResult.class
+robot\mj\RobotConnectionManager$2.class
+robot\mj\RobotConnectionManager$1.class
+robot\mj\handler\HuNanHongZhong.class
+robot\mj\EXActionEvent.class
diff --git a/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..29fd4e0
--- /dev/null
+++ b/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,15 @@
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\EXPlayer.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\handler\HuNanHongZhong.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\taurus\util\HongZhongSuanFaTest.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\EXActionEvent.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\taurus\util\ROBOTEventType.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\taurus\util\Util.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\Config.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\EXMainServer.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\RobotConnectionManager.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\info\RobotUser.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\business\AccountBusiness.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\EXRoom.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\RoomCreator.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\taurus\util\CardUtil.java
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\main\java\robot\mj\EXGameController.java
diff --git a/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000..6589558
--- /dev/null
+++ b/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -0,0 +1 @@
+robot_mj_hongzhong\Main.class
diff --git a/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..2eda5cb
--- /dev/null
+++ b/robots/majiang/robot_mj_hz/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1 @@
+D:\robotpro\robot_webgroup\robots\majiang\robot_mj_hz\src\test\java\robot_mj_hongzhong\Main.java
diff --git a/robots/majiang/robot_mj_hz/target/robot.jar b/robots/majiang/robot_mj_hz/target/robot.jar
new file mode 100644
index 0000000..0eec738
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/robot.jar differ
diff --git a/robots/majiang/robot_mj_hz/target/test-classes/robot_mj_hongzhong/Main.class b/robots/majiang/robot_mj_hz/target/test-classes/robot_mj_hongzhong/Main.class
new file mode 100644
index 0000000..91a3699
Binary files /dev/null and b/robots/majiang/robot_mj_hz/target/test-classes/robot_mj_hongzhong/Main.class differ
diff --git a/robots/puke/robot_pk_pdk/pom.xml b/robots/puke/robot_pk_pdk/pom.xml
index 5821a88..c31ca02 100644
--- a/robots/puke/robot_pk_pdk/pom.xml
+++ b/robots/puke/robot_pk_pdk/pom.xml
@@ -7,7 +7,7 @@
1.0.0
jar
- robot_mj_changsha
+ robot_pk_paodekuai
http://maven.apache.org
diff --git a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/Config.java b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/Config.java
index 1b30f78..e283639 100644
--- a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/Config.java
+++ b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/Config.java
@@ -131,6 +131,8 @@ public class Config {
*/
public static final String JOIN_ROOM_CS = "1002";
+ public static final String GAME_EVT_PIAO = "2032";
+
/**
* 退出房间 - robot_mgr to game_mj_cs 的内部协议号
*/
diff --git a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/EXGameController.java b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/EXGameController.java
index 8fb3187..7d5c91f 100644
--- a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/EXGameController.java
+++ b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/EXGameController.java
@@ -364,7 +364,7 @@ public class EXGameController extends GameController {
RobotUser robotUserCopy = new RobotUser();
robotUserCopy.setRobotId(robotId);
robotUserCopy.setPassword("123456");
- robotUserCopy.setGameHost("8.134.76.43");
+ robotUserCopy.setGameHost("127.0.0.1");
robotUserCopy.setGamePort("6841");
robotUserCopy.setRobotGroupid("330800");
robotUserCopy.setRobotPid("66");
diff --git a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/EXMainServer.java b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/EXMainServer.java
index 5301bd6..090e1c8 100644
--- a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/EXMainServer.java
+++ b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/EXMainServer.java
@@ -51,7 +51,7 @@ public class EXMainServer extends MainServer{
RobotUser robotUser = new RobotUser();
robotUser.setRobotId(entry.getKey());
robotUser.setPassword("123456");
- robotUser.setGameHost("8.134.76.43");
+ robotUser.setGameHost("127.0.0.1");
robotUser.setGamePort("6841");
robotUser.setRobotGroupid("762479");
robotUser.setRobotPid("66");
@@ -130,7 +130,7 @@ public class EXMainServer extends MainServer{
} catch (Exception e) {
}
}
- }, "NetEvent-Thread");
+ }, "paodekuai-Thread");
eventThread.setDaemon(true); // 设置为守护线程
eventThread.start();
diff --git a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/RobotConnectionManager.java b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/RobotConnectionManager.java
index 7ac4235..88fbf5c 100644
--- a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/RobotConnectionManager.java
+++ b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/RobotConnectionManager.java
@@ -33,7 +33,7 @@ public class RobotConnectionManager {
private static final Map huNanPaoDeKuaiInstances = new ConcurrentHashMap<>();
private final EXGameController exGameController;
- private final String host="8.134.76.43";
+ private final String host="127.0.0.1";
private final int port=6841;
@@ -177,60 +177,61 @@ public class RobotConnectionManager {
public void reconnectToGameServer(MessageResponse response, RobotUser robotUser, TaurusClient client) {
String connecId = robotUser.getCurrentRoomId()+"_"+robotUser.getRobotId();
if(client.isConnected()){
- ITObject obj = response.messageData.param.getTObject("tableInfo");
- ITObject reloadInfo = response.messageData.param.getTObject("reloadInfo");
- if (obj!=null) {
- //处理 seat
- //获取机器人的seat
- ITArray playerData = obj.getTArray("playerData");
- for (int i = 0; i < playerData.size(); i++) {
- ITObject tms = playerData.getTObject(i);
- Integer tmuserid = tms.getInt("aid");
- if(tmuserid==Integer.parseInt(robotUser.getRobotId())){
- Integer seat = tms.getInt("seat");
- robotUser.setSeat(seat);
- }
- }
- System.out.println("playerData:"+playerData);
-
- System.out.println("obj:"+obj);
- System.out.println("reloadInfo:"+reloadInfo);
- if(reloadInfo!=null) {
- //重连回来的
- //同步手牌
- ITArray hand_card = reloadInfo.getTArray("hand_card");
- ITArray info_list = reloadInfo.getTArray("info_list");
-
- List hcard = new ArrayList<>();
- if(hand_card!=null) {
- for (int i = 0; i < hand_card.size(); i++) {
- hcard.add(hand_card.getInt(i));
+ try {
+ ITObject obj = response.messageData.param.getTObject("tableInfo");
+ ITObject reloadInfo = response.messageData.param.getTObject("reloadInfo");
+ if (obj != null) {
+ //处理 seat
+ //获取机器人的seat
+ ITArray playerData = obj.getTArray("playerData");
+ for (int i = 0; i < playerData.size(); i++) {
+ ITObject tms = playerData.getTObject(i);
+ Integer tmuserid = tms.getInt("aid");
+ if (tmuserid == Integer.parseInt(robotUser.getRobotId())) {
+ Integer seat = tms.getInt("seat");
+ robotUser.setSeat(seat);
}
}
- ITArray outcard_list = new TArray();
- if(info_list!=null) {
- for (int i = 0; i < info_list.size(); i++) {
- ITObject tms = info_list.getTObject(i);
- Integer playerid = tms.getInt("playerid");
- if(playerid==Integer.parseInt(robotUser.getRobotId())){
- outcard_list = tms.getTArray("outcard_list");
+ System.out.println("playerData:" + playerData);
+
+ System.out.println("obj:" + obj);
+ System.out.println("reloadInfo:" + reloadInfo);
+ if (reloadInfo != null) {
+ //重连回来的
+ //同步手牌
+ ITArray hand_card = reloadInfo.getTArray("hand_card");
+ ITArray info_list = reloadInfo.getTArray("info_list");
+
+ List hcard = new ArrayList<>();
+ if (hand_card != null) {
+ for (int i = 0; i < hand_card.size(); i++) {
+ hcard.add(hand_card.getInt(i));
}
}
- }
-
- System.out.println("hcard>0"+hcard);
- if(hcard.size()>0){
- //同步手牌
- HuNanPaoDeKuai currentInstance = getHuNanPaoDeKuaiInstance(connecId);
-
- //同步逻辑
- if (hcard.size() > 0) {
- //直接同步服务器手牌数据
- currentInstance.updateHandCard(hcard);
- System.out.println("断线重连:同步手牌数据,服务器手牌:" + hcard);
+ ITArray outcard_list = new TArray();
+ if (info_list != null) {
+ for (int i = 0; i < info_list.size(); i++) {
+ ITObject tms = info_list.getTObject(i);
+ Integer playerid = tms.getInt("playerid");
+ if (playerid == Integer.parseInt(robotUser.getRobotId())) {
+ outcard_list = tms.getTArray("outcard_list");
+ }
+ }
}
- //同步最后出牌信息
+ System.out.println("hcard>0" + hcard);
+ if (hcard.size() > 0) {
+ //同步手牌
+ HuNanPaoDeKuai currentInstance = getHuNanPaoDeKuaiInstance(connecId);
+
+ //同步逻辑
+ if (hcard.size() > 0) {
+ //直接同步服务器手牌数据
+ currentInstance.updateHandCard(hcard);
+ System.out.println("断线重连:同步手牌数据,服务器手牌:" + hcard);
+ }
+
+ //同步最后出牌信息
/*if(info_list!=null) {
for (int i = 0; i < info_list.size(); i++) {
ITObject playerInfo = info_list.getTObject(i);
@@ -260,12 +261,15 @@ public class RobotConnectionManager {
}
}*/
- sleepTime(2000);
- currentInstance.outCard(client);
- } else {
- System.err.println("警告:重连时未获取到手牌数据");
+ sleepTime(2000);
+ currentInstance.outCard(client);
+ } else {
+ System.err.println("警告:重连时未获取到手牌数据");
+ }
}
}
+ }finally {
+
}
}else {
renconnect(robotUser);
@@ -374,7 +378,11 @@ public class RobotConnectionManager {
else if ("2008".equalsIgnoreCase(command)) {
updateLeftoverRobot(Integer.parseInt(robotUser.getRobotId()));
disconnectFromGameServer(connecId);
+ }else if("2031".equalsIgnoreCase(command)) {
+ //飘回复
+ huNanPaoDeKuai.piao(client);
}
+
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
diff --git a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/handler/HuNanPaoDeKuai.java b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/handler/HuNanPaoDeKuai.java
index 1a43cda..1213508 100644
--- a/robots/puke/robot_pk_pdk/src/main/java/robot/mj/handler/HuNanPaoDeKuai.java
+++ b/robots/puke/robot_pk_pdk/src/main/java/robot/mj/handler/HuNanPaoDeKuai.java
@@ -12,10 +12,7 @@ import taurus.util.CardObj;
import taurus.util.CardUtil;
import taurus.util.test;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
public class HuNanPaoDeKuai {
@@ -211,33 +208,55 @@ public class HuNanPaoDeKuai {
System.out.println("updateOutCard - 已更新card_list:" + card_list);
}
+
+ public String piao(TaurusClient client){
+ List sl = new ArrayList<>();
+ sl.add(0);
+ sl.add(2);
+ sl.add(3);
+ sl.add(5);
+ int p = new Random().nextInt(3);
+ ITObject params = TObject.newInstance();
+ params.putInt("id", sl.get(p));
+ client.send("1015", params, response -> {
+ });
+ return null;
+ }
/**
* 出牌方法
*/
public String outCard(TaurusClient client) {
- ITArray itArray = null;
- itArray = test.intelligentPaoDeKuaiOutCard(this,paoDekuaiCardInhand, card_list, seatRemainHistory);
- System.out.println("itArray-----" + itArray);
- if (remain == 1 && itArray == null) { //如果玩家的下家只有一张牌,玩家出单张必须是最大的
- CardObj maxSingleCard = CardUtil.findMaxSingleCard(paoDekuaiCardInhand);
- System.out.println("出的最大牌 " + maxSingleCard);
- itArray = CardUtil.toTArray1(maxSingleCard);
+ try {
+ ITArray itArray = null;
+ itArray = test.intelligentPaoDeKuaiOutCard(this, paoDekuaiCardInhand, card_list, seatRemainHistory);
+ System.out.println("itArray-----" + itArray);
+ if (remain == 1 && itArray == null) { //如果玩家的下家只有一张牌,玩家出单张必须是最大的
+ CardObj maxSingleCard = CardUtil.findMaxSingleCard(paoDekuaiCardInhand);
+ System.out.println("出的最大牌 " + maxSingleCard);
+ itArray = CardUtil.toTArray1(maxSingleCard);
+ }
+
+ //跑得快出牌
+ System.out.println("机器人出牌 " + seat + CardUtil.toList(itArray));
+ ITObject params = TObject.newInstance();
+ params.putString("session", session + "," + token);
+ params.putTArray("card", itArray);
+ params.putTArray("all_card", CardUtil.toTArray(paoDekuaiCardInhand));
+ CardUtil.removeCard(paoDekuaiCardInhand, CardUtil.toList(itArray)); //删除手牌里打过的牌
+ System.out.println("目前机器人剩余手牌:" + paoDekuaiCardInhand.toString());
+
+ int ot = new Random().nextInt(5);
+ Thread.sleep(ot * 1000);
+
+ client.send("1013", params, response ->
+
+ {
+ System.out.println("出牌成功: " + response.returnCode);
+ });
+ }catch (Exception e) {
+
}
-
- //跑得快出牌
- System.out.println("机器人出牌 " + seat + CardUtil.toList(itArray));
- ITObject params = TObject.newInstance();
- params.putString("session", session + "," + token);
- params.putTArray("card", itArray);
- params.putTArray("all_card", CardUtil.toTArray(paoDekuaiCardInhand));
- CardUtil.removeCard(paoDekuaiCardInhand, CardUtil.toList(itArray)); //删除手牌里打过的牌
- System.out.println("目前机器人剩余手牌:" + paoDekuaiCardInhand.toString());
- client.send("1013", params, response ->
-
- {
- System.out.println("出牌成功: " + response.returnCode);
- });
return null;
}
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/Config.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/Config.class
new file mode 100644
index 0000000..d7474c7
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/Config.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXActionEvent.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXActionEvent.class
new file mode 100644
index 0000000..bb093fb
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXActionEvent.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXGameController.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXGameController.class
new file mode 100644
index 0000000..bcbd0dc
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXGameController.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXMainServer.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXMainServer.class
new file mode 100644
index 0000000..3e96f6a
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXMainServer.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXPlayer.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXPlayer.class
new file mode 100644
index 0000000..769fb81
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXPlayer.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXRoom.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXRoom.class
new file mode 100644
index 0000000..a4c8ae0
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/EXRoom.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/RobotConnectionManager$1.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RobotConnectionManager$1.class
new file mode 100644
index 0000000..fda82dd
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RobotConnectionManager$1.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/RobotConnectionManager$2.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RobotConnectionManager$2.class
new file mode 100644
index 0000000..5e6d52b
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RobotConnectionManager$2.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/RobotConnectionManager.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RobotConnectionManager.class
new file mode 100644
index 0000000..99723ff
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RobotConnectionManager.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/RoomCreator$RoomInfo.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RoomCreator$RoomInfo.class
new file mode 100644
index 0000000..d8bbb63
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RoomCreator$RoomInfo.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/RoomCreator.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RoomCreator.class
new file mode 100644
index 0000000..abc129c
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/RoomCreator.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/business/AccountBusiness.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/business/AccountBusiness.class
new file mode 100644
index 0000000..6b467ac
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/business/AccountBusiness.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/handler/HuNanPaoDeKuai$1.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/handler/HuNanPaoDeKuai$1.class
new file mode 100644
index 0000000..421d5f9
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/handler/HuNanPaoDeKuai$1.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/handler/HuNanPaoDeKuai$2.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/handler/HuNanPaoDeKuai$2.class
new file mode 100644
index 0000000..18b7a67
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/handler/HuNanPaoDeKuai$2.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/handler/HuNanPaoDeKuai.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/handler/HuNanPaoDeKuai.class
new file mode 100644
index 0000000..fde07e7
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/handler/HuNanPaoDeKuai.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/robot/mj/info/RobotUser.class b/robots/puke/robot_pk_pdk/target/classes/robot/mj/info/RobotUser.class
new file mode 100644
index 0000000..78a808e
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/robot/mj/info/RobotUser.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/CardObj.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/CardObj.class
new file mode 100644
index 0000000..0ee73f3
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/CardObj.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/CardUtil.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/CardUtil.class
new file mode 100644
index 0000000..011dc3a
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/CardUtil.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/ROBOTEventType.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/ROBOTEventType.class
new file mode 100644
index 0000000..182bde5
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/ROBOTEventType.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$CarryOption.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$CarryOption.class
new file mode 100644
index 0000000..f94b833
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$CarryOption.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$HandAnalysis.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$HandAnalysis.class
new file mode 100644
index 0000000..8b06b80
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$HandAnalysis.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$PlayOption.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$PlayOption.class
new file mode 100644
index 0000000..0fd969a
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$PlayOption.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$PlayOptionWithRemain.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$PlayOptionWithRemain.class
new file mode 100644
index 0000000..7ec55a8
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$PlayOptionWithRemain.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$RemainAnalysis.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$RemainAnalysis.class
new file mode 100644
index 0000000..ea435c4
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$RemainAnalysis.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$RemainHandAnalysis.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$RemainHandAnalysis.class
new file mode 100644
index 0000000..3fc0a78
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test$RemainHandAnalysis.class differ
diff --git a/robots/puke/robot_pk_pdk/target/classes/taurus/util/test.class b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test.class
new file mode 100644
index 0000000..4809407
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/classes/taurus/util/test.class differ
diff --git a/robots/puke/robot_pk_pdk/target/maven-archiver/pom.properties b/robots/puke/robot_pk_pdk/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..5925fd9
--- /dev/null
+++ b/robots/puke/robot_pk_pdk/target/maven-archiver/pom.properties
@@ -0,0 +1,3 @@
+artifactId=robot_pk_paodekuai
+groupId=com.robot
+version=1.0.0
diff --git a/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..c9ac857
--- /dev/null
+++ b/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,26 @@
+taurus\util\CardUtil.class
+robot\mj\Config.class
+robot\mj\business\AccountBusiness.class
+robot\mj\handler\HuNanPaoDeKuai$1.class
+robot\mj\RobotConnectionManager.class
+robot\mj\RoomCreator$RoomInfo.class
+robot\mj\EXMainServer.class
+robot\mj\EXPlayer.class
+robot\mj\EXGameController.class
+taurus\util\test$PlayOptionWithRemain.class
+taurus\util\test.class
+taurus\util\ROBOTEventType.class
+robot\mj\EXRoom.class
+robot\mj\handler\HuNanPaoDeKuai$2.class
+taurus\util\test$HandAnalysis.class
+taurus\util\test$RemainAnalysis.class
+robot\mj\RoomCreator.class
+taurus\util\test$CarryOption.class
+robot\mj\info\RobotUser.class
+robot\mj\RobotConnectionManager$2.class
+taurus\util\test$PlayOption.class
+robot\mj\RobotConnectionManager$1.class
+taurus\util\CardObj.class
+robot\mj\handler\HuNanPaoDeKuai.class
+taurus\util\test$RemainHandAnalysis.class
+robot\mj\EXActionEvent.class
diff --git a/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..c2215ba
--- /dev/null
+++ b/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,15 @@
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\taurus\util\CardObj.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\EXRoom.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\EXActionEvent.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\EXPlayer.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\RobotConnectionManager.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\EXGameController.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\EXMainServer.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\info\RobotUser.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\handler\HuNanPaoDeKuai.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\taurus\util\ROBOTEventType.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\business\AccountBusiness.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\RoomCreator.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\robot\mj\Config.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\taurus\util\CardUtil.java
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\main\java\taurus\util\test.java
diff --git a/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000..6589558
--- /dev/null
+++ b/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -0,0 +1 @@
+robot_mj_hongzhong\Main.class
diff --git a/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..887417b
--- /dev/null
+++ b/robots/puke/robot_pk_pdk/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1 @@
+D:\robotpro\robot_webgroup\robots\puke\robot_pk_pdk\src\test\java\robot_mj_hongzhong\Main.java
diff --git a/robots/puke/robot_pk_pdk/target/robot.jar b/robots/puke/robot_pk_pdk/target/robot.jar
new file mode 100644
index 0000000..96c4b57
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/robot.jar differ
diff --git a/robots/puke/robot_pk_pdk/target/test-classes/robot_mj_hongzhong/Main.class b/robots/puke/robot_pk_pdk/target/test-classes/robot_mj_hongzhong/Main.class
new file mode 100644
index 0000000..7a187dd
Binary files /dev/null and b/robots/puke/robot_pk_pdk/target/test-classes/robot_mj_hongzhong/Main.class differ