menu * { Squash!:{ window -pdk0 @Squash 0 0 400 400 set %sqc 0 drawtext @Squash 05 10 10 Score: %sqc } } menu @Squash { mouse:{ drawreplace @Squash 02 00 drawline @Squash 02 10 $calc($mouse.x - 30) 330 $calc($mouse.x + 30) 330 if (!%sqd) { drawreplace @Squash 04 00 | drawdot @Squash 04 6 $mouse.x 321 } } sclick:{ if (!%sqd) { set %sqc 0 set %sqd $rand(1,2) set %sqs 5 set %sqp $mouse.x 321 .timerSquash -m 0 025 mball drawreplace @Squash 06 00 } } } on *:CLOSE:*:{ if (($target == @Squash) && (%sqd)) { unset %sq* | .timerSquash off } } alias mball { if (%sqd) { drawreplace @Squash 06 00 drawreplace @Squash 05 00 drawtext @Squash 05 10 10 Score: %sqc drawreplace @Squash 04 00 if (%sqd isnum 1) set %sqp $calc($gettok(%sqp,1,32) - %sqs) $calc($gettok(%sqp,2,32) - %sqs) elseif (%sqd isnum 2) set %sqp $calc($gettok(%sqp,1,32) + %sqs) $calc($gettok(%sqp,2,32) - %sqs) elseif (%sqd isnum 3) set %sqp $calc($gettok(%sqp,1,32) + %sqs) $calc($gettok(%sqp,2,32) + %sqs) elseif (%sqd isnum 4) set %sqp $calc($gettok(%sqp,1,32) - %sqs) $calc($gettok(%sqp,2,32) + %sqs) drawdot @Squash 04 6 %sqp if ($gettok(%sqp,1,32) <= 0) { if (%sqd isnum 1) set %sqd 2 elseif (%sqd isnum 4) set %sqd 3 inc %sqc if ($right(%sqc,1) == 0) inc %sqs } if ($gettok(%sqp,1,32) >= 390) { if (%sqd isnum 3) set %sqd 4 elseif (%sqd isnum 2) set %sqd 1 inc %sqc if ($right(%sqc,1) == 0) inc %sqs } elseif ($gettok(%sqp,2,32) <= 0) { if (%sqd isnum 1) set %sqd 4 elseif (%sqd isnum 2) set %sqd 3 inc %sqc if ($right(%sqc,1) == 0) inc %sqs } elseif ((!%b) && ($gettok(%sqp,2,32) isnum 323-338) && ($mouse.x isnum $+($calc($gettok(%sqp,1,32) - 30),-,$calc($gettok(%sqp,1,32) + 30)))) { set %b yes | .timer 1 1 unset %b if (%sqd isnum 3) set %sqd 2 elseif (%sqd isnum 4) set %sqd 1 inc %sqc if ($right(%sqc,1) == 0) inc %sqs } elseif ($gettok(%sqp,2,32) >= 350) { .timerSquash off | unset %sqd drawtext @Squash 06 130 100 You lost! Score: %sqc drawreplace @Squash 05 00 set %sqc 0 drawtext @Squash 05 10 10 Score: %sqc } } }