Effettuiamo il nostro primo accesso come amministratore; dalla pagina iniziale index.php inseriamo i dati per connetterci utilizzando il nome utente “admin” e la password “pass”.
Versione 1.4.x: la password è contenuta nel file utenti.php!
Versione 1.5.x: la password è contenuta nel file dati_gen.php!
Primo passo è la sicurezza: modifichiamo la password di admin
Personalizziamo tutto ciò che occorre.
Adesso iniziamo a definire il nostro torneo: configurazione procedura.
Versione 1.4.x: tramite modifica diretta del file!
Versione 1.5.x: tramite apposita procedura!
Innanzitutto impostiamo, se non lo è già di default, la variabile $stato_mercato = “C”. In questo modo eventuali utenti troppo solerti non potranno effettuare operazioni prima che sia tutto in ordine per iniziare.
Si può chiudere o sospendere il mercato. A mercato sospeso “S” si potrà solo rilanciare su calciatori già presenti sul mercato, vendere subito (ma non rimettere sul mercato) i propri e accettare scambi già offerti, senza farne di nuovi. A mercato chiuso “C” non si potrà fare nessuna operazione di mercato.
Una volta impostate tutte le variabili del nostro campionato impostiamo lo stato a “I” per consentire agli utenti di operare sul mercato. Il valore “R” consente l’esecuzione del mercato di riparazione, al termine dell’asta, per consentire di completare le formazioni, da utilizzare solo nella modalità mercato_libero == “NO”. Il valore “B” che è in fase di sviluppo.
Il secondo passo da effettuare è selezionare il tipo di campionato: possiamo scegliere che tipo di mercato effettuare, se ogni giocatore può avere calciatori in comproprietà con altri giocatori oppure se l’acquisto comporta l’esclusività di possesso del cartellino.
$mercato_libero è la variabile in esame: se la impostiamo a “SI” i giocatori possono acquistare qualunque calciatore senza nessun vincolo; se la impostiamo a “NO” si costringono i giocatori ad effettuare l’asta per aggiudicarsi la proprietà esclusiva del cartellino del calciatore.
$campionato[“1-38”] è la variabile che definisce la durata ed la modalità di svolgimento utile per il calcolo della classifica. I numeri contenuti all’interno della variabile rappresentano la giornata iniziale e quella finale, mentre il valore attribuibile selezionabile tra i seguenti determina la modalità di calcolo della classifica:
$campionato[“1-38”] = “S” per scontri diretti, viene generato un calendario degli incontri e le squadre si sfideranno a due a due come in un normale campionato; sono assegnati i classici 3 punti per la vittoria, 1 punto per il pareggio e 0 per la sconfitta; si possono giocare campionati a scontri diretti solo se i partecipanti sono 4, 6, 8, 10, 12, 14, 16, 18 o 20; se le giornate del campionato superano quelle di andata e ritorno il calendario ricomincia dalla prima giornata; impostare inoltre $soglia_voti_primo_gol e $incremento_voti_gol_successivi; se per esempio impostiamo a 66 la prima variabile e a 4 la seconda i gol assegnati saranno: 66-69.9 1 gol, 70-73.9 2 gol, 74-77.9 3 gol e così via. $voti_bonus_in_casa sono i punti che vengono aggiunti al voto della squadra che gioca in casa.
Le giornate di inizio e fine campionato da indicare sono quelle totali, contando anche i campionati precedenti. Si hanno 4 scelte: campionato a scontri diretti, campionato a somma di punti assegnati a seconda della posizione di giornata, campionato a somma dei voti di ogni giornata o infine nessun campionato ma solo calcolo dei voti giornalieri. Se volete cambiare l'ordine delle partite o delle giornate per i campionati a scontri diretti oltre a poter cambiare l'ordine in cui sono inseriti i partecipanti nel file utenti.php o si può agire direttamente sul file corrispondente al vostro numero di partecipanti nella cartella scontri (a vostro rischio e pericolo).
$campionato[“1-38”] = “P” per punti, a seconda della somma dei voti ottenuta si ricevono un determinato numero di punti, anch’esso personalizzabile, e la classifica sarà determinata dalla somma dei suddetti punti; $campionato[“1-38”] = “V” per somma voti sulla base dei voti attribuiti dai quotidiani di riferimento; $campionato[“1-38”] = “N” per nessuna classifica, utile per scontri diretti o finale di stagione. La struttura dello script permette una flessibilità nella gestione del torneo; il caso più frequente di utilizzo consiste nel effettuare un campionato dove al termine si fanno semifinali e finali; lo impostiamo così: $campionato[“1-36”] = “S”; $campionato[“37-38”] = “N”. Facciamo un campionato a scontri diretti fino alla 36, poi la 37 e la 38, purtroppo non automaticamente, si utilizzano per le finali. I risultati saranno evidenziati tramite il sistema di messaggistica a disposizione dell’amministratore. Occorre fare attenzione a non sovrascrivere le giornate dei due campionati.
Bene, con quanto anzidetto possiamo ora capire che con questo script possiamo giocare nei seguenti modi:
- asta e scontri diretti;
- asta e somma di voti;
- asta e somma di punti;
- mercato libero e scontri diretti;
- mercato libero e somma di voti;
- mercato libero e somma di punti.
Unico vincolo è l’impossibilità di cambiare gestione del mercato durante il torneo.
La modalità più diffusa è quella a scontri diretti, secondo le regole generali del fantacalcio; sono diversi i parametri che è possibile personalizzare. Il primo è questo: $mercato_libero = “NO”. E' molto importante impostare un tempo adeguato per la scadenza delle offerte onde evitare il rischio di non completare mai la squadra, o di dover controllare spesso il sito per non perdere nessuna offerta. Il valore può comunque essere cambiato durante il campionato. Si può fare un primo periodo con tempo di scadenza delle offerte più breve, per permettere a tutti di completare la propria formazione, per poi allungarlo quando inizia il campionato.
ASTA o acquisto dei calciatori liberi: si potranno fare offerte arbitrarie per calciatori ancora liberi. L'offerta diverrà definitiva quando non verrà rilanciata per il tempo definito da nessuno degli altri partecipanti.
Vendita dei calciatori: un calciatore può essere venduto subito al XX%(vedi sez. 9 di dati.php) del prezzo a cui lo si è acquistato oppure può essere rimesso sul mercato. I calciatori potranno essere rimessi sul mercato per un valore minimo arbitrario. Nel caso che il calciatore venga rimesso sul mercato, gli altri partecipanti potranno fare le loro offerte e il valore dell'offerta verrà incassato dal venditore. Attenzione che i soldi arrivano a chi vende appena qualcun altro fa un'offerta (non quando il calciatore viene effettivamente comprato), poi se un 3º partecipante fa un rilancio anche la differenza con l'offerta precedente verrà aggiunta ai soldi del primo venditore. Per i calciatori rimessi sul mercato l'offerta diverrà definitiva quando non verrà rilanciata per X giorni. Se per un calciatore rimesso sul mercato non verrà fatta nessuna offerta dagli altri partecipanti, chi lo ha rimesso sul mercato riavrà indietro il calciatore al prezzo a cui lo aveva acquistato.
Scambi: se vi è la possibilità di fare scambi con i soldi, i soldi offerti non dovranno superare quelli posseduti, mentre quelli richiesti non dovranno superare i soldi iniziali. Non è possibile offrire o richiede solo soldi nello scambio, e neppure fare una offerta per cui chi la fa verrebbe a superare il limite di calciatori nel caso che l'offerta venisse accettata. Il massimo numero di scambi proponibili contemporaneamente per giocatore è 12. Dopo lo scambio i calciatori manterranno il loro valore. La proposta di scambio avrà la stessa durata delle altre offerte.
Sostituzioni: se uno degli 11 calciatori schierati in campo verrà giudicato senza voto, gli subentrerà la prima riserva che abbia ricevuto un voto e che gioca nello stesso ruolo del titolare (o che entrando dia luogo ad uno schema consentito). Nel caso ci siano più riserve nello stesso ruolo, tali riserve verranno scelte in base al numero, in ordine crescente. Si potranno schierare le riserve stabilite. Potranno entrare al massimo le riserve stabilite nella variabile. Se sono per ruolo ogni sostituzione deve avvenire con un calciatore dello stesso ruolo, nell'ordine in cui sono stati inseriti in formazione. Nelle sostituzioni per schema invece i calciatori entrano, sempre per ordine di inserimento, se entrando la formazione che si viene a formare ha una schema consentito. Se entrambi i tipi di sostituzioni sono possibili verranno effettuate prima quelle per ruolo.
La modalità più diffusa è quella a somma di voti, secondo le regole generali del fantacalcio; quelle che ho preso in considerazione sono quelle della Gazzetta, da cui lo script trae spunto e ne segue le evoluzioni regolamentari.
$mercato_libero = “SI” ci abilita a questa modalità.
Il nostro utente acquisterà i calciatori necessari; non potrà fare alcuna operazione finché la squadra non sarà completa.
Acquistati i calciatori nel modo impostato occorrerà schierare la formazione con titolari e panchinari, e giocare.
Ci sarà la possibilità di effettuare dei cambi a seconda del regolamento seguito.
Le variabili che ci interessano sono le seguenti:
$soldi_iniziali: rappresentano i crediti a disposizione per il mercato di ogni giocatore;
$max_calciatori: numero massimo di calciatori che si possono possedere e valori per cambi e punteggi;
$composizione_squadra: “38806” la somma deve essere quella di $max_calciatori e lo 0 si utilizza se si utilizzano i fantasisti;
$numero_cambi_max: è il massimo dei cambi consentiti;
$rip_cambi_numero: cambi consentiti nel mercato di riparazione e si deve impostare a 0 per disabilitare il mercato di riparazione;
$rip_cambi_giornate: array(10,17,24,31) rappresentano le giornate dopo le quali si effettua il mercato di riparazione;
$modificatore_difesa: “SI” imposta il calcolo del punteggio con modificatore; $schemi: gli schemi di gioco utilizzabili; gli schemi a 5 numeri servono solo se si usano i fantasisti;
$max_in_panchina: numero di calciatori in panchina e quanti ne possono entrare; si possono fare sostituzioni per ruolo (il calciatore entra se un'altro del suo ruolo non ha giocato) o per schema (il calciatore entra se entrando lo schema che si forma è tra quelli consentiti); se sia per ruolo che per schema sono a SI si sostituisce prima per ruolo;
$panchina_fissa: impostare a “SI” per avere la panchina (1222 come PDCA) altrimenti “NO” (le maiuscole contano!);
$max_entrate_dalla_panchina: il numero di calciatori che possono effettuare sostituzioni;
$sostituisci_per_ruolo: un calciatore titolare può essere sostituito solo da un altro dello stesso ruolo.
La procedura consente la iscrizione on-line da parte dell’utente stesso. Gli saranno richiesti i dati essenziali per l’utilizzo della procedura. E’ necessario impostare la modalità di iscrizione degli utenti; le variabili sono le seguenti:
$iscrizione_online: SI consente l'iscrizione all'utente online - NO sarà l'amministratore ad effettuare le iscrizioni;
$iscrizione_immediata_utenti: “NO” imposta a -1 il flag permessi in gestione utenti; dovrà essere attivato dalla gestione utenti. L’utente riceverà una email contenente i dati da lui inseriti. Non è previsto per ora una procedura di “ricorda password” quindi eventuali richieste dovranno essere elaborate dall’amministratore che in “modifica utente” che inserirà una password di fantasia e la comunicherà all’utente smemorato con il suggerimento di modificarla al primo accesso. Se è impostato $iscrizione_immediata_utenti = “NO” non potrà accedere alla procedura finché l’amministratore non lo avrà approvato. La funzione “Approva Utente” oltre a fare ciò che deriva dal nome, invia una mail contenente l’avviso di approvazione. Per aggiungere crediti a tutti durante il campionato cambiare i soldi iniziali in dati.php.