PDA

Visualizza la versione completa : Gioco(non applet) in Java


royalsalerno
12-07-2003, 15:21
Sto realizzando un gioco (non applet) in Java. Vorrei chiedervi un paio di informazioni.
Il gioco fa ampio uso di immagini (.gif) e di componenti swing e funziona bene, ma è molto lento nel passaggio da un'interfaccia ad un'altra. Qualcuno ha idea di come fare per migliorare le prestazioni?
La struttura del programma è la seguente: ci sono delle classi che gestiscono la logica del gioco ed una sola che implementa tutte le interfacce (una decina di metodi, ognuno dei quali corrisponde ad una interfaccia): va bene così o è preferibile un'altra tecnica?
Per favore, aiutatemi!
Grazie, ciao

royalsalerno
14-07-2003, 00:12
Ho risolto il mio problema, ma, comunque, trattandosi del mio primo grande progetto in Java, volevo un consiglio su quale sia la tecnica migliore per la gestione delle interfacce: confinarle tutte in un'unica classe o implemntare più classi, ognuna rappresentante un'unica interfaccia?
Trattandosi di un progetto per un esame, è importante soprattutto la "pulizia" e la "correttezza" formale del codice.
Grazie, ciao

necromant
15-07-2003, 20:07
Ciao. Non so se può interessarti ma se vuoi programmare giochi in java perchè non leggi qui sotto?
___________________________________
Siamo un team di ragazzi che vogliono occuparsi della programmazione wireless ma non solo. Cerchiamo gente con conoscenza del linguaggio java per la creazione di videogiochi e, speriamo, applicazioni per telefoni cellulari. Non ricerchiamo guru della programmazione, quanto gente motivata che voglia da un lato imparare e dall’altro insegnare agli altri. Oltre alla conoscenza, più o meno approfondita, di java, si richiede, data la natura del progetto e dell’organizzazione, capacità di lavorare tanto in gruppo quanto in autonomia, pazienza e costanza. Non promettiamo sviluppi veloci perché questa parte del progetto è ancora in fase di studio di fattibilità a cui dovrà, poi, seguire un ciclo di formazione dei vari membri. Siamo realisti e non inseguiamo fantasie ma obbiettivi precisi. Se volete maggiori delucidazioni e volete costruire insieme a noi, scrivete a wolfis@supereva.it mettendo in oggetto: mobile e nel testo il vostro nome o nick.

Ringrazio sin da ora quanti vogliano contattarmi e la redazione di HTML.it per lo spazio concessoci.
____________________________________

battlehorse
15-07-2003, 21:32
Se si tratta di ottenere la maggiore "pulizia" possibile del codice, penso sarebbe piu' conveniente avere una singola classe per ogni interfaccia grafica, e magari far si' che queste classe discendano da un'unica classe padre con le caratteristiche comuni dell'interfaccia.

Inoltre, nel campo delle interfaccie grafiche va molto il pattern Model-View-Controller (usato, tra l'altro, anche dalle classi swing) : tenere ben separati i componenti che sono responsabili della grafica (view) dai componenti che sono responsabili della logica del programma (controller) e dai componenti che contengono i dati su cui opera il programma (model).

Per quanto riguarda le prestazioni puoi velocizzare la presentazione delle diverse interfacce (se non lo fai gia') precaricandole all'avvio dell'applicazione e tenendole nascoste (usando setVisible(false) o i comandi equivalenti) piuttosto che crearle quando servono.

Se la fase di avvio diventa troppo lunga puoi sempre usare uno splash screen.

royalsalerno
16-07-2003, 14:53
X Battlehorse:
grazie 1000, puoi spiegarmi meglio cosa intendi con tenere ben separati i componenti che sono responsabili della grafica (view) dai componenti che sono responsabili della logica del programma (controller) e dai componenti che contengono i dati su cui opera il programma (model)?

X Necromant:
Grazie, in questo progetto siamo in 3 a lavorare, credo che potrebbe essere interessante questa proposta (a me piacerebbe molto), ci metteremo in contatto...

anx721
17-07-2003, 00:36
Per il pattern model-view-controller puoi vedere qui:

http://www.claudiodesio.com/ooa&d/mvc.htm

Concordo con i consigli di battlehorse, inolte ti suggerisco di

- definire sempre delle interface e le relative classi che le implementano;

- modularizzare abbastanza le classi evitando classi con troppe funzionalità;

- rendere privati campi delle classi e limitare la comunicazione tra le classi ai soli metodi pubblici dichiarati nelle interfacce;

- utilizzare dei patter di progettazione (http://www.ugolandini.net/PatternsHome.html, http://www.mindview.net/Books/TIPatterns/)

Ciao.

blinkago
17-07-2003, 10:55
x il necromante..
Anche a me interesserebbe!!
e guarda caso conosco j2me!!

necromant
18-07-2003, 11:48
Per tutti coloro che sono interessati al progetto mobile, scrivete a wolfis@supereva.it mettendo come oggetto mobile e nel testo il vostro nome o nick. Ci serve per avere i vostri indirizzi di posta elettronica a cui inviare una o due e-mail standard per spiegare il progetto stesso e richiedervi informazioni. Attualmente annoveriamo 2 programmatori java e abbiamo quasi concluso la prima fase (fornitura di materiale) per cui prima della pausa estiva (tutto agosto) dovremo scegliere il modo di agire (visto che la nostra esperienza di lavoro via web dura da circa due anni e sappiamo quanto sia difficile organizzare il tutto on-line). E' un peccato che non siate intervenuti quando siamo stati consultati per una proposta di lavoro... ma ormai è andata... pensiamo al futuro.

Loading