Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
gioco in c
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
saetta
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/02/08 11:52
Messaggi: 129

MessaggioInviato: 01 Set 2008 10:07    Oggetto: gioco in c Rispondi citando

realizzando un piccolo gioco in c mi sto chiedendo se è necessaria una struttura dati (lista adiacenza,x es)per mantenere le associazioni tra le caselle del percorso e i/il giocatori/e che si trovano in esse ad ogni turno.

Disporrò di un file di configurazione(txt) dove ogni riga contiene il numero della casella e il compito da svolgere se un giocatore "cade" in essa.
Posso fare tutto accedendo al file quando serve o è meglio mantenere tale struttura?
Ovviamente un giocatore (struct) avrà una var per ricordare la propria posizione e se farò la struttura dati, la inizializzerò in base al file(accedendovi dunque una sola volta(?) ).

grazie.
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 18:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 01 Set 2008 10:27    Oggetto: Rispondi citando

Il file txt è su disco fisso?

(Ma che gioco è? Monoutente o multiutente? Per turni o normale? ecc. ecc.)
Top
Profilo Invia messaggio privato
saetta
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/02/08 11:52
Messaggi: 129

MessaggioInviato: 01 Set 2008 17:28    Oggetto: Rispondi citando

è il gioco dell'oca,multiutente(x uno show televisivo dove i giocatori calpestano fisicamente le caselle) il file sarà nella stessa cartella del progetto e ha il solo scopo di rendere il gioco configurabile nel numero di caselle e il tipo di "penitenze" associate ad esse.
Il programma gestisce il lancio dei dadi e i relativi spostamenti dei giocatori, il superamento o meno delle prove assegnate alle caselle e la classifica finale(con distanza di arrivo).

Mi chiedo se mi convenga inizializzare una struttura dati (struct tabellone_t ) con il contenuto di tale file, in modo da accedervi solo una volta per partita(all'inizio) oppure se è preferibile accedere al file ogni volta che un giocatore cambia casella (e dunque deve sostenere una prova, descritta in tale file.)

il file è in testuale semplice, con righe del tipo:

numeroCasella::::provaDaSostenere

Credo che la prima scelta sia la migliore... ma chissà.
(Userei una "struct tabellone", che ha anche un campo "puntatore a vettore(lista) di struct casella", i singoli "struct giocatore" avrebbero un campo "puntatore a casella" che mantiene la loro posizione)

è contorto?
grazie 1000.
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 02 Set 2008 08:10    Oggetto: Rispondi citando

Io opterei per mettere in ram lo schema.
Al momento non so dirti se l'idea di una struttura tabellone sia comoda; forse basta la lista delle caselle con il puntatore alla persona.
Anzi, i puntatori alle persone nel caso due giocatori possano trovarsi sulla stessa casella.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11810
Residenza: Tokelau

MessaggioInviato: 04 Set 2008 17:25    Oggetto: Rispondi

è una questione di spazio, secondo me.
Se il file è piccolino ti conviene sicuramente leggerlo tutto in una volta all'inizio e basta, tanto non cambia durante il gioco, no?
Se fosse invece molto molto grande potrebbe essere inutile e dispendioso leggerlo tutto quindi conviene accedere al file solo quando necessario... o passare ad un database.
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi