Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <pre><code>procedure WindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended); var veloX, veloY, windX, windY, veloMag, dist, randomDist, lastDist, step: extended; lastX, lastY: integer; sqrt2, sqrt3, sqrt5: extended; begin sqrt2:= sqrt(2); sqrt3:= sqrt(3); sqrt5:= sqrt(5); while hypot(xs - xe, ys - ye) &gt; 1 do begin dist:= hypot(xs - xe, ys - ye); wind:= minE(wind, dist); if dist &gt;= targetArea then begin windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5; windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5; end else begin windX:= windX / sqrt2; windY:= windY / sqrt2; if (maxStep &lt; 3) then begin maxStep:= random(3) + 3.0; end else begin maxStep:= maxStep / sqrt5; end; end; veloX:= veloX + windX; veloY:= veloY + windY; veloX:= veloX + gravity * (xe - xs) / dist; veloY:= veloY + gravity * (ye - ys) / dist; if hypot(veloX, veloY) &gt; maxStep then begin randomDist:= maxStep / 2.0 + random(round(maxStep) / 2); veloMag:= sqrt(veloX * veloX + veloY * veloY); veloX:= (veloX / veloMag) * randomDist; veloY:= (veloY / veloMag) * randomDist; end; lastX:= Round(xs); lastY:= Round(ys); xs:= xs + veloX; ys:= ys + veloY; if (lastX &lt;&gt; Round(xs)) or (lastY &lt;&gt; Round(ys)) then MoveMouse(Round(xs), Round(ys)); step:= hypot(xs - lastX, ys - lastY); wait(round((maxWait - minWait) * (step / maxStep) + minWait)); lastdist:= dist; end; if (Round(xe) &lt;&gt; Round(xs)) or (Round(ye) &lt;&gt; Round(ys)) then MoveMouse(Round(xe), Round(ye)); end; {******************************************************************************* procedure MMouse(x, y, rx, ry: integer); By: Benland100 Description: Moves the mouse. *******************************************************************************} //Randomness is just added to the x,y. Might want to change that. procedure MMouse(x, y, rx, ry: integer); var cx, cy: integer; randSpeed: extended; begin randSpeed:= (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0; if randSpeed = 0.0 then randSpeed := 0.1; getMousePos(cx,cy); X := x + random(rx); Y := y + random(ry); WindMouse(cx,cy,x,y,9.0,3.0,10.0/randSpeed,15.0/randSpeed,10.0*randSpeed,10.0*randSpeed); end; </code></pre> <p>Here are some methods written in SCAR. Converting them C# shouldn't be too hard, these are quite realistic.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload