Bonjour,
Je développe un jeu de plateau de type scrabble qui se joue à 4 joueurs (joueurs NORD, EST, SUD et OUEST). Seul le joueur SUD est un joueur humain et c'est le joueur NORD qui commence la partie, ensuite on tourne dans le sens des aiguilles d'une montre.
Quand vient le tour du joueur humain (SUD), celui-ci droppe des lettres sur le plateau, et un bouton "valider" lui permet de valider son coup (et de passer au 3 joueurs "droids" suivant, OUEST, NORD, EST).
Voici le code simplifié:
PROBLÈMES :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public class MyActivity extends Activity implements OnTouchListener, OnDragListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Affichage du jeu } @Override protected void onStart() { super.onStart(); // CREATION D'UN LISTENER SUR LE BOUTON VALIDER ((Button)findViewById(R.id.validationButton)).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // Quand le joueur humain (SUD) appuie sur valider, on valide son coup et on fait jouer les joueurs droids suivants (OUEST,NORD,EST) boolean result = validateHumanPlayingAndContinueGame(); } }); // Demarrage de la partie pour les droids NORD et EST askToAllConsecutiveDroidToPlay(); } }
- Avec ce principe, quand on appuie sur le bouton, cela fait jouer les joueurs OUEST, NORD et EST dans le onClick et il rien ne s'affiche à l'écran
pour ces joueurs tant que ca n'est pas au joueur SUD de jouer (car on est enfin sorti du onClick()).
QUESTION 1 : POUVEZ-VOUS ME CONFIRMER QUE L'IHM NE SE MET A JOUR QU'UNE FOIS SORTI DU OnClick() ?
- Impossible dans ces conditions d'espérer mettre à jour l'IHM à chaque fois qu'un joueur à terminer son coup (Mise à jour du plateau, du score...)
QUESTION 2 : QUELLE EST LA SOLUTION LA PLUS SIMPLE POUR AVOIR LA MAIN SUR L'IHM ENTRE CHAQUE JOUEUR (EN RESTANT LE MOINS
LONGTEMPS POSSIBLE DANS LE onCLick() ?
Merci beaucoup pour votre aide.







Répondre avec citation



Partager