All pastes #390455 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-03-11 13:42 UTC
rendered paste body
alias pingpong {
  window -aCp +f @pingpong -1 -1 400 600
}
menu @pingpong {
  mouse:movebar1 $mouse.x
  .commands
  ..on:startping
  ..off:stopping
  ..exit:{
    close -@
    timers off
  }
}
alias -l startping {
  drawrect -rf @pingpong $rgb(255,255,255) 2 160 290 70 70
  writeini mouse.ini x speed $iif($?="enter the desired speed 1 being the highest",$v1,50)
  moveball d l 200 300 
}
alias -l stopping {
  timers off
  remini mouse.ini x
} 
alias -l moveball {
  var %dir = $iif($1 == d,-,+), %lor = $iif($2 == l,+,-), %dir1 = $1, %lor1 = $2, %x = $calc($3 %dir 15), %y = $calc($4 %lor 15)
  movebar2 $calc(%x $iif(%dir == -,+,-) 10)
  writeini mouse.ini x x $calc(%x $iif(%dir == -,+,-) 10)
  if ((%y isnum 35-45) && ($abs($calc(%x - $readini(mouse.ini,x,x))) isnum 0-15)) {
    if ($left($calc(%x - $readini(mouse.ini,x,x)),1) == -) {
      clear @pingpong
      movebar1 $mouse.x
      var %lor = -, %lor1 = l, %dir = -, %dir1 = d
      .timerp -m 1 $readini(mouse.ini,x,speed) transition %dir1 %lor1 $calc($3 %dir 3) $calc($4 %lor 3)        
      beep 1
    }
    else {
      clear @pingpong
      movebar1 $mouse.x
      var %lor = -, %lor1 = l, %dir = +, %dir1 = u
      .timerp -m 1 $readini(mouse.ini,x,speed) transition %dir1 %lor1 $calc($3 %dir 3) $calc($4 %lor 3)     
      beep 1
    }
  }
  else {
    if ((%y isnum 555-565) && ($abs($calc(%x - $mouse.x)) isnum 0-15)) {
      if ($left($calc(%x - $mouse.x),1) == -) {
        clear @pingpong
        movebar1 $mouse.x
        var %lor = +, %lor1 = r, %dir = -, %dir1 = d
        .timerp -m 1 $readini(mouse.ini,x,speed) transition %dir1 %lor1 $calc($3 %dir 3) $calc($4 %lor 3)        
        beep 1
      }
      else {
        clear @pingpong
        movebar1 $mouse.x
        var %lor = +, %lor1 = r, %dir = +, %dir1 = u
        .timerp -m 1 $readini(mouse.ini,x,speed) transition %dir1 %lor1 $calc($3 %dir 3) $calc($4 %lor 3)     
        beep 1
      }
    }
    else {
      drawrect -fr @pingpong $rgb(255,255,255) 2 $calc($3 - 15) $calc($4 - 15) 30 30
      drawdot -r @pingpong $rgb(255,0,0) 5 %x %y
      if ((%y <= 0) || (%y >= 600)) { 
        .timers off
        if (%y >= 600) drawtext -r @pingpong $rgb(255,0,0) 160 290 YOU LOSE!
        else drawtext -r @pingpong $rgb(255,0,0) 160 290 YOU WIN!
        halt
      }
      else {
        if ((%x <= -3) || (%x >= 400)) {
          var %dir1 = $iif(%dir1 == d,u,d), %dir = $iif(%dir1 == d,-,+)
          .timerp -m 1 $readini(mouse.ini,x,speed) transition %dir1 %lor1 $calc($3 %dir 3) $calc($4 %lor 3)
        }
        else {
          .timerp -m 1 $readini(mouse.ini,x,speed) transition %dir1 %lor1 $calc($3 %dir 3) $calc($4 %lor 3)
        }
      }
    }
  }
}
alias -l transition {
  .timers off
  moveball $1 $2 $3 $4
}
alias -l movebar1 {
  drawline -r @pingpong $rgb(255,255,255) 2 0 560 400 560
  drawline -r @pingpong $rgb(0,0,0) 2 $calc($1 - 10) 560 $calc($1 + 10) 560
}
alias -l movebar2 {
  drawline -r @pingpong $rgb(255,255,255) 2 0 40 400 40
  drawline -r @pingpong $rgb(0,0,0) 2 $calc($1 - 10) 40 $calc($1 + 10) 40
}