rendered paste bodymenu * {
Squash!:{
window -pdk0 @Squash 0 0 400 400
set %sqc 0
drawtext @Squash 05 10 10 Score: %sqc
}
}
menu @Squash {
mouse:{
drawreplace $active 02 00
drawline $active 02 10 $calc($mouse.x - 30) 330 $calc($mouse.x + 30) 330
if (!%sqd) { drawreplace $active 04 00 | drawdot $active 04 6 $mouse.x 321 }
}
sclick:{ if (!%sqd) { drawreplace $active 06 00 | set %sqc 0 | set %sqd $rand(1,2) | set %sqp $mouse.x 321 | .timerSquash -m 0 025 mball } }
}
on *:CLOSE:*:{ if (($target == @Squash) && (%sqd)) { unset %sq* | .timerSquash off } }
alias mball {
if (%sqd) {
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) - 5) $calc($gettok(%sqp,2,32) - 5)
elseif (%sqd isnum 2) set %sqp $calc($gettok(%sqp,1,32) + 5) $calc($gettok(%sqp,2,32) - 5)
elseif (%sqd isnum 3) set %sqp $calc($gettok(%sqp,1,32) + 5) $calc($gettok(%sqp,2,32) + 5)
elseif (%sqd isnum 4) set %sqp $calc($gettok(%sqp,1,32) - 5) $calc($gettok(%sqp,2,32) + 5)
drawdot $active 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 ($gettok(%sqp,1,32) >= 390) {
if (%sqd isnum 3) set %sqd 4
elseif (%sqd isnum 2) set %sqd 1
inc %sqc
}
elseif ($gettok(%sqp,2,32) <= 0) {
if (%sqd isnum 1) set %sqd 4
elseif (%sqd isnum 2) set %sqd 3
inc %sqc
}
elseif ((!%b) && ($gettok(%sqp,2,32) isnum 325-335) && ($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
}
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
}
}
}