Sign in to follow this  
Followers 0
theguy0000

Unexpected "Syntax Error"?...

3 posts in this topic

I'm sure it's something obvious, but my brain is dead right now.

#include <GUIConstants.au3>
#include <Array.au3>
Global $cHoverID[2], $Global_cHID = 0, $cHoverActive = 0, $cHClicked = 0, $White = 1

#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("AForm1", 122, 74, 290, 110)
$ButtonW = GUICtrlCreateButton("White", 16, 8, 89, 25, 0)
$ButtonB = GUICtrlCreateButton("Black", 16, 40, 89, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $ButtonB
            $play_color = "black"
            $opponent = "white"
            ExitLoop
        Case $ButtonW
            $play_color = "white"
            $opponent = "black"
            ExitLoop

    EndSwitch
WEnd

Global $squares[65]
Global $MarblePics[65]
$gui = GUICreate("AutoIt Reversi", 600, 595)
For $y = 1 To 8
    For $x = 1 To 8
        $i = (8* ($y - 1)) + $x
        $squares[$i] = ""
        $MarblePics[$i] = GUICtrlCreatePic("square.bmp", coord($x), coord($y), 60, 60)
        _ControlHover(2, $gui, $MarblePics[$i])
        $squares[$i] = ""
    Next
Next

PlaceMarble("white", 3, 3)
PlaceMarble("black", 3, 4)
PlaceMarble("black", 4, 3)
PlaceMarble("white", 4, 4)
Global $square_buttons[65]
GUISetState()

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
   
    $Over = _ControlHover(0, $gui)
    If $Over = 1 Then
        $TempID = @extended
        For $i = 1 To 64
            If $MarblePics[$i] = $TempID Then
                If $squares[$i] = "" Then
                    GUICtrlSetImage($TempID, "hover.bmp")
                    $squares[$i] = "hover"
                EndIf
            Else
                If $squares[$i] = "hover" Then
                    GUICtrlSetImage ($MarblePics[$i], "square.bmp")
                    $squares[$i] = ""
                EndIf
            EndIf
        Next
    EndIf
   
    $Over2 = _ControlHover(1, $gui)
    If $Over2 = 1 Then
        $TempID2 = @extended
        For $i = 1 To 64
            If $MarblePics[$i] = $TempID2 Then
                If $squares[$i] = "hover" Then
                    PlaceMarble ($play_color, squareX($i), squareY($i))
                EndIf
            EndIf
        Next
    EndIf
WEnd

Func coord($num)
    If $num < 1 Or $num > 8 Then
        SetError(1)
        Return 0
    EndIf
    Return ($num * 60) + 5
EndFunc   ;==>coord

Func PlaceMarble($color, $x, $y)
    Local $square = (8* $y) + $x+1
    If $square < 1 Or $square > 64 Then Return 0
    $MarblePics[$square] = GUICtrlSetImage($MarblePics[$square], $color & ".bmp")
    GUICtrlSetState(-1, $GUI_SHOW)
    AddTaken($squares[$square], 1)
    $squares[$square] = $color
    Capture ($x, $y)
    Return 1
EndFunc   ;==>PlaceMarble

Func ReverseMarble($x, $y)
    Local $square = (8*($y - 1))+$x
    If $squares[$square] = "" Then Return 0
    Switch $squares[$square]
        Case "white"
            PlaceMarble("black", $x, $y)
        Case "black"
            PlaceMarble("white", $x, $y)
    EndSwitch
EndFunc   ;==>ReverseMarble

Func squareX($num)
    $ret = 0
    Do
        $num -= 1
        $ret += 1
    Until Round($num / 8) = $num / 8
    Return $ret
EndFunc   ;==>squareX

Func squareY($num)
    $num -= squareX($num)
    Return ($num / 8)
EndFunc   ;==>squareY

Func Capture ($x, $y)
    Local $X2, $Y2, $num, $capt_num, $num2, $capt_num2
    $capt_num=0
    
    ;capture up
    If $y > 2 Then
        $Y2 = $y-1
        $X2 = $x
        $num = (8*($Y2-1))+$X2
        If $squares[$num] = $opponent Then
            For $i = $y-2 To 1
                $num2 = (8*($i-1))+$X2
                If $squares[$num2] = $play_color Then
                    $capt_num2 = $y-$i-1
                    For $ii = $y-1 To $y-$capt_num2
                        ReverseMarble ($x, $y)
                        $capt_num += 1
                    Next
                EndIf
            Next
        EndIf
    EndIf

EndIf

; AddTaken by Valuater
Func AddTaken($place, $add = 0)
    For $i = 1 To UBound($squares) -1
        If  $squares[$i] = $place Then Return SetError( -1, 0)
        If $squares[$i] = "" And $add = 1 Then
            $squares[$i] = $place
            Return SetError( 1, 1)
        EndIf
        If $squares[$i] = "" Then ExitLoop
    Next
    Return SetError( 2, 2)
EndFunc
;ControlHover by Valuater
#region _ControlHover;
;===============================================================================
;    UDF Name: _ControlHover.au3
;
;    Version v1.2.0  Sept 25, 2006, built with Autoit 3.2.1.3
;
;    Author: Valuater, Robert M
;
;    Contributions: marfdaman(Marvin), RazerM, Quaizywabbit(AnyGUI).
;
;    Email: <Valuater [at] aol [dot] com>
;
;    Use: Enable Mouse/Hover Over Control Events
;===============================================================================

;===============================================================================
;
; Function Name:    _ControlHover()
; Description:      Enable Mouse/Hover Over Control Events
;                    Find if Mouse is over a known control
;                    Find if a Mouse has Clicked on a known control
;                    Add, Remove, or Verify the control within the known control list
; Parameter(s):     $cH_Mode    [default]       0 = Find if Mouse is over a known control
;                               [optional]        1 = Find if a Mouse has Clicked on a known control
;                                               2 = Add a control to the known control list
;                                               3 = Remove a control from the known control list
;                                               4 = Verify a control is in the known control list
;                   $cH_hWin    [optional]       - Window handle as returned by GUICreate()
;                                [preferred]        - Window handle to save CPU usage and speed of _ControlHover()
;                                                - and Avoid array errors for "non-active window"
;                   $cH_hCntrl    [required]       - Control ID to Add, Remove, or Verify the control within the known control list
;                                [not used]        - to find if a mouse is over or has clicked on a known control
; Requirement(s):   #include<Array.au3>
; Return Value(s):
;                    $cH_Mode 0 or 1
;                                On Success     Return = 1        @error = 0, @extended = Current known control
;                               While Success Return = ""
;                               On Failure: Return = 0        @error = 1, @extended = Last known control
;                    $cH_Mode 2, 3, or 4
;                                On Success     Return = 1        @error = 0, @extended = Function's return line number
;                    All $cH_Mode's
;                               On Error:     Return = Description of the error
;                                                            @error = -1, @extended = Function's return line number
; Author(s):        Valuater, Robert M
;
;===============================================================================
Func _ControlHover($cH_Mode = 0, $cH_hWin = "", $cH_hCntrl = "")
   
    Local $cH_i, $cH_Data
    If Not @Compiled Then Opt("TrayIconDebug", 1) ; 1=debug line info
   
    Select
        Case $cH_Mode = 0 Or $cH_Mode = 1 ; 0 = Check if mouse is over a control, 1 = Check if mouse clicked on a control
           
            ; Developer did not add any controls before the function mode 0 or 1 was called
            If UBound($cHoverID) = 2 Then ConsoleWrite("*** _ControlHover() Error *** " & @CRLF & "No Controls were Added" & @CRLF)
           
            If $cH_hWin = "" Then
                $cH_Data = GUIGetCursorInfo() ; Get cursor data from the active window
            Else
                If Not WinActive($cH_hWin) Then Return SetError(-1, 1, "Window not active") ; Dont waist CPU if the known window is not active
                $cH_Data = GUIGetCursorInfo($cH_hWin) ; Get cursor data from the known window
            EndIf
           
            If Not IsArray($cH_Data) Then Return SetError(-1, 2, "Window not found") ; A readable GUI window was not found
           
            For $cH_i = 1 To UBound($cHoverID) - 1 ; Search the known controls for the currently hovered control
                If $cH_Data[4] = $cHoverID[$cH_i] Then ; Mouse is over a current known control
                   
                    ; Mode 1 - check for a Click on a known control
                    If $cH_Mode And $cH_Data[2] = 1 And Not $cHClicked Then
                        $cHClicked = 1
                        Return SetError(0, $cHoverID[$Global_cHID], 1) ; Mouse clicked on current control
                    ElseIf $cH_Mode And $cH_Data[2] <> 1 And $cHClicked Then
                        $cHClicked = 0
                        Return SetError(1, $cHoverID[$Global_cHID], 0) ; Release clicked current control
                    EndIf
                    If $cH_Mode Then Return SetError("", "", "") ; Mouse is still over last known control and may click again
                   
                    ; Mode 0 & 1
                    If $cHoverID[$cH_i] = $cHoverID[$Global_cHID] And $cHoverActive Then Return SetError("", "", "") ; Mouse is still over last known control
                    If $cHoverActive Then
                        $cHoverActive = 0
                        Return SetError(1, $cHoverID[$Global_cHID], 0) ; Release Active - Mouse is over a new known control
                    EndIf
                    $cHoverActive = 1
                    $cHoverID[$Global_cHID] = $cHoverID[$cH_i] ; Re-set the current control to the new known control
                    Return SetError(0, $cHoverID[$Global_cHID], 1) ; Mouse is over the new-current known control
                   
                EndIf
            Next
            ; hover control not found in the known control list
            If $cHoverActive Then
                If $cH_Mode And $cHClicked Then  ; check - Release clicked current control
                    $cHClicked = 0
                    Return SetError(1, $cHoverID[$Global_cHID], 0) ; Release clicked current control
                EndIf
                If $cH_Mode Then Return SetError("", "", "") ; Protect the release of the active control
                $cHoverActive = 0
                Return SetError(1, $cHoverID[$Global_cHID], 0) ; Release Active - Mouse is over a new unknown control
            EndIf
            If $cH_Mode And $cHClicked Then
                $cHClicked = 0
                Return SetError(1, $cHoverID[$Global_cHID], 0) ; Release clicked current control
            EndIf
            Return SetError("", "", "")
           
        Case $cH_Mode = 2 ; Add the new control to the known control list
           
            If $cH_hCntrl = "" Then Return SetError(-1, 8, "Control not provided #1") ; The control ID was not given
            _ArrayAdd($cHoverID, $cH_hCntrl) ; Add the control to the known control array
            If @error Then Return SetError(-1, 9, "Control not added") ; Control not added to the known control list
            Return SetError(0, 10, 1) ; ; Control was added to the known control list
           
        Case $cH_Mode = 3 ; Remove the control from the known control list
           
            If $cH_hCntrl = "" Then Return SetError(-1, 11, "Control not provided #2") ; The control ID was not given
            _ArrayDelete($cHoverID, $cH_hCntrl) ; Delete the control from the known control array list
            If @error Then Return SetError(-1, 12, "Control not removed") ; Control not deleted from the known control list
            Return SetError(0, 13, 1) ; Control was deleted from the known control list
           
        Case $cH_Mode = 4 ; Verify if control is in the known control list
           
            If $cH_hCntrl = "" Then Return SetError(-1, 14, "Control not provided #3") ; The control ID was not given
            _ArraySearch($cHoverID, $cH_hCntrl) ; Search to verify if control is in the known control list
            If @error Then Return SetError(-1, 15, "Control not found") ; Control was not found in the known control list
            Return SetError(0, 16, 1) ; Control was found in the known control list
           
        Case Else
            Return SetError(-1, 17, "$cH_Mode incorrect") ; $cH_Mode has an incorrect value
    EndSelect
    Return SetError(-1, 18, "Unknown Error") ; Error is Unknown
EndFunc   ;==>_ControlHover
#endregion

I get a syntax error line 153, which I can't figure out, since line 153 only has "EndFunc"...


The cake is a lie.www.theguy0000.com is currentlyUP images.theguy0000.com is currentlyUP all other *.theguy0000.com sites are DOWN

Share this post


Link to post
Share on other sites



Lol, your brain sure is dead man.... line 152 says "EndIf" not "EndFunc" there's your error ;).


- Dan [Website]

Share this post


Link to post
Share on other sites

Lol, your brain sure is dead man.... line 152 says "EndIf" not "EndFunc" there's your error :evil:.

:mad:;):o

LOL thanks :lmao:


The cake is a lie.www.theguy0000.com is currentlyUP images.theguy0000.com is currentlyUP all other *.theguy0000.com sites are DOWN

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0