Cloud with rain
.:G
G:.
0 and 1 serie, black on white
pulled card
myjsp.feelinglinux.com
ver. 1.1.9-4
Hallo, welcome to my world.
Here you can find some stuff about computer science.
<<< Enjoy your visit! >>>
0 and 1 serie, white on black

[GAME] Simple Football Simulator

        Scritto: Giansante Gabriele, 19/01/2006     

Titolo: Simple Football Simulator
Licenza: LGPL
Autore: Gabriele Giansante
Versione: 1.0.0
Piattaforma: Qualsiasi piattaforma con supporto Java
Note: Su Win 98 lanciare manualmente "start.bat"

Prima di scaricare, leggere i termini della licenza!

Download Simple Football Simulator game (binary, java 1.5) WIN - setup_SFS_1.0.0_jdk1.5.exe - 395KB - IT, EN, FR, ES, PT - Simple Football Simulator game (binary, java 1.5)
Download Simple Football Simulator game (binary, java 1.4) WIN - setup_SFS_1.0.0_jdk1.4.exe - 1.11MB - IT, EN, FR, ES, PT - Simple Football Simulator game (binary, java 1.4)

Download Simple Football Simulator game (binary, java 1.5) LINUX/altro - sfs_1.0.0_jdk1.5.zip - 290KB - IT, EN, FR, ES, PT - Simple Football Simulator game (binary, java 1.5)
Download Simple Football Simulator game (binary, java 1.4) LINUX/altro - sfs_1.0.0_jdk1.4.zip - 1.02MB - IT, EN, FR, ES, PT - Simple Football Simulator game (binary, java 1.4)

Download Simple Football Simulator core binary  sfs-core_1.0.0.jar - Core (binary)
Download Simple Football Simulator sources  sfs_1.0.0.src.jar - Sorgenti
Download Simple Football Simulator docs  sfs_1.0.0.docs.zip - JavaDoc (quel po' che e' stato scritto...)


Cos'e' "Simple Football Simulator"

"Simple Football Simulator" e' un simulatore di tornei di calcio.

Si tratta di una libreria utilizzabile per simulare campionati di calcio. E' formata da un "core" ovvero il motore del simulatore e due esempi di utilizzo, uno grafico (un minigioco vero e proprio) ed uno testuale.
Pubblicita'

Nel proseguire con la descrizione faro' riferimento esclusivamente all'esempio grafico, ovvero quello piu' "giocabile".

In quanto "simulatore", Simple Football Simulator ha una giocabilita' quasi nulla, nel senso che l'utente e' spettatore dell'evolvere del torneo.

Il giocatore puo' definire un proprio torneo, con squadre reali o frutto della propria fantasia. Ogni squadra ha associato un nome ed una certa forza (di solito il divertimento maggiore e' rendere piu' forte la squadra del cuore e meno forte quella piu' antipatica...).

Le partite sono simulate minuto per minuto, tenendo conto di infortuni, azioni pericolose, gol, fattore casa e forza della squadra. Il giocatore/spettatore ha una visione istantanea delle variazioni in classifica ed in qualsiasi istante puo' osservare le comuni statistiche (gol fatti, gol subiti, vinte, perse, ecc...).

