From d68068117af364d3a5f75d7916c4c54a9f4531c1 Mon Sep 17 00:00:00 2001 From: Paolo Date: Fri, 20 Mar 2026 20:00:01 +0100 Subject: [PATCH] Auto-sync: 20260320_200000 --- lib/ui/home/home_screen.dart | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/ui/home/home_screen.dart b/lib/ui/home/home_screen.dart index 596f81c..9764d53 100644 --- a/lib/ui/home/home_screen.dart +++ b/lib/ui/home/home_screen.dart @@ -305,7 +305,10 @@ class _HomeScreenState extends State with WidgetsBindingObserver { String roomCode = String.fromCharCodes(Iterable.generate(5, (_) => chars.codeUnitAt(rnd.nextInt(chars.length)))); try { - // 1. Creiamo la stanza sul database + // 1. IL SEGRETO DELLA SINCRONIZZAZIONE: Generiamo un "Seme" (Seed) comune! + int gameSeed = rnd.nextInt(9999999); + + // Creiamo la stanza privata con tutti i crismi (e il seed!) await FirebaseFirestore.instance.collection('games').doc(roomCode).set({ 'status': 'waiting', 'hostName': StorageService.instance.playerName, @@ -313,8 +316,12 @@ class _HomeScreenState extends State with WidgetsBindingObserver { 'radius': 4, 'shape': 'classic', 'timeMode': true, - 'isPublic': false, // È una stanza privata! + 'isPublic': false, // È una stanza privata 'createdAt': FieldValue.serverTimestamp(), + 'players': [FirebaseAuth.instance.currentUser?.uid], + 'turn': 0, + 'moves': [], + 'seed': gameSeed, // <--- ECCO IL PEZZO MANCANTE CHE GARANTISCE GRIGLIE IDENTICHE! }); // 2. Inviamo l'invito al nostro avversario