Serve un nome per creare o entrare in una sala (stesso profilo degli altri giochi).
Un giocatore crea una sala: si genera un codice di 6 caratteri (lettere e numeri, senza I/O/0/1 ambigui). Condividilo o il link invito. Massimo 4 giocatori per sala (scegli il tetto: 2, 3 o 4 posti). L'host avvia la partita solo con almeno 2 giocatori in sala.
Gli altri giocatori entrano nella stessa sala incollando il codice a 6 caratteri (o aprendo il link invito). Stesso codice per tutti; non si superano mai 4 giocatori in una sala.
mp_room_create): codice 6 caratteri univoco (alfabeto senza I, O, 0, 1), id_host, max_giocatori tra 2 e 4, partecipanti iniziale solo l'host, stato lobby. Il pulsante «Crea sala» invia solo l'azione RPC.?c=…).stato da Supabase) e invia azioni con RPC (mp_room_create, mp_room_join, mp_room_start_partita, …). Non costruisce esiti di gioco né dati autoritativi. Logica di gioco: sul server (sette_e_mezzo_rpc.sql); shared/sette_e_mezzo_mazzo_40.js è solo riferimento/UI.mp_room_create — codice univoco, riga multiplayer_rooms, host, tetto posti, partecipanti e stato iniziali.mp_room_join — posti liberi, niente duplicati, aggiornamento elenco partecipanti.partecipanti (server). Presenza «scheda aperta» = Realtime Presence sul canale della sala (broker Supabase). Opzionale in futuro: ping RPC e ultimo_visto in DB.stato.fase e transizioni autoritative.stato: ordine_turno, indice_turno, turno_giocatore_id, impostati all'avvio e aggiornati da RPC). Il client mostra e invia azioni.stato.mani / stato.mazzo (mp_room_start_partita; chiavi CHIAVI_STATO_REPARTO in sette_e_mezzo_mazzo_40.js). Punti: mp_sumar_puntos_mano / mp_supera_siete_y_media. Vincitore finale: mp_ganadores_siete_y_media + eventuale esito_7ym in stato. Pesca e regole sempre RPC. Nota: con Realtime tutti ricevono lo stato completo — per nascondere le mani altrui in produzione servono RPC filtrate o canali dedicati.mp_sumar_puntos_mano, mp_supera_siete_y_media in SQL; riferimento cliente sumarPuntosMano / RPC_SQL_PUNTI in sette_e_mezzo_mazzo_40.js). Regola: As–7 = valore faccia (1–7); Fante (10), Cavallo (11), Re (12) = 0.5. 7 e mezzo: somma > 7.5 = fuori (7.5 esatto ok). Vincitore finale: tra le mani valide (≤ 7.5) vince la somma più alta; parità → più vincitori — server mp_ganadores_siete_y_media su stato.mani (spec JS ganadoresMasCercanosASieteYMedia; persistenza risultato es. CHIAVI_STATO_ESITO.ESITO_7YM). Reparto iniziale: 1 carta per ordine_turno (mp_room_start_partita); spec mazzo repartirUnaCartaInicial.stato.turno_giocatore_id (server). Azioni tipiche nel proprio turno: giocare, passare, chiedere carta (pescareDalMazzo / ACCION_TURNO.PEDIR_CARTA), stare (ACCION_TURNO.PLANTARSE). Chiavi stato turni: BarajaEspanola40.CHIAVI_STATO_TURNO (riferimento; autorità = RPC).Condividi il codice (o il link): gli altri entrano con lo stesso codice. Massimo 4 giocatori per sala (incluso l'host).
Generato automaticamente alla creazione.
Punto verde = connesso con questa pagina aperta su questa sala (Realtime Presence). Elenco = giocatori iscritti (Supabase).
mp_room_create), ingressi, avvio, mazzo/turni/regole (vedi SQL). Connessi: punto verde = pagina sala aperta (Presence); elenco = iscritti.ordine_turno, indice_turno (0) e turno_giocatore_id (primo nell'elenco iscritti).mp_sumar_puntos_mano / mp_supera_siete_y_media. Vincitore: mp_ganadores_siete_y_media su mani. Reparto: 1 carta (mani + mazzo). 7 e mezzo: oltre 7.5 = fuori.stato.turno_giocatore_id (server). Azioni: giocare, passare, chiedere carta, stare.