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 @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) {
drawreplace @Squash 06 00
set %sqc 0
set %sqd $rand(1,2)
set %sqs 5
set %sqp $mouse.x 321
.timerSquash -m 0 025 mball
drawreplace @Squash 05 00
}
}
}
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) - %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
}
}
}