Comportamento di gioco
Ciascun giocatore è tenuto a mantenere un comportamento
corretto: non è consentito
disturbare molestare gli altri giocatori ed utilizzare linguaggio
volgare nella
chat: tutti i messaggi all’interno della chat sono
loggati.
Sia mediante l’utilizzo della chat che di qualsiasi altro
mezzo non è consentito
collaborare con alcuni giocatori a discapito di altri, compiere
irregolarità di
qualsiasi tipo o frodi a danno dei giocatori e di People’s
Poker.
Tutti gli utenti trasgressori vengono ammoniti tramite posta
elettronica.
Qualora il comportamento fosse continuato “People’s
Poker” provvederà a :
a) sospendere l’utilizzo della chat
all’utente;
b) sospendere temporaneamente o
definitivamente l’accesso all’ambiente
di gioco;
c) richiedere la chiusura del conto di gioco
dell’utente al titolare
di sistema;
d) in caso di comportamento che violi le
norme vigenti, l’utente
sarà denunciato alle autorità competenti.
Informazioni torneo
Tutti i dettagli di ogni specifico torneo si trovano, all'interno della
Lobby, nell’area
"Informazioni".
Iscrizione ai tornei
E' possibile registrarsi ad un torneo quando nel client di gioco nella
colonna relativa
allo stato del torneo selezionato appare il testo "Registrazione",
cliccando sul
bottone in basso a destra "Iscriviti all'evento".
Quando un giocatore si iscrive, il costo relativo al diritto di
partecipazione (fee+
commission) viene addebitato sul suo conto di gioco. La fee va a
costituire il montepremi,
mentre la commission va al concessionario come costo di
gestione.
È possibile deregistrarsi da un torneo cliccando sul bottone
“De-iscriviti”, presente
in basso a destra nella lobby del torneo selezionato. In questo caso
l'importo relativo
al costo di iscrizione al torneo viene rimborsato sul conto di gioco del
giocatore;
può venire detratto, se previsto, un importo pari alla
commissione per l'annullo
dell'iscrizione, pari ad una percentuale della quota di partecipazione.
Se un giocatore
iscritto a un torneo programmato non è connesso al momento
dell'inizio del torneo
stesso, viene messo in "Out" dal sistema che effettua automaticamente le
operazioni
di fold o check, quando consentito.
Tempi di gioco
Per ciascun torneo è definito il tempo massimo a disposizione
del giocatore per
compiere, al proprio turno, l'azione di gioco. Qualora il giocatore non
compia l'azione
di gioco entro il tempo a disposizione il sistema lo mette in "Out"; in
tal caso
il sistema effettua automaticamente una delle seguenti scelte: se
possibile "lascia"
altrimenti "vede". L'utente può riaccedere in qualsiasi momento
al tavolo cliccando
sul bottone "Sono tornato in gioco".
Out
Il giocatore, qualora lo desideri, può sospendere
temporaneamente il gioco selezionando
il tab "Riposa" e cliccando sul bottone "Mettimi Out per Riposare"; per
rientrare
deve cliccare sul bottone "Sono tornato in gioco". Durante il periodo in
cui il
giocatore è in "Out" il sistema continua ad effettuare le
scelte in sua vece: se
possibile "lascia" altrimenti "vede".
Assegnazione iniziale dei posti ai tavoli di gioco
La Poker room è in grado di ospitare tornei con un numero di
tavoli variabile ottenibile
dividendo il numero di partecipanti al torneo per il numero di giocatori
ospitabili
ad ogni singolo tavolo.
Esempio:
Numero di partecipanti al torneo:
124
Tipologia del tavolo: 10
giocatori
Numero di tavoli totali: (124 / 10) = 12,4
arrotondando per eccesso
= 13
Alla partenza di ogni torneo, una volta definito il numero di tavoli
iniziali, il
software assegna in modo del tutto casuale sia il tavolo che la
posizione all’interno
di esso di ogni singolo partecipante.
Una volta assegnati i posti, il software estrae per ogni giocatore una
carta ed
il giocatore in possesso della carta più alta sarà il
primo a svolgere il compito
del mazziere.
Il criterio con il quale si confrontano le carte è il
seguente:
Per prima cosa si guarda il valore della carta: l’asso
è la carta più alta seguita
dal K, dal Q e così via.
Nel caso in cui più giocatori siano in possesso di carte con lo
stesso valore, si
passa al confronto dei semi delle stesse attribuendo al seme di Cuori il
valore
maggiore, seguito dal seme di Quadri, dal seme di Fiori e dal seme di
Picche.
Chiusura dei tavoli di
gioco
Al fine di tener bilanciato il numero di partecipanti "attivi" (non in
stato di
OUT) ad ogni tavolo, un apposito algoritmo del software si occupa al
termine di
ogni mano di verificare se esistono gli estremi per poter chiudere un
tavolo di
gioco, spostando i partecipanti nei tavoli di gioco restanti.
La logica con la quale viene deciso se e quale tavolo di gioco chiudere
è la seguente:
Il software ha un elenco dei tavoli ordinati per numero di partecipanti
“attivi”,
nel caso in cui la somma complessiva delle posizioni libere nei restanti
tavoli
di gioco sia superiore al numero di partecipanti al tavolo di gioco col
minor numero
di partecipanti attivi, il tavolo di gioco in questione verrà
chiuso ed i partecipanti
ad esso verranno spostati uno alla volta, in modo del tutto casuale, nei
restanti
tavoli di gioco, prediligendo quelli con un numero inferiore di
giocatori.
Esempio:
Tavolo 1
- Giocatori al tavolo
7
- Giocatori “Attivi”
6
Tavolo 2
- Giocatori al tavolo
8
- Giocatori “Attivi”
2
Tavolo 3
- Giocatori al tavolo
7
- Giocatori “Attivi”
5
Tavolo 4
- Giocatori al tavolo
8
- Giocatori “Attivi”
8
Al termine della mano al tavolo 2 (quello con il minor numero di
giocatori attivi),
il software verifica che nei restanti tavoli ci siano un numero
sufficiente di postazioni
libere tale da poter ospitare i giocatori del tavolo potenzialmente da
chiudere
(N° 2) e visto che ci sono 8 posizioni libere
:
Posizioni libere al tavolo 1 -> 3
+
Posizioni libere al tavolo 3 -> 3
+
Posizioni libere al tavolo 4 -> 2
=
Posizioni libere totali -> 8
Il tavolo 2 verrà quindi chiuso ed i giocatori di tale tavolo
verranno spostati
uno alla volta sui tavoli restanti (prediligendo quelli col minor numero
di giocatori
attivi) ciclando tra di essi sino al completo spostamento di tutti i
giocatori.
Bilanciamento dei tavoli di
gioco
Nel caso in cui ad un
tavolo di gioco ci siano un numero di giocatori inferiori
al 70% del numero massimo di giocatori ospitabili (nel caso di un
tavolo da 10 giocatori
corrisponde ad un numero di giocatori inferiore a 7 mentre in un tavolo
da 5 corrisponde
ad un numero di giocatori inferiore a 3) e non ci sia la
possibilità di chiudere
alcun tavolo di gioco, il software interviene prelevando in modo del
tutto casuale
un giocatore dal tavolo col maggior numero di giocatori e spostandolo
nel tavolo
da riempire, bilanciando così il numero di partecipanti tra i
tavoli di gioco del
torneo.
Casi di Parità
Nel caso in cui due o più giocatori vengano eliminati
contemporaneamente, la loro
posizione viene stabilita tenendo conto delle fiches in loro possesso
all’inizio
dell’ultima mano. Se il numero di fiches all’inizio
dell’ultima mano risulta essere
lo stesso, si classifica per primo il giocatore più vicino al
mazziere in senso
orario (o il mazziere stesso).
Determinazione del mazziere
All’inizio di un torneo, ad ogni giocatore del tavolo viene
distribuita una singola
carta, il giocatore con la carta più alta fa da
mazziere.
Casi
particolari:
Mazziere appena eliminato dal
torneo:
- Piccolo Buio e Grande Buio continuano
regolarmente
- Il bottone rimane al mazziere
precedente
Prossimo Piccolo Buio appena
eliminato dal torneo:
- Il Bottone si sposta al mazziere
designato.
- Durante la mano non viene messo in
gioco il Piccolo Buio.
Livelli di abilità
Per ciascun torneo può essere definito il ranking tramite
l’indicazione di un range
di valori che consente l’accesso al torneo solo ai giocatori
il cui livello di abilità
è compreso in tale range.
Il livello di abilità di ciascun giocatore è
calcolato sulla base dei punteggi realizzati
nelle partite già disputate.
Sono previsti diversi livelli di abilità: Principiante,
Esperto,
Professionista, People's Poker Team, Star, Leggenda.
Ranking > 100 e
<= 250 ->
Principiante
Ranking > 250 e
<= 500 ->
Esperto
Ranking > 500 e
<= 5000 ->
Professionista
Ranking > 5000 e <=
10000 -> People's Poker Team
Ranking > 10000 e
<= 15000 -> Star
Ranking > 15000
->
Leggenda
Il
fattore di abilità di un giocatore non può
scendere mai al di sotto del valore
di ranking minimo relativo al proprio livello di abilità: se
un giocatore ha un
livello di abilità “Esperto” non
potrà mai ridiventare
“Principiante”.
Nel caso in cui l’utente partecipi per la prima volta al
gioco viene automaticamente
inserito nella categoria Principiante.
Disconnessione
In caso di problemi di collegamento tra l'applicazione di gioco e il
server, dipendenti
dal giocatore o dovuti a malfunzionamenti della rete internet o ad altri
malfunzionamenti
sul dispositivo di gioco del giocatore, il giocatore rimane in gioco
finché ha chips
a disposizione senza limiti temporali, con lo stato definito di "Out".
Durante la
sua assenza il sistema effettua le scelte automaticamente: in
particolare, se possibile,
esegue "lascia", altrimenti esegue "vede".
Gestione dei malfunzionamenti
Se si verifica un crash della macchina sulla quale è schedulato
un
torneo il sistema si comporta in modo diverso a seconda che il torneo
sia in fase di registrazione oppure che il torneo sia in
corso.
Torneo in fase di
registrazione:
il sistema cerca automaticamente di schedulare l’
evento su di un’altra macchina, se vi riesce
l’utente non si accorge di nulla; se
tale soluzione non è praticabile, il torneo viene annullato
manualmente da Backoffice
ed ai giocatori viene restituita l’intera somma pagata per
l'iscrizione comprensiva
delle tasse.
Torneo in corso:
il torneo viene annullato manualmente da back office
e viene effettuato un Roll Forward, ossia i soldi del torneo vengono
restituiti,
almeno parzialmente, in base ai risultati; se un torneo viene cancellato
a ciascun
giocatore ancora in gara viene restituita la tassa
d’iscrizione, quindi il montepremi
viene diviso in base alla formula seguente:
- 50% del montepremi viene ripartito in
maniera uguale fra
tutti i giocatori rimanenti
- 50% del montepremi viene
distribuito proporzionalmente
alle chips residue
Se l’utente viene eliminato prima che il torneo venga
annullato, non riceve
alcun rimborso.
Naturalmente, se l’utente era arrivato a premi prima
dell’annullamento del torneo,
conserva il denaro vinto.
Algoritmo di distribuzione delle carte
L’algoritmo si basa sulla funzione CryptGenRandom delle
CryptoAPI di Windows.
Questa funzione ha un alta entropia iniziale (un seme di 80 byte),
gestito automaticamente
dal sistema partendo da parametri variabili e imprevedibili come il
numero di allocazioni
di memoria, il numero di accessi su disco, di memoria libera, software
aperti, numero
di thread, ecc...
Per la generazione del mazzo di carte:
1) Il software richiama la funzione
CryptGenRandom delle CryptoAPI
di Windows in una sezione critica di sistema per ottenere un buffer di
256 byte.
2) Si inizia ad analizzare il primo byte
della sequenza
restituita se è maggiore di 209 lo si scarta e si passa al
successivo, altrimenti
se ne prende il resto modulo 52 e si fissa il valore della
carta.
3) Si analizza il prossimo byte
disponibile nella sequenza,
se maggiore di 209 lo si scarta, altrimenti se ne prende il resto modulo
52 a patto
che questo non sia uguale ai valori delle carte che sono già
stati selezionati.
In questo ultimo caso si scarta il byte e si passa al
successivo.
4) Si cicla sul punto 3 fino a che dalla
sequenza di
256 byte non sono estratte le 52 carte del mazzo. Ovviamente se non si
riesce a
generare le 52 carte dal blocco di 256 byte, si riparte dal punto 1 fino
alla completa
generazione del mazzo di 52 carte.
5) La stringa di 52 byte costituente il
mazzo di carte
viene ricercata nel database per una precedente corrispondenza, e in
caso di esito
negativo il mazzo viene accettato e inserito nel database come
già utilizzato. Se
il mazzo era già presente nel database viene scartato e si
ricomincia la procedura
dal punto 1.