![]() |
|
[AutoIt] Simple Tic-Tac-Toe - Printable Version +- Sinisterly (https://sinister.li) +-- Forum: Coding (https://sinister.li/Forum-Coding) +--- Forum: Coding (https://sinister.li/Forum-Coding--71) +--- Thread: [AutoIt] Simple Tic-Tac-Toe (/Thread-AutoIt-Simple-Tic-Tac-Toe) |
[AutoIt] Simple Tic-Tac-Toe - ReaperX - 11-22-2011 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. 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". ![]() Save this in the folder with the AU3 file and name it "hline.jpg". ![]() RE: [AutoIt] Simple Tic-Tac-Toe - Jacob - 11-22-2011 how long did it take you to make this...or are you not the author? RE: [AutoIt] Simple Tic-Tac-Toe - ReaperX - 11-22-2011 (11-22-2011, 12:22 AM)Jacob Wrote: how long did it take you to make this...or are you not the author? Im the Author. I Worked on it for about 4 Hours Total but Not in One Day. Why Would i Post it if I Didnt Make it? Edit: Just Added the Images. Save them. Its the Board for the Game. RE: [AutoIt] Simple Tic-Tac-Toe - Jacob - 11-22-2011 holy shit, seems complicated and idk some leechers are leechers ![]() how long have you worked with au3? RE: [AutoIt] Simple Tic-Tac-Toe - ReaperX - 11-22-2011 (11-22-2011, 01:35 AM)Jacob Wrote: holy shit, seems complicated and idk some leechers are leechers About a month. I just practice with it a lot and try stuff out to see what works. You should try learning it. RE: [AutoIt] Simple Tic-Tac-Toe - Jacob - 11-22-2011 (11-22-2011, 02:00 PM)ReaperX Wrote:(11-22-2011, 01:35 AM)Jacob Wrote: holy shit, seems complicated and idk some leechers are leechers I do practice it xD Ive been on it a little more than a month, but not having internet makes it hard to learn. I know quite a bit compared to ALOT of people out there. RE: [AutoIt] Simple Tic-Tac-Toe - ReaperX - 11-22-2011 I do most all of my learning from the au3 help file. Its got every code, what it does and how to use it. Just keep practicing and you will learn more. RE: [AutoIt] Simple Tic-Tac-Toe - Jacob - 11-22-2011 thats how i learn as well. RE: [AutoIt] Simple Tic-Tac-Toe - ReaperX - 11-22-2011 (11-22-2011, 11:46 PM)Jacob Wrote: thats how i learn as well. Made any applications yet? |