"Jouer à tour de rôle" en VB6

Fermé
CrAsH0v3r Messages postés 13 Date d'inscription dimanche 13 octobre 2002 Statut Membre Dernière intervention 7 mars 2005 - 22 déc. 2003 à 03:32
acee Messages postés 5 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 23 décembre 2003 - 23 déc. 2003 à 21:58
Bonjour,

En VB6, je poursuit un petit jeu de cartes débuté il y a longtemps, et je cherche le moyen de faire le "à tour de rôle". J'ai une boucle For qui le fait, mais je n'ai rien qui dit d'attendre que le joueur ait joué. Fake les 4 player passe en ligne jusqua la fin de la boucle car rien n'attend que le player aille dragger sa carte au centre. Comment je pourrais faire ça?

Voici le code que j'ai présentement, je suis p-e complèment dans le champ.. *À noter que Call tour_AI est en commentaire car mon intelligence artificielle du joueur controlé est au stade de pseudo-code..
Le parametre est pour dire que cest l'AI #1 et l'AI #2.

If round = 1 Or round = 2 Then
y = 3
Else
y = 4
End If
For i = 0 To y
Call tour_player1
'Call tour_AI(0)
Call tour_player2
'Call tour_AI(1)
Next i
round = round + 1

Dans tour_player1, je met tout simplement les choses dont il n'a pas accès à enable=False. Mais il me faut quelque chose qui le retienne avant de passer à la prochaine fonction, tant que le joueur n'a pas joué.

Peut-être que ma gestion de tour de rôle est mal faite, mais sinon, comment je peux faire attendre que le joueur aille dragger sa carte? Je sais que présentement c'est évident que ça passe droit, puisque y'a rien qui l'arrête, mais je ne sais pas quoi mettre. J'espère avoir été clair, sinon n'hésitez pas à me le demander car votre aide sera apprécié.



Merci de votre réponse
A voir également:

1 réponse

acee Messages postés 5 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 23 décembre 2003 2
23 déc. 2003 à 21:58
crée 4 variables booléennes qui disent si un joueur a joué ou non initialisées à faux.
crée une nouvelle fonction

Function a_joue(joueur as boolean)
Do while joueur = false
attendre x secondes
if le joueur a joué then
joueur = true
else
msgbox ("C'est à votre tour de jouer")
endif
loop
return joueur
end function


Appelle cette fonction à chaque changement de joueur dans ta boucle.
For i = 0 To y
Call tour_player1
call a_joue(joueur1)
'Call tour_AI(0)
call a_joue(joueur2)
Call tour_player2
call a_joue(joueur3)
'Call tour_AI(1)
call a_joue(joueur4)
joueur1 = false
joueur 2 =false
joueur 3 = false
joueur 4 =false
Next i

round = round + 1



je ne crois pas que c'est la meilleure solution mais tu peut essayer en attandant de trouver autre chose.
0