Jump to content
Rpg²S Forum
  • 0

Come gestire la GUI (interfaccia grafica) del mio bs (sempre problemi di OOP)


Fire-Dragon-DoL
 Share

Question

Allora...mi è sorto un tremendo dubbio mentre organizzavo il lavoro (al solito su carta e penna):

Sto costruendo vari pezzi del mio bs (battaglia->combattenti->buff,statistiche etc).. la grafica, per esempio della barretta degli hp, l'ho "appiccicata" alla statistica "hp", uguale per la limit e tutto il resto...(pure gli status alterati hanno un oggetto "graphic" che contiene informazioni e metodi riguardo l'icona)

 

Purtroppo riflettendo su queste cose, mi è sorto il dubbio che non avrei dovuto far cosi ma bensi il contrario, la battaglia doveva contenere un oggetto chiamato GUI che avrebbe gestito tutto (quando vengono fatti danni, viene aggiornata la barretta degli hp del mostro e cosi via)... il vantaggio sta che l'organizzazione è migliore, lo svantaggio è per esempio che devo updatare tutta l'interfaccia ogni volta che viene effettuata un'azione (quindi non aggiorno la singola barra ma tutto quanto)

 

Quale approccio dei due è quindi il migliore?

If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? (Tom Cargill)

 

Se dovete fare una cosa semplice, tipo

 

 

if (a==b) c='pippo';else c='pluto';
Usate le funzionalita' del linguaggio piu' complicato che esiste:

 

c=select decode(sign(a-b),0,"pippo","pluto");
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

EDIT:

Mi rispondo da solo cosi che la gente possa imparare dai miei errori: si la GUI va separata dai calcoli interni... quello su cui sono perplesso (e comunque ritengo di no) è se i personaggi del bs sono parte della gui oppure distaccati da essa (e quindi il mio approccio di combattente->graphic era una buona idea)

If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? (Tom Cargill)

 

Se dovete fare una cosa semplice, tipo

 

 

if (a==b) c='pippo';else c='pluto';
Usate le funzionalita' del linguaggio piu' complicato che esiste:

 

c=select decode(sign(a-b),0,"pippo","pluto");
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...