diff --git a/src/main/java/com/webgame/webgamebackend/service/RoomManager.java b/src/main/java/com/webgame/webgamebackend/service/RoomManager.java index e40812a..4583a53 100644 --- a/src/main/java/com/webgame/webgamebackend/service/RoomManager.java +++ b/src/main/java/com/webgame/webgamebackend/service/RoomManager.java @@ -14,6 +14,7 @@ import com.webgame.webgamebackend.service.engine.*; import com.webgame.webgamebackend.ws.RoomSessionManager; import com.webgame.webgamebackend.ws.dto.WsMessage; import com.webgame.webgamebackend.ws.dto.WsOutboundMessage; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -45,6 +46,7 @@ import java.util.stream.Collectors; */ @Slf4j @Component +@RequiredArgsConstructor public class RoomManager { private final GameConfigRepository gameConfigRepository; @@ -84,28 +86,6 @@ public class RoomManager { RoomRuntime(GameEngine gameEngine) { this.gameEngine = gameEngine; } } - public RoomManager(GameConfigRepository gameConfigRepository, - GameRoomRepository gameRoomRepository, - RoomPlayerRepository roomPlayerRepository, - UserRepository userRepository, - GameRecordRepository gameRecordRepository, - GameMoveRepository gameMoveRepository, - RoomSessionManager sessionManager, - GameEngineRegistry engineRegistry, - SseEventPublisher sseEventPublisher, - RoomEventBus eventBus) { - this.gameConfigRepository = gameConfigRepository; - this.gameRoomRepository = gameRoomRepository; - this.roomPlayerRepository = roomPlayerRepository; - this.userRepository = userRepository; - this.gameRecordRepository = gameRecordRepository; - this.gameMoveRepository = gameMoveRepository; - this.sessionManager = sessionManager; - this.engineRegistry = engineRegistry; - this.sseEventPublisher = sseEventPublisher; - this.eventBus = eventBus; - } - // ==================== 房间 CRUD ==================== /** diff --git a/src/main/java/com/webgame/webgamebackend/service/engine/GameState.java b/src/main/java/com/webgame/webgamebackend/service/engine/GameState.java index 7251d2f..836dd09 100644 --- a/src/main/java/com/webgame/webgamebackend/service/engine/GameState.java +++ b/src/main/java/com/webgame/webgamebackend/service/engine/GameState.java @@ -1,11 +1,18 @@ package com.webgame.webgamebackend.service.engine; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.AllArgsConstructor; + /** * 游戏状态快照 * * 由 GameEngine.getState() 返回,用于重连时同步完整游戏状态给前端。 * 具体游戏引擎可以扩展此类,添加游戏特定的状态字段。 */ +@Data +@NoArgsConstructor +@AllArgsConstructor public class GameState { /** 游戏是否已结束 */ @@ -22,30 +29,4 @@ public class GameState { /** 游戏特定数据(JSON 字符串),由各引擎自行填充 */ private String gameData; - - public GameState() {} - - public GameState(boolean finished, String winnerId, String resultType, - String currentTurn, String gameData) { - this.finished = finished; - this.winnerId = winnerId; - this.resultType = resultType; - this.currentTurn = currentTurn; - this.gameData = gameData; - } - - public boolean isFinished() { return finished; } - public void setFinished(boolean finished) { this.finished = finished; } - - public String getWinnerId() { return winnerId; } - public void setWinnerId(String winnerId) { this.winnerId = winnerId; } - - public String getResultType() { return resultType; } - public void setResultType(String resultType) { this.resultType = resultType; } - - public String getCurrentTurn() { return currentTurn; } - public void setCurrentTurn(String currentTurn) { this.currentTurn = currentTurn; } - - public String getGameData() { return gameData; } - public void setGameData(String gameData) { this.gameData = gameData; } } diff --git a/src/main/java/com/webgame/webgamebackend/service/engine/GomokuEngine.java b/src/main/java/com/webgame/webgamebackend/service/engine/GomokuEngine.java index ed3705c..bb1ce78 100644 --- a/src/main/java/com/webgame/webgamebackend/service/engine/GomokuEngine.java +++ b/src/main/java/com/webgame/webgamebackend/service/engine/GomokuEngine.java @@ -8,6 +8,7 @@ import com.webgame.webgamebackend.entities.GameMoveEntity; import com.webgame.webgamebackend.repository.GameMoveRepository; import com.webgame.webgamebackend.ws.dto.WsMessage; import com.webgame.webgamebackend.ws.dto.WsOutboundMessage; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; @@ -30,6 +31,7 @@ import java.util.concurrent.*; *
不关心房间管理(加入/离开/踢人/房主转移),只关心棋盘上的规则。
*/ @Slf4j +@RequiredArgsConstructor public class GomokuEngine implements GameEngine { /** 棋盘大小 */ @@ -55,10 +57,6 @@ public class GomokuEngine implements GameEngine { /** 断线倒计时: userId → Future */ private final ConcurrentHashMap