Sinisterly
[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 EndFunc

Save this in the folder with the AU3 file and name it "vline.jpg".
[Image: 34g3q6r.jpg]

Save this in the folder with the AU3 file and name it "hline.jpg".
[Image: fem794.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 Biggrin

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 Biggrin

how long have you worked with au3?

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 Biggrin

how long have you worked with au3?

About a month. I just practice with it a lot and try stuff out to see what works. You should try learning it.


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?