menu * { 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 } }