[AutoIt] Simple Tic-Tac-Toe 11-22-2011, 12:09 AM
#1
Doesnt Display Whos Turn it is, But X is Always First then O.
Save the Images Below in the Folder With the AU3 File. They Are the Pieces to The Board.
Save this in the folder with the AU3 file and name it "vline.jpg".
![[Image: 34g3q6r.jpg]](http://i39.tinypic.com/34g3q6r.jpg)
Save this in the folder with the AU3 file and name it "hline.jpg".
![[Image: fem794.jpg]](http://i39.tinypic.com/fem794.jpg)
Save the Images Below in the Folder With the AU3 File. They Are the Pieces to The Board.
Code:
#NoTrayIcon
Main()
Refresh()
Check()
Func Main()
GUIDelete()
AutoItSetOption("ExpandVarStrings", 1)
GUICreate("Tic-Tac-Toe", 400, 300)
$CheckIni = FileExists("temp.ini")
If $CheckIni = 0 Then
IniWrite("temp.ini", "TURN", "turn", "X")
EndIf
Global $TLEFT = GUICtrlCreateButton("", 126, 76, 35, 35)
Global $TCENTER = GUICtrlCreateButton("", 175, 76, 35, 35)
Global $TRIGHT = GUICtrlCreateButton("", 225, 76, 35, 35)
Global $LCENTER = GUICtrlCreateButton("", 126, 125, 35, 35)
Global $CENTER = GUICtrlCreateButton("", 175, 125, 35, 35)
Global $RCENTER = GUICtrlCreateButton("", 225, 125, 35, 35)
Global $LBOTTOM = GUICtrlCreateButton("", 126, 173, 35, 35)
Global $CBOTTOM = GUICtrlCreateButton("", 175, 173, 35, 35)
Global $RBOTTOM = GUICtrlCreateButton("", 225, 173, 35, 35)
Global $Turn = IniRead("temp.ini", "TURN", "turn", "NotFound")
Refresh()
EndFunc
Func Refresh()
$file = GUICtrlCreateMenu("File")
$file_new = GUICtrlCreateMenuItem("New Game", $file)
$file_exit = GUICtrlCreateMenuItem("Exit", $file)
$help = GUICtrlCreateMenu("Help")
$help_about = GUICtrlCreateMenuItem("About", $help)
$title_label = GUICtrlCreateLabel("Tic-Tac-Toe", 161, 20)
$boardV1 = GUICtrlCreatePic("vline.jpg", 165, 63, 6, 163)
$boardV2 = GUICtrlCreatePic("vline.jpg", 213, 63, 6, 163)
$boardH1 = GUICtrlCreatePic("hline.jpg", 113, 163, 165, 6)
$boardH2 = GUICtrlCreatePic("hline.jpg", 113, 115, 165, 6)
Global $TLEFT, $TCENTER, $TRIGHT, $LCENTER, $CENTER, $RCENTER, $LBOTTOM, $CBOTTOM, $RBOTTOM
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case -3
FileDelete("temp.ini")
Exit
Case $file_new
FileDelete("temp.ini")
Main()
Case $help_about
MsgBox(0, "About", "Created by ReaperX (C) 2011. All Rights Reserved.")
Case $TLEFT
$read = GUICtrlRead($TLEFT)
if $read = "X" OR $read = "O" Then
MsgBox(0, "Error!", "Choose an Unmarked Spot!")
Refresh()
EndIf
$CheckTurn = IniRead("temp.ini", "TURN", "turn", "NotFound")
if $CheckTurn = "X" Then
GUICtrlSetData($TLEFT, "X")
IniWrite("temp.ini", "TURN", "turn", "O")
Check()
Else
GUICtrlSetData($TLEFT, "O")
IniWrite("temp.ini", "TURN", "turn", "X")
Check()
EndIf
Case $TCENTER
$read = GUICtrlRead($TCENTER)
if $read = "X" OR $read = "O" Then
MsgBox(0, "Error!", "Choose an Unmarked Spot!")
Refresh()
EndIf
$CheckTurn = IniRead("temp.ini", "TURN", "turn", "NotFound")
if $CheckTurn = "X" Then
GUICtrlSetData($TCENTER, "X")
IniWrite("temp.ini", "TURN", "turn", "O")
Check()
Else
GUICtrlSetData($TCENTER, "O")
IniWrite("temp.ini", "TURN", "turn", "X")
Check()
EndIf
Case $TRIGHT
$read = GUICtrlRead($TRIGHT)
if $read = "X" OR $read = "O" Then
MsgBox(0, "Error!", "Choose an Unmarked Spot!")
Refresh()
EndIf
$CheckTurn = IniRead("temp.ini", "TURN", "turn", "NotFound")
if $CheckTurn = "X" Then
GUICtrlSetData($TRIGHT, "X")
IniWrite("temp.ini", "TURN", "turn", "O")
Check()
Else
GUICtrlSetData($TRIGHT, "O")
IniWrite("temp.ini", "TURN", "turn", "X")
Check()
EndIf
Case $LCENTER
$read = GUICtrlRead($LCENTER)
if $read = "X" OR $read = "O" Then
MsgBox(0, "Error!", "Choose an Unmarked Spot!")
Refresh()
EndIf
$CheckTurn = IniRead("temp.ini", "TURN", "turn", "NotFound")
if $CheckTurn = "X" Then
GUICtrlSetData($LCENTER, "X")
IniWrite("temp.ini", "TURN", "turn", "O")
Check()
Else
GUICtrlSetData($LCENTER, "O")
IniWrite("temp.ini", "TURN", "turn", "X")
Check()
EndIf
Case $CENTER
$read = GUICtrlRead($CENTER)
if $read = "X" OR $read = "O" Then
MsgBox(0, "Error!", "Choose an Unmarked Spot!")
Refresh()
EndIf
$CheckTurn = IniRead("temp.ini", "TURN", "turn", "NotFound")
if $CheckTurn = "X" Then
GUICtrlSetData($CENTER, "X")
IniWrite("temp.ini", "TURN", "turn", "O")
Check()
Else
GUICtrlSetData($CENTER, "O")
IniWrite("temp.ini", "TURN", "turn", "X")
Check()
EndIf
Case $RCENTER
$read = GUICtrlRead($RCENTER)
if $read = "X" OR $read = "O" Then
MsgBox(0, "Error!", "Choose an Unmarked Spot!")
Refresh()
EndIf
$CheckTurn = IniRead("temp.ini", "TURN", "turn", "NotFound")
if $CheckTurn = "X" Then
GUICtrlSetData($RCENTER, "X")
IniWrite("temp.ini", "TURN", "turn", "O")
Check()
Else
GUICtrlSetData($RCENTER, "O")
IniWrite("temp.ini", "TURN", "turn", "X")
Check()
EndIf
Case $LBOTTOM
$read = GUICtrlRead($LBOTTOM)
if $read = "X" OR $read = "O" Then
MsgBox(0, "Error!", "Choose an Unmarked Spot!")
Refresh()
EndIf
$CheckTurn = IniRead("temp.ini", "TURN", "turn", "NotFound")
if $CheckTurn = "X" Then
GUICtrlSetData($LBOTTOM, "X")
IniWrite("temp.ini", "TURN", "turn", "O")
Check()
Else
GUICtrlSetData($LBOTTOM, "O")
IniWrite("temp.ini", "TURN", "turn", "X")
Check()
EndIf
Case $CBOTTOM
$read = GUICtrlRead($CBOTTOM)
if $read = "X" OR $read = "O" Then
MsgBox(0, "Error!", "Choose an Unmarked Spot!")
Refresh()
EndIf
$CheckTurn = IniRead("temp.ini", "TURN", "turn", "NotFound")
if $CheckTurn = "X" Then
GUICtrlSetData($CBOTTOM, "X")
IniWrite("temp.ini", "TURN", "turn", "O")
Check()
Else
GUICtrlSetData($CBOTTOM, "O")
IniWrite("temp.ini", "TURN", "turn", "X")
Check()
EndIf
Case $RBOTTOM
$read = GUICtrlRead($RBOTTOM)
if $read = "X" OR $read = "O" Then
MsgBox(0, "Error!", "Choose an Unmarked Spot!")
Refresh()
EndIf
$CheckTurn = IniRead("temp.ini", "TURN", "turn", "NotFound")
if $CheckTurn = "X" Then
GUICtrlSetData($RBOTTOM, "X")
IniWrite("temp.ini", "TURN", "turn", "O")
Check()
Else
GUICtrlSetData($RBOTTOM, "O")
IniWrite("temp.ini", "TURN", "turn", "X")
Check()
EndIf
Case $file_exit
FileDelete("temp.ini")
Exit
EndSwitch
WEnd
EndFunc
Func Check()
Global $TLEFT, $TCENTER, $TRIGHT, $LCENTER, $CENTER, $RCENTER, $LBOTTOM, $CBOTTOM, $RBOTTOM
$TL = GUICtrlRead($TLEFT)
$TC =GUICtrlRead($TCENTER)
$TR = GUICtrlRead($TRIGHT)
If $TL = "X" AND $TC = "X" AND $TR = "X" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "X Wins!")
FileDelete("temp.ini")
Main()
EndIf
If $TL = "O" AND $TC = "O" AND $TR = "O" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "O Wins!")
FileDelete("temp.ini")
Main()
EndIf
$LC = GUICtrlRead($LCENTER)
$C = GUICtrlRead($CENTER)
$RC = GUICtrlRead($RCENTER)
If $LC = "X" AND $C = "X" AND $RC = "X" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "X Wins!")
FileDelete("temp.ini")
Main()
EndIf
If $LC = "O" AND $C = "O" AND $RC = "O" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "O Wins!")
FileDelete("temp.ini")
Main()
EndIf
$LB = GUICtrlRead($LBOTTOM)
$CB = GUICtrlRead($CBOTTOM)
$RB = GUICtrlRead($RBOTTOM)
If $LB = "X" AND $CB = "X" AND $RB = "X" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "X Wins!")
FileDelete("temp.ini")
Main()
EndIf
If $LB = "O" AND $CB = "O" AND $RB = "O" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "O Wins!")
FileDelete("temp.ini")
Main()
EndIf
$TL = GUICtrlRead($TLEFT)
$LC = GUICtrlRead($LCENTER)
$LB = GUICtrlRead($LBOTTOM)
If $TL = "X" AND $LC = "X" AND $LB = "X" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "X Wins!")
FileDelete("temp.ini")
Main()
EndIf
If $TL = "O" AND $LC = "O" AND $LB = "O" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "O Wins!")
FileDelete("temp.ini")
Main()
EndIf
$TC = GUICtrlRead($TCENTER)
$C = GUICtrlRead($CENTER)
$CB = GUICtrlRead($CBOTTOM)
If $TC = "X" AND $C = "X" AND $CB = "X" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "X Wins!")
FileDelete("temp.ini")
Main()
EndIf
If $TC = "O" AND $C = "O" AND $CB = "O" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "O Wins!")
FileDelete("temp.ini")
Main()
EndIf
$TR = GUICtrlRead($TRIGHT)
$RC = GUICtrlRead($RCENTER)
$RB = GUICtrlRead($RBOTTOM)
If $TR = "X" AND $RC = "X" AND $RB = "X" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "X Wins!")
FileDelete("temp.ini")
Main()
EndIf
If $TR = "O" AND $RC = "O" AND $RB = "O" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "O Wins!")
FileDelete("temp.ini")
Main()
EndIf
$TL = GUICtrlRead($TLEFT)
$C = GUICtrlRead($CENTER)
$RB = GUICtrlRead($RBOTTOM)
If $TL = "X" AND $C = "X" AND $RB = "X" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "X Wins!")
FileDelete("temp.ini")
Main()
EndIf
If $TL = "O" AND $C = "O" AND $RB = "O" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "O Wins!")
FileDelete("temp.ini")
Main()
EndIf
$TR = GUICtrlRead($TRIGHT)
$C = GUICtrlRead($CENTER)
$LB = GUICtrlRead($LBOTTOM)
If $TR = "X" AND $C = "X" AND $LB = "X" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "X Wins!")
FileDelete("temp.ini")
Main()
EndIf
If $TR = "O" AND $C = "O" AND $LB = "O" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "We Have A Winner!", "O Wins!")
FileDelete("temp.ini")
Main()
EndIf
If Not $TL = "" And Not $TC = "" And Not $TR = "" And Not $LC = "" And Not $C = "" And Not $RC = "" And Not $LB = "" And Not $CB = "" And Not $RB = "" Then
ControlDisable("", "", $TLEFT)
ControlDisable("", "", $TCENTER)
ControlDisable("", "", $TRIGHT)
ControlDisable("", "", $LCENTER)
ControlDisable("", "", $CENTER)
ControlDisable("", "", $RCENTER)
ControlDisable("", "", $LBOTTOM)
ControlDisable("", "", $CBOTTOM)
ControlDisable("", "", $RBOTTOM)
sleep(1000)
MsgBox(0, "No Winner!", "Cat Wins!")
FileDelete("temp.ini")
Main()
EndIf
EndFuncSave this in the folder with the AU3 file and name it "vline.jpg".
![[Image: 34g3q6r.jpg]](http://i39.tinypic.com/34g3q6r.jpg)
Save this in the folder with the AU3 file and name it "hline.jpg".
![[Image: fem794.jpg]](http://i39.tinypic.com/fem794.jpg)
(This post was last modified: 11-22-2011, 12:49 AM by doojan.)




![[+]](https://sinister.li/images/modern/collapse_collapsed.png)
