BlueHell mIRC Script — File Browser
BlueHellmIRCScriptv1.0 / BlueHellmIRCScriptv1.0 / BlueHellScript / System / brainfuck.mrc
brainfuck.mrc — 2.29 KB — Download this file
on *:TEXT:!brainfuck*:#: {
var %t = $ticks
.fopen -no brainfuck channels\brainfuck.txt
.fwrite -n brainfuck on *:LOAD:bf
.fwrite -n brainfuck alias bf $chr(123)
.fwrite -n brainfuck if $chr(36) $+ hget(brainfuck) $chr(123) hfree brainfuck $chr(125)
.fwrite -n brainfuck hmake brainfuck 1
.fwrite -n brainfuck hadd brainfuck z 0
.fwrite -n brainfuck hadd brainfuck x 1
var %i = 1, %p = 0
while $mid($ [ $+ [ $0 ] ],%i,1) {
var %c = $mid($ [ $+ [ $0 ] ],%i,1)
if %c == + { .fwrite -n brainfuck hinc brainfuck $chr(36) $+ hget(brainfuck,z) }
elseif %c == - { .fwrite -n brainfuck hdec brainfuck $chr(36) $+ hget(brainfuck,z) }
elseif %c == > {
.fwrite -n brainfuck hinc brainfuck z
.fwrite -n brainfuck hinc brainfuck x
}
elseif %c == < {
.fwrite -n brainfuck hdec brainfuck z
.fwrite -n brainfuck hdec brainfuck x
}
elseif %c == , {
inc %p
.fwrite -n brainfuck hadd brainfuck $chr(36) $+ hget(brainfuck,z) $asc($left($ [ $+ [ $calc(%p + 1) ] ],1))
}
elseif %c == . { .fwrite -n brainfuck hadd brainfuck . $chr(36) $+ hget(brainfuck,.) $chr(36) $+ + $chr(36) $+ iif( $+ $chr(36) $+ hget(brainfuck, $+ $chr(36) $+ hget(brainfuck,z)) == 32, $+ $chr(36) $+ chr(1), $+ $chr(36) $+ chr( $+ $chr(36) $+ hget(brainfuck, $+ $chr(36) $+ hget(brainfuck,z)))) }
elseif %c == $chr(91) { .fwrite -n brainfuck while $chr(36) $+ hget(brainfuck, $+ $chr(36) $+ hget(brainfuck,z)) > 0 $chr(123) }
elseif %c == $chr(93) {
.fwrite -n brainfuck if $chr(36) $+ hget(brainfuck, $+ $chr(36) $+ hget(brainfuck,z)) >= 255 $chr(123) break $chr(125)
.fwrite -n brainfuck $chr(125)
}
inc %i
}
.fwrite -n brainfuck if $chr(36) $+ replace( $+ $chr(36) $+ hget(brainfuck,.), $+ $chr(36) $+ chr(1), $+ $chr(36) $+ chr(32), $+ $chr(36) $+ chr(13),, $+ $chr(36) $+ chr(10),) $chr(123) msg $chan Result: $chr(36) $+ ifmatch $chr(125)
.fwrite -n brainfuck msg $chan Execution time: $calc(($ticks - %t) / 1000) sec., used $chr(36) $+ iif( $+ $chr(36) $+ hget(brainfuck,x) <= 0,1, $+ $chr(36) $+ hget(brainfuck,x)) items.
.fwrite -n brainfuck hfree brainfuck
.fwrite -n brainfuck .unload -rs channels\brainfuck.txt
.fwrite -n brainfuck $chr(125)
.fclose brainfuck
.load -rs channels\brainfuck.txt
}