Comportement différent de l'exe et de l'ide

Gildeplomb
Messages postés
102
Date d'inscription
samedi 29 décembre 2012
Statut
Membre
Dernière intervention
24 mars 2021
- 6 août 2009 à 18:55
Gildeplomb
Messages postés
102
Date d'inscription
samedi 29 décembre 2012
Statut
Membre
Dernière intervention
24 mars 2021
- 6 août 2009 à 20:41
Bonjour à tous

Je suis en train de faire un jeu de Blackjack et je rencontre un probleme si je crée l'executable ou si je lance depuis l'ide

Voici le code

Les parametres sont joueurs(jnum).max
Joueurs(jnum) est la variable du numero de joueur ( 1 a 6 )
Joueurs(0).max est la banque

Private Function Action(PointsJoueur As Integer) As String
Action = "Pas trouvé"
If Joueurs(JNum).Carte1 Joueurs(JNum).Carte2 And Joueurs(JNum).Cartes 2 Then
Action = Partage(PointsJoueur)
Exit Function
End If
If Joueurs(JNum).Max = Joueurs(JNum).Min Then 'Hard hand
Select Case PointsJoueur
Case 2, 3, 4
Action = "T"
Case 5, 6, 7
If Joueurs(0).Max 11 And Joueurs(JNum).Cartes 2 Then Action = "A" Else Action = "T"
Case 8
Action = "T"
Case 9
Select Case Joueurs(0).Max
Case 2, 7, 8, 9, 10, 11
Action = "T"
Case 3, 4, 5, 6
Action = "D"
End Select
Case 10, 11
If Joueurs(0).Max < 10 And Joueurs(JNum).Cartes 2 Then Action "D" Else Action = "T"
Case 12, 13
Select Case Joueurs(0).Max
Case 2, 3, 4, 5, 6
Action = "R"
Case 7, 8, 9, 10
Action = "T"
Case 11
If Joueurs(JNum).Cartes = 2 Then
Action = "A"
Else: Action = "T"
End If
End Select
Case 14, 15
Select Case Joueurs(0).Max
Case 2, 3, 4, 5, 6
Action = "R"
Case 7, 8, 9
Action = "T"
Case 10, 11
If Joueurs(JNum).Cartes = 2 Then
Action = "A"
Else: Action = "T"
End If
End Select
Case 16
Select Case Joueurs(0).Max
Case 2, 3, 4, 5, 6
Action = "R"
Case 7, 8
Action = "T"
Case 9, 10, 11
If Joueurs(JNum).Cartes = 2 Then
Action = "A"
Else: Action = "T"
End If
End Select
Case 17
If Joueurs(0).Max < 11 Then
Action = "R"
Else: Action = "A"
End If
Case 18, 19, 20, 21
Action = "R"
End Select
Else ' soft hand
Select Case PointsJoueur
Case 13, 14
Select Case Joueurs(0).Max
Case 2, 3, 4, 7, 8, 9, 10, 11
Action = "T"
Case 5, 6
If Joueurs(JNum).Cartes = 2 Then
Action = "D"
Else: Action = "T"
End If
End Select
Case 15, 16
Select Case Joueurs(0).Max
Case 2, 3, 7, 8, 9, 10, 11
Action = "T"
Case 4, 5, 6
If Joueurs(JNum).Cartes = 2 Then
Action = "D"
Else: Action = "T"
End If
End Select
Case 17
Select Case Joueurs(0).Max
Case 2, 7, 8, 9, 10, 11
Action = "T"
Case 3, 4, 5, 6
If Joueurs(JNum).Cartes = 2 Then
Action = "D"
Else: Action = "T"
End If
End Select
Case 18
Select Case Joueurs(0).Max
Case 2, 7, 8
Action = "R"
Case 3, 4, 5, 6
If Joueurs(JNum).Cartes = 2 Then
Action = "D"
Else: Action = "T"
End If
Case 9, 10, 11
Action = "T"
End Select
Case 19, 20, 21
Action = "R"
Case Is > 21
Action = "R"
End Select
End If
If Action = "Pas trouvé" Then MsgBox Action & vbCrLf & Str(Joueurs(JNum).Max) & vbCrLf & Str(Joueurs(0).Max), vbOKOnly
End Function

quand je lance depuis l'ide j'ai action="A" ajoueurs(jnum).max=16

