rendered paste bodymenu * {
Pacman:{
window -pdk0 @Pacman -1 -1 614 640
drawreplace @Pacman 00 14
var %c = 5 | while (%c <= 590) {
set %p 58.5 58.5
drawrect -f @Pacman 1 1 %c 5 33 33
drawrect -f @Pacman 1 1 %c 565 33 33
drawrect -f @Pacman 1 1 5 %c 33 33
drawrect -f @Pacman 1 1 565 %c 33 33
drawdot @Pacman 8 16.5 58.5 58.5
inc %c 35
}
drawtext @pacman 9 arial 15 30 12 Score: 0
set %pacdo 2 1-3 1-4 1-5 1-6 1-7 1-8 1-9 1-10 1-11 1-12 1-13 1-14 1-15 1- $+ $&
1 2-8 2-15 2- $+ $&
1 3-3 3-4 3-5 3-6 3-7 3-8 3-9 3-10 3-11 3-12 3-13 3-15 3- $+ $&
1 4-3 4-6 4-10 4-13 4-15 4- $+ $&
1 5-2 5-3 5-4 5-5 5-6 5-7 5-8 5-9 5-10 5-11 5-12 5-13 5-14 5-15 5- $+ $&
2 6-14 6- $+ $&
1 7-2 7-3 7-13 7-14 7-15 7- $+ $&
1 8-3 8-13 8-15 8- $+ $&
1 9-3 9-13 9-15 9- $+ $&
1 10-2 10-3 10-13 10-14 10-15 10- $+ $&
1 11-2 11-3 11-4 11-5 11-6 11-7 11-8 11-9 11-10 11-11 11-12 11-13 11-14 11-15 11- $+ $&
1 12-3 12-6 12-10 12-13 12-15 12- $+ $&
1 13-3 13-4 13-5 13-6 13-7 13-8 13-9 13-10 13-11 13-12 13-13 13-15 13- $+ $&
1 14-8 14-15 14- $+ $&
1 15-2 15-3 15-4 15-5 15-6 15-7 15-8 15-9 15-10 15-11 15-12 15-13 15-14 15-15 15
var %k = 1, %a = 75 75.110 75.145 75.180 75.215 75.250 75.320 75.355 75.390 75.425 75.460 75.495 75.75 110.495 110.75 145.145 145.180 145.250 145.285 145.320 145.390 145.425 145.495 145.40 215.110 215.145 215.180 215.215 215.250 215.320 215.355 215.390 215.425 215.460 215.530 215.145 250.180 250.390 250.425 250.75 285.145 285.425 285.495 285.75 285.75 320.145 320.180 320.390 320.425 320.495 320.145 355.180 355.215 355.250 355.320 355.355 355.390 355.425 355.75 425.145 425.180 425.250 425.285 425.320 425.390 425.425 425.495 425.75 460.495 460.75 495.110 495.145 495.180 495.215 495.250 495.320 495.355 495.390 495.425 495.460 495.495 495
while (%k <= $numtok(%a,46)) {
drawrect -f @Pacman 1 1 $gettok(%a,%k,46) 33 33
inc %k
}
set %pacrg 320 285
set %pacpg 250 285
.timerPacRg -m 0 800 pacm
drawrect -f @Pacman 4 1 %pacrg 33 33
drawrect -f @Pacman 13 1 %pacpg 33 33
var %z = 1
while (%z <= $numtok(%pacdo,45)) {
drawdot @pacman 7 6 $calc($PacPi1($gettok($gettok(%pacdo,%z,45),1,32)) + 18.5) $calc($PacPi1($gettok($gettok(%pacdo,%z,45),2,32)) + 18.5)
inc %z
}
}
}
alias pacm {
if ($getdot(@Pacman,$calc($gettok(%pacrg,1,32) + 35),$gettok(%pacrg,2,32))) var %zr = %zr $+ . $+ $calc($gettok(%pacrg,1,32) + 35) $gettok(%pacrg,2,32),46)
if ($getdot(@Pacman,$calc($gettok(%pacrg,1,32) - 35),$gettok(%pacrg,2,32))) var %zr = %zr $+ . $+ $calc($gettok(%pacrg,1,32) - 35) $gettok(%pacrg,2,32),46)
if ($getdot(@Pacman,$gettok(%pacrg,1,32),$calc($gettok(%pacrg,2,32) + 35))) var %zr = %zr $+ . $+ $gettok(%pacrg,1,32) $calc($gettok(%pacrg,2,32) + 35),46)
if ($getdot(@Pacman,$gettok(%pacrg,1,32),$calc($gettok(%pacrg,2,32) - 35))) var %zr = %zr $+ . $+ $gettok(%pacrg,1,32) $calc($gettok(%pacrg,2,32) - 35),46)
if ($getdot(@Pacman,$calc($gettok(%pacpg,1,32) + 35),$gettok(%pacpg,2,32))) var %zp = %zp $+ . $+ $calc($gettok(%pacpg,1,32) + 35) $gettok(%pacpg,2,32),46)
if ($getdot(@Pacman,$calc($gettok(%pacpg,1,32) - 35),$gettok(%pacpg,2,32))) var %zp = %zp $+ . $+ $calc($gettok(%pacpg,1,32) - 35) $gettok(%pacpg,2,32),46)
if ($getdot(@Pacman,$gettok(%pacpg,1,32),$calc($gettok(%pacpg,2,32) + 35))) var %zp = %zp $+ . $+ $gettok(%pacpg,1,32) $calc($gettok(%pacpg,2,32) + 35),46)
if ($getdot(@Pacman,$gettok(%pacpg,1,32),$calc($gettok(%pacpg,2,32) - 35))) var %zp = %zp $+ . $+ $gettok(%pacpg,1,32) $calc($gettok(%pacpg,2,32) - 35),46)
drawreplace @pacman 4 14
drawreplace @pacman 13 14
set %pacrg $gettok(%zr,$r(1,$numtok(%zr,46)),46)
set %pacpg $gettok(%zp,$r(1,$numtok(%zp,46)),46)
if (($getdot(@pacman,$calc($gettok(%pacpg,1,32) + 18),$calc($gettok(%pacpg,2,32) + 18)) == 65535) || ($getdot(@pacman,$calc($gettok(%pacrg,1,32) + 18),$calc($gettok(%pacrg,2,32) + 18)) == 65535)) {
.timerpac* off
unset %pac*
set %over $true
drawtext @pacman 11 arial 50 170 300 Game over!
}
else {
drawrect -f @pacman 4 1 %pacrg 33 33
drawrect -f @pacman 13 1 %pacpg 33 33
var %z = 1
while (%z <= $numtok(%pacdo,45)) {
drawdot @pacman 7 6 $calc($PacPi1($gettok($gettok(%pacdo,%z,45),1,32)) + 18.5) $calc($PacPi1($gettok($gettok(%pacdo,%z,45),2,32)) + 18.5)
inc %z
}
}
}
on *:keydown:@Pacman:37,38,39,40:{
if ((!%PaCli) && (!%over)) {
if ($keyval == 37) var %z = $calc($gettok(%p,1,32) - 35) $gettok(%p,2,32)
if ($keyval == 38) var %z = $gettok(%p,1,32) $calc($gettok(%p,2,32) - 35)
if ($keyval == 39) var %z = $calc($gettok(%p,1,32) + 35) $gettok(%p,2,32)
if ($keyval == 40) var %z = $gettok(%p,1,32) $calc($gettok(%p,2,32) + 35)
if ($getdot(@Pacman,$gettok(%z,1,32),$gettok(%z,2,32))) {
set %p %z
if (($getdot(@pacman,$gettok(%p,1,32),$gettok(%p,2,32)) == 255) || ($getdot(@pacman,$gettok(%p,1,32),$gettok(%p,2,32)) == 16711935)) {
.timerpac* off
unset %pac*
set %over $true
drawtext @pacman 11 arial 50 170 300 Game over!
}
else {
drawreplace @pacman 08 14
if ($istok(%PacDo,$PacPi2($calc($gettok(%p,1,32) - 18.5)) $PacPi2($calc($gettok(%p,2,32) - 18.5)),45)) {
set %PacDo $remtok(%PacDo,$PacPi2($calc($gettok(%p,1,32) - 18.5)) $PacPi2($calc($gettok(%p,2,32) - 18.5)),45)
inc %PacSc
drawrect -f @Pacman 1 1 75 5 33 33
drawtext @pacman 9 arial 15 30 12 Score: %PacSc
if (%PacSc >= 125) {
.timerpac* off
unset %pac*
set %over $true
drawtext @pacman 11 arial 50 170 300 You won!
}
}
drawdot @Pacman 8 16.5 %p
set %PaCli $true | .timer -m 1 600 unset %PaCli
var %z = 1
while (%z <= $numtok(%pacdo,45)) {
drawdot @pacman 7 6 $calc($PacPi1($gettok($gettok(%pacdo,%z,45),1,32)) + 18.5) $calc($PacPi1($gettok($gettok(%pacdo,%z,45),2,32)) + 18.5)
inc %z
}
}
}
}
}
alias PacPi1 {
if ($1 isnum 1) return 40
elseif ($1 isnum 2) return 75
elseif ($1 isnum 3) return 110
elseif ($1 isnum 4) return 145
elseif ($1 isnum 5) return 180
elseif ($1 isnum 6) return 215
elseif ($1 isnum 7) return 250
elseif ($1 isnum 8) return 285
elseif ($1 isnum 9) return 320
elseif ($1 isnum 10) return 355
elseif ($1 isnum 11) return 390
elseif ($1 isnum 12) return 425
elseif ($1 isnum 13) return 460
elseif ($1 isnum 14) return 495
elseif ($1 isnum 15) return 530
}
alias PacPi2 {
if ($1 isnum 40) return 1
elseif ($1 isnum 75) return 2
elseif ($1 isnum 110) return 3
elseif ($1 isnum 145) return 4
elseif ($1 isnum 180) return 5
elseif ($1 isnum 215) return 6
elseif ($1 isnum 250) return 7
elseif ($1 isnum 285) return 8
elseif ($1 isnum 320) return 9
elseif ($1 isnum 355) return 10
elseif ($1 isnum 390) return 11
elseif ($1 isnum 425) return 12
elseif ($1 isnum 460) return 13
elseif ($1 isnum 495) return 14
elseif ($1 isnum 530) return 15
}
on *:CLOSE:*:{
if ($target == @Pacman) {
unset %pac*
.timerPac* off
unset %over
}
}