Autore Topic: Struttura gioco: AsyncTask, Thread e/o Timer?  (Letto 1014 volte)

Offline ms92ita

  • Nuovo arrivato
  • *
  • Post: 23
  • Respect: 0
    • Mostra profilo
Struttura gioco: AsyncTask, Thread e/o Timer?
« il: 20 Giugno 2012, 19:14:35 CEST »
0
Salve a tutti,

sono allo sviluppo di un giochino per Android e proprio sul più bello mi sto imbattendo in un problema abbastanza serio e allo stesso modo stupido  :-o non è un problema di linguaggio, ma di struttura dell'app. L'obiettivo del gioco è avere un tempo di reazione migliore rispetto agli altri giocatori quando si presenta una risposta esatta e totalizzare più punti possibile fino alla fine del round (ovviamente il giocatore deve cliccare il suo bottone nello schermo del cellulare).

Fatte le solite pagine principali, di scelta, opzioni,
-il passaggio del numero dei giocatori, difficoltà, numero di round e durata di ogni domanda l'ho già pensato utilizzando le SharedPreferences (visto che vorrei utilizzare la stessa activity per le partite da 2,3 e 4 giocatori, tanto basterebbe cambiare il layout e di conseguenza l'id dei bottoni, ma alla fine la struttura resta eguale magari usando un array di bottoni per generalizzare giusto?
-il layout (settato e orientato in verticale) l'ho già creato con due (tre, o quattro, dipende da quante persone vogliono giocare) bottoni agli estremi superiori e inferiori e al centro il RelativeLayout dove vengono visualizzate le varie "domande" tramite TextView e se serve ImageView

Ora viene il bello  :-o visto che il layout centrale deve cambiare continuamente per un tot di secondi (qui entra in gioco il parametro della difficoltà, cioè più è settata verso il difficile più frequentemente cambieranno le domande) e i round dureranno tipo un minuto,massimo due (dipende sempre dal tempo che mette l'utente prima dell'avvio della partita), la cosa non sarebbe poi così tanto difficile, basta tipo dividere il tempo massimo per i secondi della durata per ogni domanda e sarei a posto perché basterebbe usare l'ASyncTask, fare il ciclo for per quel tot di domande e conclusa la questione, però vorrei rendere migliore il gioco... Come???

Se facevo il ragionamento di prima, da una parte avrei una grande semplicità di costruzione, però dall'altra il gioco diventa un po' "statico" perché alla fine si fa sempre lo stesso numero di round anche se ci sono giocatori che rispondono molto più rapidamente dello scadere... Quindi avrei l'idea che se non risponde nessuno termina la domanda come detto prima e se ne crea un'altra, altrimenti se qualcuno risponde prima del tempo (che abbia risposto bene o male, quello ha solo rilevanza nei punti) si crea in automatico un'altra domanda, così nella stessa partita si creano ancora più domande e magari diventa anche più accattivante e interessante  :-P il problema è appunto questo, se prima potevo fare il un ciclo for predefinito, visto che il numero delle partite in questo modo è molto casuale, come posso ovviare al problema?

L'idea mia sarebbe questa: in scala gerarchica dal basso
-Thread (per le domande)
-ASyncTask (controlla l'avvenire di ogni domanda e appunto Thread)
-CountDownTimer(per la durata del round)

Può essere fattibile oppure bisogna cambiare qualcosa?

Ripeto, il mio problema non è una questione di tradurre le parole in codice, ma un problema di logica  :'(

Aspetto risposte  :D

Offline ms92ita

  • Nuovo arrivato
  • *
  • Post: 23
  • Respect: 0
    • Mostra profilo
Re:Struttura gioco: AsyncTask, Thread e/o Timer?
« Risposta #1 il: 22 Giugno 2012, 13:10:51 CEST »
0
qualcuno mi aiuti? purtroppo sono preso no con le bombe, di più  >:(

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Struttura gioco: AsyncTask, Thread e/o Timer?
« Risposta #2 il: 22 Giugno 2012, 13:48:16 CEST »
0
Io personalmente non ho ben compreso la problematica.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline ms92ita

  • Nuovo arrivato
  • *
  • Post: 23
  • Respect: 0
    • Mostra profilo
Re:Struttura gioco: AsyncTask, Thread e/o Timer?
« Risposta #3 il: 22 Giugno 2012, 15:11:07 CEST »
0
nel senso che nel layout centrale vengono visualizzate una serie di domande che dureranno al massimo tipo 3 secondi ognuna oppure meno se uno dei giocatori ha premuto prima il suo bottone... vengono sempre fatte domande fino allo scadere della partita e infatti (come detto prima) il numero delle domande non può essere sempre lo stesso, cioè ce ne potranno essere una ventina come ce ne possono essere anche trenta-quaranta

di una cosa sono sicuro, cioè per la durata della partita potrei usare il CountDownTimer, è per le varie domande che non trovo una soluzione visto che la durata può essere variabile