"Jouer à tour de rôle" en VB6

CrAsH0v3r Messages postés 13 Statut Membre -  
acee Messages postés 5 Statut Membre -
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

1 réponse

  1. acee Messages postés 5 Statut Membre 2
     
    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