Sub Essai()
If InStr(1, "as dix valet dame roi", [B7], 1) = 0 Then Exit Sub
If [B7] <> [B8] Or [B7] <> [F7] Or [B7] <> [F8] Then Exit Sub
'Black Jack !!!
'mets ici tout le code concerné par le croupier et le joueur
'et pas de triche, hein ??? ;P
End Sub
Select Case .Range("b7")
Case Is = "dix", "valet", "dame", "roi"
Select Case .Range("d8")
Case Is = 1
.Range("b3") = 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbBJ.Visible = True
LbBJ = "BLACK JACK"
LbCroupier.Visible = True
LbCroupier = "Le joueur gagne !"
PlayerMoney = Val(PlayerMoney) + Val(Mise) + Val(Mise / 2)
MoneyBank = Val(MoneyBank) - Val(Mise) - Val(Mise / 2)
Exit Sub
End Select
End Select
Select Case .Range("b8")
Case Is = "dix", "valet", "dame", "roi"
Select Case .Range("d7")
Case Is = 1
.Range("b3") = 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbBJ.Visible = True
LbBJ = "BLACK JACK"
LbCroupier.Visible = True
LbCroupier = "Le joueur gagne !"
PlayerMoney = Val(PlayerMoney) + Val(Mise) + Val(Mise / 2)
MoneyBank = Val(MoneyBank) - Val(Mise) - Val(Mise / 2)
Exit Sub
End Select
End Select
Select Case .Range("f7")
Case Is = "dix", "valet", "dame", "roi"
Select Case .Range("h8")
Case Is = 1
.Range("h3") = 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbBJ.Visible = True
LbBJ = "BLACK JACK"
LbCroupier.Visible = True
LbCroupier = "La banque gagne !"
MoneyBank = Val(MoneyBank) + Val(Mise) + Val(Mise / 2)
PlayerMoney = Val(PlayerMoney) - Val(Mise) - Val(Mise / 2)
Exit Sub
End Select
End Select
Select Case .Range("f8")
Case Is = "dix", "valet", "dame", "roi"
Select Case .Range("h7")
Case Is = 1
.Range("h3") = 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbBJ.Visible = True
LbBJ = "BLACK JACK"
LbCroupier.Visible = True
LbCroupier = "La banque gagne !"
MoneyBank = Val(MoneyBank) + Val(Mise) + Val(Mise / 2)
PlayerMoney = Val(PlayerMoney) - Val(Mise) - Val(Mise / 2)
Exit Sub
End Select
End Select
If [B7] <> [B8] Or [B7] <> [F7] Or [B7] <> [F8] Then Exit Sub
Sub Triche()
'Dix-manches ??...
'Ouuuuuupps! J'ai encore triché!
'J'en ai que deux!
End Sub
Private Sub Attente_Click()
With Sh
Image4.Picture = LoadPicture(Chemin & .Cells(8, 7) & ".gif")
Select Case .Range("h3")
Case Is < .Range("b3")
Call Cartes_Ordi
End Select
On Error Resume Next
x = 8
For i = 1 To 4
If IsEmpty(.Cells(x, 7)) Then
Exit For
Else
x = x + 1
Joue_Carte
t = Timer + 0.8: Do Until Timer > t: DoEvents: Loop
Me.Controls("Image" & x).Picture = LoadPicture(Chemin & .Cells(x, 7) & ".gif")
End If
Next i
' If [B7] <> [B8] Or [B7] <> [F7] Or [B7] <> [F8] Then
' If InStr(1, "as dix valet dame roi", [B7], 1) = 0 Then
' POrdi = .Range("h3")
' PJoueur = .Range("b3")
' LbCroupier.Visible = True
' LbCroupier = "Egalité !"
' Exit Sub
' End If
Select Case .Range("b7")
Case Is = "dix", "valet", "dame", "roi"
Select Case .Range("d8")
Case Is = 1
.Range("b3") = 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbBJ.Visible = True
LbBJ = "BLACK JACK"
LbCroupier.Visible = True
LbCroupier = "Le joueur gagne !"
PlayerMoney = Val(PlayerMoney) + Val(Mise) + Val(Mise / 2)
MoneyBank = Val(MoneyBank) - Val(Mise) - Val(Mise / 2)
Exit Sub
End Select
End Select
Select Case .Range("b8")
Case Is = "dix", "valet", "dame", "roi"
Select Case .Range("d7")
Case Is = 1
.Range("b3") = 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbBJ.Visible = True
LbBJ = "BLACK JACK"
LbCroupier.Visible = True
LbCroupier = "Le joueur gagne !"
PlayerMoney = Val(PlayerMoney) + Val(Mise) + Val(Mise / 2)
MoneyBank = Val(MoneyBank) - Val(Mise) - Val(Mise / 2)
Exit Sub
End Select
End Select
Select Case .Range("f7")
Case Is = "dix", "valet", "dame", "roi"
Select Case .Range("h8")
Case Is = 1
.Range("h3") = 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbBJ.Visible = True
LbBJ = "BLACK JACK"
LbCroupier.Visible = True
LbCroupier = "La banque gagne !"
MoneyBank = Val(MoneyBank) + Val(Mise) + Val(Mise / 2)
PlayerMoney = Val(PlayerMoney) - Val(Mise) - Val(Mise / 2)
Exit Sub
End Select
End Select
Select Case .Range("f8")
Case Is = "dix", "valet", "dame", "roi"
Select Case .Range("h7")
Case Is = 1
.Range("h3") = 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbBJ.Visible = True
LbBJ = "BLACK JACK"
LbCroupier.Visible = True
LbCroupier = "La banque gagne !"
MoneyBank = Val(MoneyBank) + Val(Mise) + Val(Mise / 2)
PlayerMoney = Val(PlayerMoney) - Val(Mise) - Val(Mise / 2)
Exit Sub
End Select
End Select
Select Case .Range("b3")
Case Is = .Range("h3")
Select Case .Range("h3")
Case Is = .Range("b3")
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbCroupier.Visible = True
LbCroupier = "Egalité !"
Exit Sub
End Select
End Select
Select Case .Range("h3")
Case Is > 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbCroupier.Visible = True
LbCroupier = "Le joueur gagne !": Gagne
MoneyBank = Val(MoneyBank) - Val(Mise)
PlayerMoney = Val(PlayerMoney) + Val(Mise)
Exit Sub
End Select
Select Case .Range("h3")
Case Is <= 21, Is > .Range("b3")
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbCroupier.Visible = True
LbCroupier = "La banque gagne !"
MoneyBank = Val(MoneyBank) + Val(Mise)
PlayerMoney = Val(PlayerMoney) - Val(Mise)
Exit Sub
End Select
Select Case .Range("h3")
Case Is > 21, .Range("b3") > 21
POrdi = .Range("h3")
PJoueur = .Range("b3")
LbCroupier.Visible = True
LbCroupier = "Personne gagne !"
Exit Sub
End Select
End With
End Sub
Select Case [B7]
Case Is = "as", "dix", "valet", "dame", "roi"
Select Case [B8]
Case Is = "as", "dix", "valet", "dame", "roi"
Select Case [F7]
Case Is = "as", "dix", "valet", "dame", "roi"
Select Case [F8]
Case Is = "as", "dix", "valet", "dame", "roi"
If [B3] = 21 And [H3] = 21 Then
PJoueur = .Range("b3")
POrdi = .Range("h3")
LbBJ.Visible = True
LbBJ = "BLACK JACK"
LbCroupier.Visible = True
LbCroupier = "Egalité !"
Else
Exit Sub
End If
End Select
End Select
End Select
End Select
If condition1 Then
...
ElseIf condition2
...
ElseIf condition3
...
End If
Function BJ(cel As Range) As Byte
BJ = -(InStr(1, "as dix valet dame roi", cel, 1) > 0)
End Function
Sub Essai()
If BJ([B7]) = 0 Or BJ([B8]) = 0 Or BJ([F7]) = 0 Or BJ([F8]) = 0 Then Exit Sub
If [B3] <> 21 Or [H3] <> 21 Then Exit Sub
PJoueur = [B3]: POrdi = [H3]: LbBJ.Visible = -1: LbBJ = "BLACK JACK"
LbCroupier.Visible = -1: LbCroupier = "Egalité !"
End Sub
Option Explicit
Dim LbCroupier As ListBox, LbBJ As ListBox
Dim PM#, MB#, MJ# 'PlayerMoney, MoneyBank, Mise du Joueur
Dim POrdi%, PJoueur%, BJ As Byte 'BJ = 1 si Black Jack
Private Sub BJck(Carte$, k1 As Byte, k2 As Byte) 'cette sub est appelée par la sub Attente_Click()
Dim chn$, s%, m#
If InStr(1, "dix valet dame roi", Carte, 1) = 0 Then Exit Sub 'ni as, ni 10, ni valet, ni dame, ni roi
If [B7] <> [B8] Or [B7] <> [F7] Or [B7] <> [F8] Then Exit Sub 'un de {as à roi}, mais pas 4× le même !
'si on continue à partir d'ici, c'est qu'il y a eu 4 as, ou 4 dix, ou 4 valets, ou 4 dames, ou 4 rois
BJ = -(k1 = 1): If BJ = 0 Then Exit Sub
With Worksheets("Black Jack") 'nom de feuille à adapter
If k2 = 1 Then
.[B3] = 21: POrdi = .[H3]: PJoueur = 21: s = 1: chn = "Le joueur"
Else
.[H3] = 21: POrdi = 21: PJoueur = .[B3]: s = -1: chn = "La banque"
End If
End With
If BJ = 1 Then
m = MJ * 1.5: PM = PM + s * m: MB = MB - s * m
LbCroupier.Visible = -1: LbCroupier = chn & " gagne !"
LbBJ.Visible = -1: LbBJ = "BLACK JACK"
End If
End Sub
Private Sub Attente_Click()
On Error Resume Next
Dim Chemin$, Image4 As IPictureDisp 'pour le type IPictureDisp, je ne suis pas sûr ; si ça ne marche pas,
'essaye : Image4 As Object ; ou Image4 As Variant ; ou Image4 (si type non indiqué : idem que Variant).
Dim t#, x&, i&
With Worksheets("Black Jack") 'nom de feuille à adapter
Image4.Picture = LoadPicture(Chemin & .Cells(8, 7) & ".gif"): If .[H3] < .[B3] Then Cartes_Ordi
x = 8
For i = 1 To 4
If IsEmpty(.Cells(x, 7)) Then Exit For
x = x + 1: Joue_Carte: t = Timer + 0.8: Do Until Timer > t: DoEvents: Loop
Application.Controls("Image" & x).Picture = LoadPicture(Chemin & .Cells(x, 7) & ".gif")
Next i
BJck .[B7], .[D8], 1: If BJ = 1 Then Exit Sub
BJck .[B8], .[D7], 1: If BJ = 1 Then Exit Sub
BJck .[F7], .[H8], 2: If BJ = 1 Then Exit Sub
BJck .[F8], .[H7], 2: If BJ = 1 Then Exit Sub
If .[B3] = .[H3] Then
POrdi = .[H3]: PJoueur = .[B3]: LbCroupier.Visible = -1: LbCroupier = "Egalité !": Exit Sub
End If
Select Case .[H3]
Case Is > 21
POrdi = .[H3]: PJoueur = .[B3]: MB = MB - MJ: PM = PM + MJ
LbCroupier.Visible = -1: LbCroupier = "Le joueur gagne !"
Exit Sub
Case Is <= 21, Is > .[B3]
POrdi = .[H3]: PJoueur = .[B3]: MB = MB + MJ: PM = PM - MJ
LbCroupier.Visible = -1: LbCroupier = "La banque gagne !"
Exit Sub
Case Is > 21
If .[B3] > 21 Then
POrdi = .[H3]: PJoueur = .[B3]
LbCroupier.Visible = -1: LbCroupier = "Personne gagne !"
Exit Sub
End If
End Select
End With
End Sub
Sub Cartes_Ordi(): End Sub 'sub ajoutée pour éviter le blocage de la compilation
Sub Joue_Carte(): End Sub 'sub ajoutée pour éviter le blocage de la compilation