refactor(server): separa la logica WebSocket e centralizza le utility di avvio
Estrae la gestione dei messaggi WebSocket in un modulo dedicato. Rende server.js più snello e focalizzato su bootstrap HTTP/WS. Introduce utility per stampa URL di accesso e discovery IP di rete. Mantiene la logica di stato partita condivisa in gameState.js.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Shared game logic for segnapunti.
|
||||
* Used by both the WebSocket server and the client-side for local preview.
|
||||
* Logica di gioco condivisa per il segnapunti.
|
||||
* Utilizzata sia dal server WebSocket sia dal client per l'anteprima locale.
|
||||
*/
|
||||
|
||||
export function createInitialState() {
|
||||
@@ -51,8 +51,8 @@ export function checkVittoria(state) {
|
||||
}
|
||||
|
||||
export function applyAction(state, action) {
|
||||
// Deep-clone to avoid mutation issues (server-side)
|
||||
// Returns new state
|
||||
// Esegue un deep clone per evitare mutazioni indesiderate dello stato lato server.
|
||||
// Restituisce sempre un nuovo oggetto di stato.
|
||||
const s = JSON.parse(JSON.stringify(state))
|
||||
|
||||
switch (action.type) {
|
||||
|
||||
Reference in New Issue
Block a user