Si je crée l'executable dans la même situation ca me donne "Pas trouvé"

Merci pour celui qui me trouvera l'erreur

Gil

1 réponse

Gildeplomb
Messages postés
102
Date d'inscription
samedi 29 décembre 2012
Statut
Membre
Dernière intervention
24 mars 2021

6 août 2009 à 20:41
Pardon , j'avais pas vu qu'on pouvait mettre en forme le source


Private Function Action(PointsJoueur As Integer) As String
    Action = "Pas trouvé"
    If Joueurs(JNum).Carte1 Joueurs(JNum).Carte2 And Joueurs(JNum).Cartes 2 Then
        Action = Partage(PointsJoueur)
        Exit Function
    End If
    If Joueurs(JNum).Max = Joueurs(JNum).Min Then          'Hard hand
        Select Case PointsJoueur
            Case 2, 3, 4
                Action = "T"
            Case 5, 6, 7
                If Joueurs(0).Max 11 And Joueurs(JNum).Cartes 2 Then Action = "A" Else Action = "T"
            Case 8
                Action = "T"
            Case 9
                Select Case Joueurs(0).Max
                    Case 2, 7, 8, 9, 10, 11
                        Action = "T"
                    Case 3, 4, 5, 6
                        Action = "D"
                End Select
            Case 10, 11
                If Joueurs(0).Max < 10 And Joueurs(JNum).Cartes 2 Then Action "D" Else Action = "T"
            Case 12, 13
                Select Case Joueurs(0).Max
                    Case 2, 3, 4, 5, 6
                        Action = "R"
                    Case 7, 8, 9, 10
                        Action = "T"
                    Case 11
                        If Joueurs(JNum).Cartes = 2 Then
                            Action = "A"
                        Else: Action = "T"
                        End If
                End Select
            Case 14, 15
                Select Case Joueurs(0).Max
                    Case 2, 3, 4, 5, 6
                        Action = "R"
                    Case 7, 8, 9
                        Action = "T"
                    Case 10, 11
                        If Joueurs(JNum).Cartes = 2 Then
                            Action = "A"
                        Else: Action = "T"
                        End If
                End Select
            Case 16
                Select Case Joueurs(0).Max
                    Case 2, 3, 4, 5, 6
                        Action = "R"
                    Case 7, 8
                        Action = "T"
                    Case 9, 10, 11
                        If Joueurs(JNum).Cartes = 2 Then
                            Action = "A"
                        Else: Action = "T"
                        End If
                End Select
            Case 17
                If Joueurs(0).Max < 11 Then
                    Action = "R"
                Else: Action = "A"
                End If
            Case 18, 19, 20, 21
                Action = "R"
        End Select
    Else                                                   ' soft hand
        Select Case PointsJoueur
            Case 13, 14
                Select Case Joueurs(0).Max
                    Case 2, 3, 4, 7, 8, 9, 10, 11
                        Action = "T"
                    Case 5, 6
                        If Joueurs(JNum).Cartes = 2 Then
                            Action = "D"
                        Else: Action = "T"
                        End If
                End Select
            Case 15, 16
                Select Case Joueurs(0).Max
                    Case 2, 3, 7, 8, 9, 10, 11
                        Action = "T"
                    Case 4, 5, 6
                        If Joueurs(JNum).Cartes = 2 Then
                            Action = "D"
                        Else: Action = "T"
                        End If
                End Select
            Case 17
                Select Case Joueurs(0).Max
                    Case 2, 7, 8, 9, 10, 11
                        Action = "T"
                    Case 3, 4, 5, 6
                        If Joueurs(JNum).Cartes = 2 Then
                            Action = "D"
                        Else: Action = "T"
                        End If
                End Select
            Case 18
                Select Case Joueurs(0).Max
                    Case 2, 7, 8
                        Action = "R"
                    Case 3, 4, 5, 6
                        If Joueurs(JNum).Cartes = 2 Then
                            Action = "D"
                        Else: Action = "T"
                        End If
                    Case 9, 10, 11
                        Action = "T"
                End Select
            Case 19, 20, 21
                Action = "R"
            Case Is > 21
                Action = "R"
        End Select
    End If
    If Action = "Pas trouvé" Then MsgBox Action & vbCrLf & Str(Joueurs(JNum).Max) & vbCrLf & Str(Joueurs(0).Max), vbOKOnly
End Function


Gil
0