Imhotheb hat geschrieben:Danke für die Aufklärung ... eigentlich sollte das hauptsächlich als Denkanstoß gelten ... da im Kommentar vermerkt ist: "negativ für links"
Ich verstehe den Code/Kommentar auch nicht.
Offenbar soll geprüft werden, ob ein Punkt auf irgendeiner Linie liegt ("0 if on line"). Aber erstens reicht es dann nicht aus zu prüfen ob die Koordinaten dazwischen liegen, zweitens würde man dafür 3 Punkte benötigen. Zwei Punkte, die die Linie definieren und dann der zu testende Punkte.
Und drittens, und das ist das komische, werden offenbar x-Werte von A mit y-Werten von B verglichen.
Wenn ich jetzt keinen kompletten Denkfehler habe, dann demonstriert dieser Code hier alle "validen" Punkte A, für die der Code "true" ausspucken würde, wenn B an der Position des Cursors ist.
Code: Alles auswählen
OpenWindow(0,0,0,400,400,"inbetween?",#PB_Window_SystemMenu)
CanvasGadget(0,0,0,400,400)
Repeat
e=WaitWindowEvent()
If e=#PB_Event_Gadget
If EventGadget()=0
If EventType()=#PB_EventType_MouseMove
StartDrawing(CanvasOutput(0))
Box(18,18,364,364,$000000)
Box(20,20,360,360,$FFFFFF)
For a0 = -180 To 180
For a1 = -180 To 180
b0=GetGadgetAttribute(0, #PB_Canvas_MouseX)
b1=GetGadgetAttribute(0, #PB_Canvas_MouseY)
If a0<b1 And a1>b0 ;Hier die Prüfung "FNib"
x=a0
y=a1
Plot(x+200, 200-y, RGBA(255,0,0,50) )
EndIf
Next
Next
Line(199,0,1,400,$000000):Line(200,0,1,400,$000000)
Line(0,199,400,1,$000000):Line(0,200,400,1,$000000)
StopDrawing()
EndIf
EndIf
EndIf
Until e=#PB_Event_CloseWindow
End