Hallo Leute,
hat vielleicht jemand eine Idee wie ich folgenden Code Kürzen kann? (Hauptsächlich die For Schleife)
Mit dieser Funktion wird auf einem Raster abgefragt auf welche Raute geklickt wurde.
[autoit]Func _ObjectClick($x, $y)
Local $aRaute1[2], $aRaute2[2], $aRaute3[2], $aRaute4[2], $aMaus[2] = [$x, $y]
Local $IsSelected = False
For $k = 0 To $iFieldWidth - 1
For $i = 0 To $iFieldHeight - 1
$aRaute1[0] = (($i * 50 + $k * 50) + $iX)
$aRaute1[1] = ((425 - 25 * $i + 25 * $k) + 75 + $iY)
$aRaute2[0] = (($i * 50 + $k * 50) + 50 + $iX)
$aRaute2[1] = ((425 - 25 * $i + 25 * $k) + 50 + $iY)
$aRaute3[0] = (($i * 50 + $k * 50) + 100 + $iX)
$aRaute3[1] = ((425 - 25 * $i + 25 * $k) + 75 + $iY)
$aRaute4[0] = (($i * 50 + $k * 50) + 50 + $iX)
$aRaute4[1] = ((425 - 25 * $i + 25 * $k) + 100 + $iY)
If (PointToLine2D($aMaus, $aRaute1, $aRaute2) >= 0) And (PointToLine2D($aMaus, $aRaute2, $aRaute3) >= 0) And (PointToLine2D($aMaus, $aRaute3, $aRaute4) >= 0) And (PointToLine2D($aMaus, $aRaute1, $aRaute4) <= 0) Then
$aSelectedBlock[0][1] = True
$aSelectedBlock[1][0] = $i * 50 + $k * 50
$aSelectedBlock[1][1] = 425 - 25 * $i + $k * 25 + 75
$aSelectedBlock[2][0] = $i * 50 + $k * 50 + 50
$aSelectedBlock[2][1] = 425 - 25 * $i + $k * 25 + 50
$aSelectedBlock[3][0] = $i * 50 + $k * 50 + 100
$aSelectedBlock[3][1] = 425 - 25 * $i + $k * 25 + 75
$aSelectedBlock[4][0] = $i * 50 + $k * 50 + 50
$aSelectedBlock[4][1] = 425 - 25 * $i + $k * 25 + 100
$IsSelected = True
ExitLoop 2
EndIf
Next
Next
If Not $IsSelected Then $aSelectedBlock[0][1] = False
EndFunc