Aleks11

Arcanoid

Nov 19th, 2011
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 4.89 KB | None | 0 0
  1. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Arkanoid v1.0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~By Aleksey~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5.  
  6. alias ark {
  7.   if ($file(WhileFix.dll)) set %Ark.dll 1 | else set %Ark.dll 0
  8.   set %Ark.dll 1
  9.   $iif($1 != -n,window -apd +e @arkanoid_By_Aleksey 50 50 500 510)
  10.   var %x 0
  11.   set %Ark.numblocks 0
  12.   while (%x < 5) {
  13.     var %y 0
  14.     while (%y < 8) {
  15.       drawrect -nf $active 9 1 $calc(%x * 95 + 10) $calc(%y * 25 + 10) 85 20
  16.       hadd -m Ark Brick. $+ %Ark.numblocks $calc(%x * 95 + 10) $calc(%y * 25 + 10)
  17.       inc %y | inc %Ark.numblocks
  18.     }
  19.     inc %x
  20.   }
  21.   drawrect -nf $active 1 1 220 425 80 10
  22.   set %Ark.Board 220 | set %Ark.Ball.x 240 | set %Ark.Ball.y 400 | set %Ark.Mouse 260
  23.   set %Ark.y 4 | set %Ark.x 0 | set %Ark.ox 0.1 | set %Ark.oy -2 | set %slowing 0.2
  24.   set %Ark.Score 0
  25.   drawdot -n $active 4 8 240 400
  26.   drawrect $active
  27.   set %Ark.whileoff 1
  28.   if (%Ark.dll) {
  29.     set %tick $ticks
  30.     while (%Ark.whileoff) {
  31.       dll WhileFix.dll WhileFix .
  32.       if ($calc($ticks - %tick) < 10) continue
  33.       set %tick $ticks
  34.       CalcArk
  35.     }
  36.   } | else { .timerark -h 0 33 CalcArk | set %Ark.oy $calc(%Ark.oy * 2) }
  37. }
  38. alias CalcArk {
  39.   if (%Ark.Score == %Ark.numblocks) { drawtext $active 4 300 450 You WINN!! | .timerarkn 1 2 close - $+ $active }
  40.   if (!$window(@arkanoid_By_Aleksey) && $active != @arkanoid_By_Aleksey) {
  41.     unset %Ark.* | $iif($hget(Ark),hfree Ark) | $iif(!%Ark.dll,.timerark off,set %Ark.whileoff 0)
  42.   }
  43.   if ((%Ark.Ball.x >= 0 && %Ark.Ball.x <= 10) || (%Ark.Ball.x >= 490 && %Ark.Ball.x <= 500)) {
  44.     set %Ark.ox $calc(0 - %Ark.ox - %slowing) | set %Ark.oy $calc(%Ark.oy - %slowing)
  45.   }
  46.   if (%Ark.Ball.y >= 0 && %Ark.Ball.y <= 10) {
  47.     set %Ark.ox $calc(%Ark.ox - %slowing) | set %Ark.oy $calc(0 - %Ark.oy - %slowing)
  48.   }
  49.   if (%Ark.Ball.y > 425) {
  50.     if (%Ark.Ball.x > %Ark.Board && %Ark.Ball.x < $calc(%Ark.Board + 80)) {
  51.       var %raz $calc(0 - ((40 + %Ark.Board) - %Ark.Ball.x) / 20)
  52.       set %Ark.ox $calc(%Ark.ox + %raz)
  53.       set %Ark.oy $calc(0 - %Ark.oy)
  54.       } | else {
  55.       $iif($hget(Ark),hfree Ark) | unset %Ark.* | $iif(!%Ark.dll,.timerark off,set %Ark.whileoff 1) | ark -n
  56.     }
  57.   }
  58.   var %i 0
  59.   while (%i < %Ark.numblocks) {
  60.     if ($hget(Ark,Brick. $+ %i)) {
  61.       set %tx $gettok($hget(Ark,Brick. $+ %i),1,32)
  62.       set %ty $gettok($hget(Ark,Brick. $+ %i),2,32)
  63.     } | else { inc %i | continue }
  64.     drawrect -nf $active 9 1 %tx %ty 85 20
  65.     if ((%Ark.Ball.x >= $calc(%tx + 82) && %Ark.Ball.x <= $calc(%tx + 90) && %Ark.Ball.y >= %ty && %Ark.Ball.y <= $calc(%ty + 20)) || $&
  66.       (%Ark.Ball.x >= $calc(%tx - 4) && %Ark.Ball.x <= $calc(%tx + 4) && %Ark.Ball.y >= %ty && %Ark.Ball.y <= $calc(%ty + 20))) {
  67.       set %Ark.ox $calc(0 - %Ark.ox - %slowing) | set %Ark.oy $calc(%Ark.oy - %slowing)
  68.       hdel Ark Brick. $+ %i | inc %Ark.Score | drawrect -nf $active 0 1 50 450 100 50 | drawtext -n $active 4 50 450 $+([,%Ark.Score,/,%Ark.numblocks,])
  69.     }
  70.     if ((%Ark.Ball.x >= %tx && %Ark.Ball.x <= $calc(%tx + 85) && %Ark.Ball.y >= $calc(%ty + 16) && %Ark.Ball.y <= $calc(%ty + 24)) || $&
  71.       (%Ark.Ball.x >= %tx && %Ark.Ball.x <= $calc(%tx + 85) && %Ark.Ball.y >= $calc(%ty - 4) && %Ark.Ball.y <= $calc(%ty + 4))) {
  72.       set %Ark.ox $calc(%Ark.ox - %slowing) | set %Ark.oy $calc(0 - %Ark.oy - %slowing)
  73.       hdel Ark Brick. $+ %i | inc %Ark.Score | drawrect -nf $active 0 1 50 450 100 50 | drawtext -n $active 4 50 450 $+([,%Ark.Score,/,%Ark.numblocks,])
  74.     }
  75.     inc %i
  76.   }
  77.   drawfill -n $active 0 0 %Ark.Ball.x %Ark.Ball.y $calc(%Ark.Ball.x + 8) $calc(%Ark.Ball.y + 8)
  78.   drawdot -n $active 4 8 $calc(%Ark.Ball.x + %Ark.ox) $calc(%Ark.Ball.y + %Ark.oy)
  79.   set %Ark.Ball.x $calc(%Ark.Ball.x + %Ark.ox) | set %Ark.Ball.y $calc(%Ark.Ball.y + %Ark.oy)
  80.   drawrect $active
  81. }
  82. menu @arkanoid_By_Aleksey {
  83.   mouse:{
  84.     if (%Ark.Mouse >= 0 && %Ark.Mouse <= 450) {
  85.       drawfill -n $active 0 0 %Ark.Board 425 $calc(%Ark.Board + 80) 435
  86.       set %Ark.Board $calc(%Ark.Board + $mouse.x - %Ark.Mouse)
  87.       set %Ark.Mouse $mouse.x
  88.       drawrect -nf $active 1 1 %Ark.Board 425 80 10
  89.       drawrect $active
  90.     } | else if (%Ark.Mouse >= 450) { dec %Ark.Mouse | dec %Ark.Board }
  91.   }
  92. }
  93. on *:close:@arkanoid_By_Aleksey:{ $iif($hget(Ark),hfree Ark) | unset %Ark.* | $iif(!%Ark.dll,.timerark off,set %Ark.whileoff 1) }
  94. on *:keydown:@arkanoid_By_Aleksey:27:close - $+ $active
Advertisement
Add Comment
Please, Sign In to add comment