VANTAGGI:
  • [Core] Torneo generato automaticamente con un numero pari qualsiasi di squadre
  • [Core] Ogni squadra puo' avere una forza diversa
  • [Core] La forza di una squadra cresce nelle partite in casa (+10%)
  • [Core] La forza di una squadra diminuisce nelle partite fuori casa (-10%)
  • [Core] Tempi di recupero alla fine di ogni tempo (scelti in modo random)
  • [Core] Viene conservata la storia di: risultati; gol fatti (totali, in casa, fuori casa); gol subiti (totali, in casa, fuori casa); partite vinte (totali, in casa, fuori casa); partite perse (totali, in casa, fuori casa); partite pareggiate (totali, in casa, fuori casa); punti in classifica.
  • [Core] Statistiche ordinate per punteggio, gol fatti, gol subiti, partite vinte, portite pareggiate, partite perse.
  • [Core] Punteggi abbastanza realistici
  • [Core] Supporto ad azioni pericolose
  • [Core] Supporto ad infortuni (ogni infortunio diminuisce la forza della squadra nell'ambito di una singola partita)
  • [Graphical example] Interfaccia grafica piacevole
  • [Graphical example] Possibilita' di salvare e caricare diversi insiemi di squadre
  • [Graphical example] Possibilita' di salvare e caricare un torneo in corso
  • [Graphical example] Possibilita' di controllare una partita minuto per minuto o una giornata alla volta
  • [Graphical example] Possibilita' di variare la velocita' di simulazione
SVANTAGGI:
  • Impossibile creare tornei con un numero dispari di squadre
  • La sequenza di partite in casa e fuori casa non e' bilanciata
  • La storia del torneo non tiene traccia delle azioni pericolose
  • Non posso distribuire il gioco con i nomi reali delle squadre di calcio, ma voi potete usarli!!! Cambiate i nomi delle squadre e salvate la lista... niente di piu' semplice!!!


Installazione

"Simple Football Simulator" e' un gioco scritto interamente in Java ed eseguibile su qualsiasi sistema operativo che supporti Java.
Requisiti:
  • Java (jsdk 1.4.2 oppure 1.5)
  • Risoluzione video 1024x768 o superiore
Installazione:
  1. Installare Java (http://java.sun.com) se non lo si ha
  2. Win: eseguire "setup_SFS_1.0.0_jdkX.Y.exe"
  3. Linux/Altro: scompattare "sfs_1.0.0_jdkX.Y.zip" nella cartella desiderata
Per eseguire il gioco con Win, lanciarlo con l'apposito link nel menu di sistema.
Per eseguire il gioco con Linux o con un qualsiasi altro sistema,
  • spostarsi nella cartella contenente i file scompattati
  • eseguire "<Java home>/bin/java -jar sfs_1.0.0.jar <language>"
dove "<language>" puo' assumere i valori: "it"; "en"; "fr"; "es"; "pt".
Es. /jdk1.5/bin/java -jar sfs_1.0.0.jar it

Come nasce "Simple Football Simulator"

Quando ero piccolo, mi divertivo a fare un gioco:
  • prendevo tre dadi
  • pensavo ad una partita di calcio
  • tiravo i dadi 90 volte
I numeri da 1 a 3 rappresentavano la squadra di casa, quelli da 4 a 6 invece rappresentavano la squadra fuori casa. In base al risultato dei dadi in ogni tiro, seguivo le seguenti regole:
  • Tre numeri uguali: GOL
  • Due numeri uguali: Azione per la squadra associata ai numeri uguali
  • Due numeri uguali ed il terzo inferiore o superiore di uno (es. 3-3-2): Azione pericolosa (palla GOL) per la squadra associata ai numeri uguali
Alla fine dei 90 tiri avevo una semplice cronaca della mia partita con gol, azioni e palle gol (inizialmente facevo finta che fossero "pali o traverse colpiti", ma ne venivano troppi...).
Potevo nella fantasia far giocare qualsiasi partita.

Pubblicita'
Tempo fa mi sono ricordato di questo gioco e mi sono divertito a realizzarlo in Java, con opportune modifiche alle regole per arricchire un po' la simulazione e per renderla piu' verosimile.
Il core di "Simple Football Simulator" e' basato su quest'idea del lancio di 3 dadi.
Valgono ancora le regole descritte, ad eccezione della seconda (sulle Azioni semplici) che non viene presa in considerazione. In aggiunta, viene introdotta la forza di una squadra. La forza determina la probabilita' che un certo risultato del lancio dei dadi possa essere preso in considerazione. Il meccanismo dell'uso della forza di una squadra e' abbastanza semplice.
L'idea e' che la forza sia un indice all'interno di un certo insieme ordinato. Estraggo un elemento a caso dall'insieme ordinato, se tale elemento e' inferiore o uguale alla forza, allora considero il risultato del lancio come valido. Se l'elemento risulta superiore alla forza, allora considero il risultato del lancio come non valido e passo al minuto successivo (ricordarsi che ogni lancio corrisponde ad un minuto solo).
La forza di una squadra, in realta' non e' che il valore base dell'indice. In realta', l'indice usato assume inizialmente il valore della forza della squadra, ma puo' cambiare in base a fattori come gli infortuni durante la partita o come il giocare in casa oppure fuori. In pratica, l'indice di "validita' del lancio" e' dinamico e puo' cambiare all'interno della partita fino a capovolgere completamente le sorti dell'incontro.

Altri piccoli accorgimenti, basati esclusivamente sull'estrazione di numeri casuali, ma sempre e comunque legati al concetto di forza di una squadra, intervengono a migliorare ulteriormente la simulazione.

Per ulteriori dettagli osservate il codice sorgente.

Giocare con "Simple Football Simulator"

Con "Simple Football Simulator" si puo':
  • simulare un torneo fra le squadre predefinite
  • simulare un torneo fra squadre create dall'utente
  • simulare una singola partita
La singola partita e' in pratica un torneo a due sole squadre.
Se si vuole simulare un torneo fra le squadre predefinite, accedere al menu di gioco ed avviare il torneo.
Se si vuole simulare un torneo con proprie squadre, accedere al menu di modifica, modificare le squadre predefinite o creare un nuovo campionato, accedere al menu di gioco ed avviare il torneo.
Se si vuole simulare una partita, accedere al menu di modifica, creare una nuova partita, accedere al menu di gioco ed avviare il torneo.

Schermata principale
Screenshot 1 - Schermata principale


Lo "screenshot 1" mostra una simulazione in atto (perdonatemi per aver usato la versione in inglese...) di un torneo basato sulle squadre di default.

A) Partite della giornata attuale.
E' l'elenco delle partite giocate e da giocare nella giornata attuale (quarta giornata nell'immagine). La partita in corso e' quella evidenziata.

B) Informazioni sulla partita
Vengono qui mostrati i dati essenziali della partita in tempo reale. Sono presenti: il numero della giornata; il minuto di gioco raggiunto; l'eventuale minuto di recupero raggiunto; il tempo (primo o secondo...); il nome delle squadre ed i relativi gol segnati.

C) Eventi della partita
Questa tabella mostra tutti gli eventi della partita che si verificano (tipo, minuto e descrizione). Possono essere visualizzati: inizio e fine della partita; fine tempo; gol; infortuni; azioni pericolose (palle gol). Gli eventi in rosso sono relativi alla squadra di casa, quelli in blu alla squadra fuori casa.

