voilà je me suis amusé a codé un petit Tic Tac Toe très basic (pas de menu etc..) il est jouable a 2 avec la même souris. quand je disais que c’était basique
La conception est simple car le jeu est basé sur des ButtonImageGadget et un fichier preference rien de plus.
Screen:

Lien vers le zip
Code source:
Code : Tout sélectionner
Enumeration
#Window_0
EndEnumeration
Enumeration
#Font_0
#Vide
#Cercle
#Croix
#Button_1
#Button_2
#Button_3
#Button_4
#Button_5
#Button_6
#Button_7
#Button_8
#Button_9
#Text_Joueur
EndEnumeration
UsePNGImageDecoder()
Dossier$ = ""
DossierImages$ = "images\"
LoadFont(#Font_0, "Arial", 20, #PB_Font_Bold)
Procedure CreatePref()
If CreatePreferences(Dossier$+"TicTacToe.pref", #PB_Preference_NoSpace)
For a = 1 To 9
WritePreferenceString(Str(a), "0")
Next
WritePreferenceString("joueur", "1")
ClosePreferences()
EndIf
EndProcedure
CreatePref()
If OpenWindow(#Window_0, 0, 0, 300, 350, "Tic Tac Toe", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetWindowColor(#Window_0, RGB(0, 0, 0))
LoadImage(#Vide, DossierImages$+"vide.png", #PB_Sprite_AlphaBlending)
LoadImage(#Cercle, DossierImages$+"rond.png", #PB_Sprite_AlphaBlending)
LoadImage(#Croix, DossierImages$+"croix.png", #PB_Sprite_AlphaBlending)
ButtonImageGadget(#Button_1, 0, 0, 100, 100, ImageID(#Vide), #PB_Button_Toggle)
ButtonImageGadget(#Button_2, 100, 0, 100, 100, ImageID(#Vide), #PB_Button_Toggle)
ButtonImageGadget(#Button_3, 200, 0, 100, 100, ImageID(#Vide), #PB_Button_Toggle)
ButtonImageGadget(#Button_4, 0, 100, 100, 100, ImageID(#Vide), #PB_Button_Toggle)
ButtonImageGadget(#Button_5, 100, 100, 100, 100, ImageID(#Vide), #PB_Button_Toggle)
ButtonImageGadget(#Button_6, 200, 100, 100, 100, ImageID(#Vide), #PB_Button_Toggle)
ButtonImageGadget(#Button_7, 0, 200, 100, 100, ImageID(#Vide), #PB_Button_Toggle)
ButtonImageGadget(#Button_8, 100, 200, 100, 100, ImageID(#Vide), #PB_Button_Toggle)
ButtonImageGadget(#Button_9, 200, 200, 100, 100, ImageID(#Vide), #PB_Button_Toggle)
TextGadget(#Text_Joueur, 0, 310, 300, 50, "JOUEUR 1", #PB_Text_Center)
SetGadgetColor(#Text_Joueur, #PB_Gadget_BackColor, RGB(0, 0, 0))
SetGadgetColor(#Text_Joueur, #PB_Gadget_FrontColor , RGB(255, 255, 255))
SetGadgetFont(#Text_Joueur, FontID(#Font_0))
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
;{ Tout ce qui concerne le bouton 1
Case #Button_1 ; appuie sur le bouton
If GetGadgetState(#Button_1) = 0 ; si le bouton = 0 alors il a déja etait cliquer
SetGadgetState(#Button_1, 1) ; on lui remet donc l'identifiant 1
MessageRequester("Erreur", "Case déjà prise", 0) ; on informe l'utilisateur que le bouton est deja pris
Else ; si le bouton est vide
OpenPreferences(Dossier$+"TicTacToe.pref") ; on ouvre le fichier pref
If Val(ReadPreferenceString("joueur", "")) = 1 ; on regarde si c'est au tour du joueur n°1 si oui:
SetGadgetAttribute(#Button_1, #PB_Button_Image, ImageID(#Croix)) ; on affiche la croix dans le BoutonImageGadget
WritePreferenceString("1", "1") ; on modifie la ligne 1 du fichier pref pour dire que la case 1 est egale a la croix
WritePreferenceString("joueur", "2") ; on modifie la ligne joueur pour dire que le prochain tour c'est au joueur 2
SetGadgetText(#Text_Joueur, "JOUEUR 2") ; on modifie aussi le TextGadget pour indiquer que c'est au tour du joueur 2
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) = 3 Or Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("7", "")) = 3 Or Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("9", "")) = 3
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 1 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
SetGadgetText(#Text_Joueur, "JOUEUR 1")
CreatePref()
Next
Else
End
EndIf
EndIf
ElseIf Val(ReadPreferenceString("joueur", "")) = 2 ; on regarde si c'est au tour du joueur n°2 si oui:
SetGadgetAttribute(#Button_1, #PB_Button_Image, ImageID(#Cercle)) ; on affiche un cercle dans le BoutonImageGadget
WritePreferenceString("1", "5") ; on modifie la ligne 1 du fichier pref pour dire que la case 1 est egale a la croix
WritePreferenceString("joueur", "1") ; on modifie la ligne joueur pour dire que le prochain tour c'est au joueur 1
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) = 15 Or Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("7", "")) = 15 Or Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("9", "")) = 15
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 2 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
SetGadgetText(#Text_Joueur, "JOUEUR 1") ; on modifie aussi le TextGadget pour indiquer que c'est au tour du joueur 1
EndIf
; verifie si il y a nul
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 25
reponseMsg = MessageRequester("NUL", "Match nul. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
ClosePreferences() ; on ferme la lecture du fichier pref
EndIf
;}
;{ Tout ce qui concerne le bouton 2
Case #Button_2
If GetGadgetState(#Button_2) = 0
SetGadgetState(#Button_2, 1)
MessageRequester("Erreur", "Case déjà prise", 0)
Else
OpenPreferences(Dossier$+"TicTacToe.pref")
If Val(ReadPreferenceString("joueur", "")) = 1
SetGadgetAttribute(#Button_2, #PB_Button_Image, ImageID(#Croix))
WritePreferenceString("2", "1")
WritePreferenceString("joueur", "2")
SetGadgetText(#Text_Joueur, "JOUEUR 2")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) = 3 Or Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("8", "")) = 3
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 1 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
SetGadgetText(#Text_Joueur, "JOUEUR 1")
CreatePref()
Next
Else
End
EndIf
EndIf
ElseIf Val(ReadPreferenceString("joueur", "")) = 2
SetGadgetAttribute(#Button_2, #PB_Button_Image, ImageID(#Cercle))
WritePreferenceString("2", "5")
WritePreferenceString("joueur", "1")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) = 15 Or Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("8", "")) = 15
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 2 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
SetGadgetText(#Text_Joueur, "JOUEUR 1")
EndIf
; verifie si il y a nul
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 25
reponseMsg = MessageRequester("NUL", "Match nul. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
ClosePreferences()
EndIf
;}
;{ Tout ce qui concerne le bouton 3
Case #Button_3
If GetGadgetState(#Button_3) = 0
SetGadgetState(#Button_3, 1)
MessageRequester("Erreur", "Case déjà prise", 0)
Else
OpenPreferences(Dossier$+"TicTacToe.pref")
If Val(ReadPreferenceString("joueur", "")) = 1
SetGadgetAttribute(#Button_3, #PB_Button_Image, ImageID(#Croix))
WritePreferenceString("3", "1")
WritePreferenceString("joueur", "2")
SetGadgetText(#Text_Joueur, "JOUEUR 2")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) = 3 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("7", "")) = 3 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("9", "")) = 3
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 1 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
SetGadgetText(#Text_Joueur, "JOUEUR 1")
CreatePref()
Next
Else
End
EndIf
EndIf
ElseIf Val(ReadPreferenceString("joueur", "")) = 2
SetGadgetAttribute(#Button_3, #PB_Button_Image, ImageID(#Cercle))
WritePreferenceString("3", "5")
WritePreferenceString("joueur", "1")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) = 15 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("7", "")) = 15 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("9", "")) = 15
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 2 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
SetGadgetText(#Text_Joueur, "JOUEUR 1")
EndIf
; verifie si il y a nul
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 25
reponseMsg = MessageRequester("NUL", "Match nul. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
ClosePreferences()
EndIf
;}
;{ Tout ce qui concerne le bouton 4
Case #Button_4
If GetGadgetState(#Button_4) = 0
SetGadgetState(#Button_4, 1)
MessageRequester("Erreur", "Case déjà prise", 0)
Else
OpenPreferences(Dossier$+"TicTacToe.pref")
If Val(ReadPreferenceString("joueur", "")) = 1
SetGadgetAttribute(#Button_4, #PB_Button_Image, ImageID(#Croix))
WritePreferenceString("4", "1")
WritePreferenceString("joueur", "2")
SetGadgetText(#Text_Joueur, "JOUEUR 2")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("7", "")) = 3 Or Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) = 3
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 1 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
SetGadgetText(#Text_Joueur, "JOUEUR 1")
CreatePref()
Next
Else
End
EndIf
EndIf
ElseIf Val(ReadPreferenceString("joueur", "")) = 2
SetGadgetAttribute(#Button_4, #PB_Button_Image, ImageID(#Cercle))
WritePreferenceString("4", "5")
WritePreferenceString("joueur", "1")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("7", "")) = 15 Or Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) = 15
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 2 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
SetGadgetText(#Text_Joueur, "JOUEUR 1")
EndIf
; verifie si il y a nul
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 25
reponseMsg = MessageRequester("NUL", "Match nul. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
ClosePreferences()
EndIf
;}
;{ Tout ce qui concerne le bouton 5
Case #Button_5
If GetGadgetState(#Button_5) = 0
SetGadgetState(#Button_5, 1)
MessageRequester("Erreur", "Case déjà prise", 0)
Else
OpenPreferences(Dossier$+"TicTacToe.pref")
If Val(ReadPreferenceString("joueur", "")) = 1
SetGadgetAttribute(#Button_5, #PB_Button_Image, ImageID(#Croix))
WritePreferenceString("5", "1")
WritePreferenceString("joueur", "2")
SetGadgetText(#Text_Joueur, "JOUEUR 2")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("9", "")) = 3 Or Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("8", "")) = 3 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("7", "")) = 3 Or Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) = 3
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 1 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
SetGadgetText(#Text_Joueur, "JOUEUR 1")
CreatePref()
Next
Else
End
EndIf
EndIf
ElseIf Val(ReadPreferenceString("joueur", "")) = 2
SetGadgetAttribute(#Button_5, #PB_Button_Image, ImageID(#Cercle))
WritePreferenceString("5", "5")
WritePreferenceString("joueur", "1")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("9", "")) = 15 Or Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("8", "")) = 15 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("7", "")) = 15 Or Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) = 15
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 2 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
SetGadgetText(#Text_Joueur, "JOUEUR 1")
EndIf
; verifie si il y a nul
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 25
reponseMsg = MessageRequester("NUL", "Match nul. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
ClosePreferences()
EndIf
;}
;{ Tout ce qui concerne le bouton 6
Case #Button_6
If GetGadgetState(#Button_6) = 0
SetGadgetState(#Button_6, 1)
MessageRequester("Erreur", "Case déjà prise", 0)
Else
OpenPreferences(Dossier$+"TicTacToe.pref")
If Val(ReadPreferenceString("joueur", "")) = 1
SetGadgetAttribute(#Button_6, #PB_Button_Image, ImageID(#Croix))
WritePreferenceString("6", "1")
WritePreferenceString("joueur", "2")
SetGadgetText(#Text_Joueur, "JOUEUR 2")
; verifie si il y a victoire
If Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("9", "")) = 3 Or Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) = 3
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 1 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
SetGadgetText(#Text_Joueur, "JOUEUR 1")
CreatePref()
Next
Else
End
EndIf
EndIf
ElseIf Val(ReadPreferenceString("joueur", "")) = 2
SetGadgetAttribute(#Button_6, #PB_Button_Image, ImageID(#Cercle))
WritePreferenceString("6", "5")
WritePreferenceString("joueur", "1")
; verifie si il y a victoire
If Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("9", "")) = 15 Or Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) = 15
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 2 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
SetGadgetText(#Text_Joueur, "JOUEUR 1")
EndIf
; verifie si il y a nul
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 25
reponseMsg = MessageRequester("NUL", "Match nul. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
ClosePreferences()
EndIf
;}
;{ Tout ce qui concerne le bouton 7
Case #Button_7
If GetGadgetState(#Button_7) = 0
SetGadgetState(#Button_7, 1)
MessageRequester("Erreur", "Case déjà prise", 0)
Else
OpenPreferences(Dossier$+"TicTacToe.pref")
If Val(ReadPreferenceString("joueur", "")) = 1
SetGadgetAttribute(#Button_7, #PB_Button_Image, ImageID(#Croix))
WritePreferenceString("7", "1")
WritePreferenceString("joueur", "2")
SetGadgetText(#Text_Joueur, "JOUEUR 2")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("7", "")) = 3 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("7", "")) = 3 Or Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 3
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 1 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
SetGadgetText(#Text_Joueur, "JOUEUR 1")
CreatePref()
Next
Else
End
EndIf
EndIf
ElseIf Val(ReadPreferenceString("joueur", "")) = 2
SetGadgetAttribute(#Button_7, #PB_Button_Image, ImageID(#Cercle))
WritePreferenceString("7", "5")
WritePreferenceString("joueur", "1")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("7", "")) = 15 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("7", "")) = 15 Or Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 15
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 2 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
SetGadgetText(#Text_Joueur, "JOUEUR 1")
EndIf
; verifie si il y a nul
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 25
reponseMsg = MessageRequester("NUL", "Match nul. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
ClosePreferences()
EndIf
;}
;{ Tout ce qui concerne le bouton 8
Case #Button_8
If GetGadgetState(#Button_8) = 0
SetGadgetState(#Button_8, 1)
MessageRequester("Erreur", "Case déjà prise", 0)
Else
OpenPreferences(Dossier$+"TicTacToe.pref")
If Val(ReadPreferenceString("joueur", "")) = 1
SetGadgetAttribute(#Button_8, #PB_Button_Image, ImageID(#Croix))
WritePreferenceString("8", "1")
WritePreferenceString("joueur", "2")
SetGadgetText(#Text_Joueur, "JOUEUR 2")
; verifie si il y a victoire
If Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 3 Or Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("8", "")) = 3
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 1 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
SetGadgetText(#Text_Joueur, "JOUEUR 1")
CreatePref()
Next
Else
End
EndIf
EndIf
ElseIf Val(ReadPreferenceString("joueur", "")) = 2
SetGadgetAttribute(#Button_8, #PB_Button_Image, ImageID(#Cercle))
WritePreferenceString("8", "5")
WritePreferenceString("joueur", "1")
; verifie si il y a victoire
If Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 15 Or Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("8", "")) = 15
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 2 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
SetGadgetText(#Text_Joueur, "JOUEUR 1")
EndIf
; verifie si il y a nul
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 25
reponseMsg = MessageRequester("NUL", "Match nul. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
ClosePreferences()
EndIf
;}
;{ Tout ce qui concerne le bouton 9
Case #Button_9
If GetGadgetState(#Button_9) = 0
SetGadgetState(#Button_9, 1)
MessageRequester("Erreur", "Case déjà prise", 0)
Else
OpenPreferences(Dossier$+"TicTacToe.pref")
If Val(ReadPreferenceString("joueur", "")) = 1
SetGadgetAttribute(#Button_9, #PB_Button_Image, ImageID(#Croix))
WritePreferenceString("9", "1")
WritePreferenceString("joueur", "2")
SetGadgetText(#Text_Joueur, "JOUEUR 2")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("9", "")) = 3 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("9", "")) = 3 Or Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 3
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 1 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
SetGadgetText(#Text_Joueur, "JOUEUR 1")
CreatePref()
Next
Else
End
EndIf
EndIf
ElseIf Val(ReadPreferenceString("joueur", "")) = 2
SetGadgetAttribute(#Button_9, #PB_Button_Image, ImageID(#Cercle))
WritePreferenceString("9", "5")
WritePreferenceString("joueur", "1")
; verifie si il y a victoire
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("9", "")) = 15 Or Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("9", "")) = 15 Or Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 15
reponseMsg = MessageRequester("VICTOIRE", "Bravo, le JOUEUR 2 gagne la partie. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
SetGadgetText(#Text_Joueur, "JOUEUR 1")
EndIf
; verifie si il y a nul
If Val(ReadPreferenceString("1", "")) + Val(ReadPreferenceString("2", "")) + Val(ReadPreferenceString("3", "")) + Val(ReadPreferenceString("4", "")) + Val(ReadPreferenceString("5", "")) + Val(ReadPreferenceString("6", "")) + Val(ReadPreferenceString("7", "")) + Val(ReadPreferenceString("8", "")) + Val(ReadPreferenceString("9", "")) = 25
reponseMsg = MessageRequester("NUL", "Match nul. Souhaitez vous faire une nouvelle partie ?", #PB_MessageRequester_YesNo)
If reponseMsg = 6
For ID = #Button_1 To #Button_9
SetGadgetAttribute(ID, #PB_Button_Image, ImageID(#Vide))
SetGadgetState(ID, 0)
CreatePref()
Next
Else
End
EndIf
EndIf
ClosePreferences()
EndIf
;}
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow

@++