Aujourd'hui c'est un petit morpion que je vous présente !
► Afficher le texte
Code : Tout sélectionner
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$tour = 1
$J1 = "O"
$J2 = "X"
Local $1,$2,$3,$4,$5,$6,$7,$8,$9,$Windows,$win
Local $tours = 0
_Game()
Func _Game()
$tours = 0
$Windows = GUICreate("Morpion by Warden", 179, 179, 192, 124)
$1 = GUICtrlCreateButton("", 8, 8, 50, 50)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$2 = GUICtrlCreateButton("", 64, 8, 50, 50)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$3 = GUICtrlCreateButton("", 120, 8, 50, 50)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$4 = GUICtrlCreateButton("", 8, 64, 50, 50)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$5 = GUICtrlCreateButton("", 64, 64, 50, 50)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$6 = GUICtrlCreateButton("", 120, 64, 50, 50)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$7 = GUICtrlCreateButton("", 8, 120, 50, 50)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$8 = GUICtrlCreateButton("", 64, 120, 50, 50)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$9 = GUICtrlCreateButton("", 120, 120, 50, 50)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $1
_Marquage($1)
_verif()
Case $2
_Marquage($2)
_verif()
Case $3
_Marquage($3)
_verif()
Case $4
_Marquage($4)
_verif()
Case $5
_Marquage($5)
_verif()
Case $6
_Marquage($6)
_verif()
Case $7
_Marquage($7)
_verif()
Case $8
_Marquage($8)
_verif()
Case $9
_Marquage($9)
_verif()
EndSwitch
WEnd
EndFunc
Func _verif()
_SontEgaux($1,$2,$3)
_SontEgaux($4,$5,$6)
_SontEgaux($7,$8,$9)
_SontEgaux($1,$4,$7)
_SontEgaux($2,$5,$8)
_SontEgaux($3,$6,$9)
_SontEgaux($1,$5,$9)
_SontEgaux($3,$5,$7)
EndFunc
Func _Marquage($button)
If $tour = 1 Then
GUICtrlSetState($button, $GUI_DISABLE)
GUICtrlSetData($button, $J1)
$tour = 2
Else
GUICtrlSetState($button, $GUI_DISABLE)
GUICtrlSetData($button, $J2)
$tour = 1
EndIf
EndFunc
Func _SontEgaux($button1, $button2, $button3)
If GUICtrlRead($button1) = GUICtrlRead($button2) And GUICtrlRead($button2) = GUICtrlRead($button3) And GUICtrlRead($button1) <> "" Then
If $tour = 2 Then $win = "le O"
If $tour = 1 Then $win = "le X"
MsgBox(0, "", "Partie Terminée, le vainqueur est : "& $win)
GUIDelete($Windows)
_Game()
Return True
Else
$tours = $tours + 1
If $tours = 9*8 Then
MsgBox(0, "", "Partie Terminée, pas de vainqueur.")
GUIDelete($Windows)
_Game()
EndIf
Return False
EndIf
EndFunc