Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Arkanoid v1.0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~By Aleksey~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- alias ark {
- if ($file(WhileFix.dll)) set %Ark.dll 1 | else set %Ark.dll 0
- set %Ark.dll 1
- $iif($1 != -n,window -apd +e @arkanoid_By_Aleksey 50 50 500 510)
- var %x 0
- set %Ark.numblocks 0
- while (%x < 5) {
- var %y 0
- while (%y < 8) {
- drawrect -nf $active 9 1 $calc(%x * 95 + 10) $calc(%y * 25 + 10) 85 20
- hadd -m Ark Brick. $+ %Ark.numblocks $calc(%x * 95 + 10) $calc(%y * 25 + 10)
- inc %y | inc %Ark.numblocks
- }
- inc %x
- }
- drawrect -nf $active 1 1 220 425 80 10
- set %Ark.Board 220 | set %Ark.Ball.x 240 | set %Ark.Ball.y 400 | set %Ark.Mouse 260
- set %Ark.y 4 | set %Ark.x 0 | set %Ark.ox 0.1 | set %Ark.oy -2 | set %slowing 0.2
- set %Ark.Score 0
- drawdot -n $active 4 8 240 400
- drawrect $active
- set %Ark.whileoff 1
- if (%Ark.dll) {
- set %tick $ticks
- while (%Ark.whileoff) {
- dll WhileFix.dll WhileFix .
- if ($calc($ticks - %tick) < 10) continue
- set %tick $ticks
- CalcArk
- }
- } | else { .timerark -h 0 33 CalcArk | set %Ark.oy $calc(%Ark.oy * 2) }
- }
- alias CalcArk {
- if (%Ark.Score == %Ark.numblocks) { drawtext $active 4 300 450 You WINN!! | .timerarkn 1 2 close - $+ $active }
- if (!$window(@arkanoid_By_Aleksey) && $active != @arkanoid_By_Aleksey) {
- unset %Ark.* | $iif($hget(Ark),hfree Ark) | $iif(!%Ark.dll,.timerark off,set %Ark.whileoff 0)
- }
- if ((%Ark.Ball.x >= 0 && %Ark.Ball.x <= 10) || (%Ark.Ball.x >= 490 && %Ark.Ball.x <= 500)) {
- set %Ark.ox $calc(0 - %Ark.ox - %slowing) | set %Ark.oy $calc(%Ark.oy - %slowing)
- }
- if (%Ark.Ball.y >= 0 && %Ark.Ball.y <= 10) {
- set %Ark.ox $calc(%Ark.ox - %slowing) | set %Ark.oy $calc(0 - %Ark.oy - %slowing)
- }
- if (%Ark.Ball.y > 425) {
- if (%Ark.Ball.x > %Ark.Board && %Ark.Ball.x < $calc(%Ark.Board + 80)) {
- var %raz $calc(0 - ((40 + %Ark.Board) - %Ark.Ball.x) / 20)
- set %Ark.ox $calc(%Ark.ox + %raz)
- set %Ark.oy $calc(0 - %Ark.oy)
- } | else {
- $iif($hget(Ark),hfree Ark) | unset %Ark.* | $iif(!%Ark.dll,.timerark off,set %Ark.whileoff 1) | ark -n
- }
- }
- var %i 0
- while (%i < %Ark.numblocks) {
- if ($hget(Ark,Brick. $+ %i)) {
- set %tx $gettok($hget(Ark,Brick. $+ %i),1,32)
- set %ty $gettok($hget(Ark,Brick. $+ %i),2,32)
- } | else { inc %i | continue }
- drawrect -nf $active 9 1 %tx %ty 85 20
- if ((%Ark.Ball.x >= $calc(%tx + 82) && %Ark.Ball.x <= $calc(%tx + 90) && %Ark.Ball.y >= %ty && %Ark.Ball.y <= $calc(%ty + 20)) || $&
- (%Ark.Ball.x >= $calc(%tx - 4) && %Ark.Ball.x <= $calc(%tx + 4) && %Ark.Ball.y >= %ty && %Ark.Ball.y <= $calc(%ty + 20))) {
- set %Ark.ox $calc(0 - %Ark.ox - %slowing) | set %Ark.oy $calc(%Ark.oy - %slowing)
- 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,])
- }
- if ((%Ark.Ball.x >= %tx && %Ark.Ball.x <= $calc(%tx + 85) && %Ark.Ball.y >= $calc(%ty + 16) && %Ark.Ball.y <= $calc(%ty + 24)) || $&
- (%Ark.Ball.x >= %tx && %Ark.Ball.x <= $calc(%tx + 85) && %Ark.Ball.y >= $calc(%ty - 4) && %Ark.Ball.y <= $calc(%ty + 4))) {
- set %Ark.ox $calc(%Ark.ox - %slowing) | set %Ark.oy $calc(0 - %Ark.oy - %slowing)
- 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,])
- }
- inc %i
- }
- drawfill -n $active 0 0 %Ark.Ball.x %Ark.Ball.y $calc(%Ark.Ball.x + 8) $calc(%Ark.Ball.y + 8)
- drawdot -n $active 4 8 $calc(%Ark.Ball.x + %Ark.ox) $calc(%Ark.Ball.y + %Ark.oy)
- set %Ark.Ball.x $calc(%Ark.Ball.x + %Ark.ox) | set %Ark.Ball.y $calc(%Ark.Ball.y + %Ark.oy)
- drawrect $active
- }
- menu @arkanoid_By_Aleksey {
- mouse:{
- if (%Ark.Mouse >= 0 && %Ark.Mouse <= 450) {
- drawfill -n $active 0 0 %Ark.Board 425 $calc(%Ark.Board + 80) 435
- set %Ark.Board $calc(%Ark.Board + $mouse.x - %Ark.Mouse)
- set %Ark.Mouse $mouse.x
- drawrect -nf $active 1 1 %Ark.Board 425 80 10
- drawrect $active
- } | else if (%Ark.Mouse >= 450) { dec %Ark.Mouse | dec %Ark.Board }
- }
- }
- on *:close:@arkanoid_By_Aleksey:{ $iif($hget(Ark),hfree Ark) | unset %Ark.* | $iif(!%Ark.dll,.timerark off,set %Ark.whileoff 1) }
- on *:keydown:@arkanoid_By_Aleksey:27:close - $+ $active
Advertisement
Add Comment
Please, Sign In to add comment