Gildeplomb
Messages postés101Date d'inscriptionsamedi 29 décembre 2012StatutMembreDernière intervention 1 novembre 2023
-
6 août 2009 à 18:55
Gildeplomb
Messages postés101Date d'inscriptionsamedi 29 décembre 2012StatutMembreDernière intervention 1 novembre 2023
-
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é"
Gildeplomb
Messages postés101Date d'inscriptionsamedi 29 décembre 2012StatutMembreDernière intervention 1 novembre 2023 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