D) Controlli della simulazione
L'avanzamento della simulazione del torneo puo' avvenire in tre modi:
  • Avanzamento per evento. La simulazione si interrompe temporaneamente al verificarsi del prossimo evento
  • Avanzamento per partita. La simulazione si interrompe temporaneamente al termine della prossima partita
  • Avanzamento per giornata. La simulazione si interrompe temporaneamente al termine della prossima giornata del torneo
Il giocatore puo' controllare cio' con i tre pulsanti messi a disposizione.
Inoltre e' possibile accelerare o rallentare l'esecuzione.

E) Classifica
La classifica aggiornata in tempo reale viene mostrata in questa tabella. Tutte le classiche statistiche sono a disposizione: nome squadra; punteggio; vinte/pari/perse in totale; vinte/pari/perse in casa; vinte/pari/perse fuori casa; gol fatti/subiti in totale; gol fatti/subiti in casa; gol fatti/subiti fuori casa. Fare attenzione al fatto che l'ordine in classifica per due squadre a pari punti e' casuale, ovvero non vengono presi in considerazione parametri come differenza reti, scontri diretti, ecc... Forse un giorno...

F) Lista squadre
Contiene un elenco di tutte le squadre partecipanti al torneo. Con un click del mouse su tale lista e' possibile accedere ad un popup per la visualizzazione delle statistiche della squadra selezionata (attualmente e' possibile vedere solo il risultato delle partite giocate).

Salvataggio torneo
Screenshot 2 - Salvataggio torneo


La simulazione del torneo puo' essere salvata in qualsiasi momento (screenshot 2) tramite il menu di gioco.
Puo' essere questo un modo per influenzare l'andamento del torneo, dal momento che la generazione di eventi in modo random avviene minuto per minuto. Se non piace il risultato ottenuto in una partita si puo' ricaricare il torneo salvato e provare ad ottenere un risultato diverso.
Caricamento torneo
Screenshot 3 - Caricamento torneo


Lo screenshot 3 mostra il modo di caricare un torneo precedentemente salvato. Per caricare un torneo accedere alla relativa funzione nel menu di gioco.
Modifica torneo
Screenshot 4 - Modifica torneo


Modificare un torneo significa alterare il numero di squadre e/o cambiarne i dati (screenshot 4).
  • Aggiungere una nuova squadra: inserire il nome e modificare la forza nel riquadro in alto a destra, quindi premere il tasto di aggiunta.
  • Modificare una squadra: selezionare la squadra nella lista a sinistra. I campi nel riquadro di modifica (in basso a destra) verranno automaticamente riempiti. Modificare tali dati a piacere.
  • Eliminare una squadra: selezionare la squadra nella lista a sinistra. I campi nel riquadro di modifica (in basso a destra) verranno automaticamente riempiti. Premere il tasto di eliminazione.

Nuovo torneo
Screenshot 5 - Nuovo torneo


La creazione di un nuovo torneo (screenshot 5) segue lo stesso procedimento della modifica, con la differenza che la lista iniziale delle squadre e' vuota.
Nuova partita
Screenshot 6 - Nuova partita


Salvataggio lista squadre
Screenshot 7 - Salvataggio lista squadre


Caricamento lista squadre
Screenshot 8 - Caricamento lista squadre


Storia torneo (squadra)
Screenshot 9 - Storia torneo (squadra)



Hai trovato utile questo articolo?
Aiutami a condividerlo o metti un "mi piace".
Grazie mille!


Gli strumenti di condivisione (Google+, Facebook) sono visibili in alto a destra solo dopo aver accettato la policy di utilizzo dei cookie per questo sito.
FAQ - Come faccio a cambiare la mia scelta?

 

Strumenti (myjsp.feelinglinux.com)
Gioco: allenamento con la tastiera Strumenti di codifica/decodifica URI (%-encoding) e Base64 Strumenti di calcolo online per IP e Reti
QUIZ GAME
Quiz game

Cerca @myjsp.feelinglinux.com

Pubblicita'