2013-03: Graphical 2
Write a program with an arrow that rotates to always point towards the mouse.
Scrivi un programma con una freccia rivolta sempre verso il puntatore del mouse
Soluzione
Da revisionare
La freccia segue il puntatore del mouse
GraphicsWindow.BackgroundColor="black" GraphicsWindow.PenColor="blue" GraphicsWindow.BrushColor="blue" GraphicsWindow.PenWidth=5 xc=GraphicsWindow.Width/2 yc=GraphicsWindow.Height/2 GraphicsWindow.MouseMove=OnMouseMove angoloFreccia=5/6*Math.Pi baseFreccia=30 Sub OnMouseMove xm=GraphicsWindow.MouseX ym=GraphicsWindow.MouseY dx=xm-xc dy=ym-yc angolo=Math.arctan(-dy/dx) If(dx >= 0) Then c1=xm+baseFreccia*Math.Cos(angolo+angoloFreccia) s1=ym-baseFreccia*Math.Sin(angolo+angoloFreccia) s2=xm+baseFreccia*Math.Cos(angolo-angoloFreccia) s2=ym-baseFreccia*Math.Sin(angolo-angoloFreccia) Else c1=xm-baseFreccia*Math.Cos(angolo+angoloFreccia) s1=ym+baseFreccia*Math.Sin(angolo+angoloFreccia) c2=xm-baseFreccia*Math.Cos(angolo-angoloFreccia) s2=ym+baseFreccia*Math.Sin(angolo-angoloFreccia) EndIf GraphicsWindow.Clear() GraphicsWindow.DrawLine(xc,yc,xm,ym) GraphicsWindow.DrawTriangle(c1,s1,c2,s2,xm,ym) Program.Delay(50) EndSub