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
}