Advertisement
Guest User

[PHP] strToBrainfuck()

a guest
Apr 9th, 2016
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.38 KB | None | 0 0
  1. <?php
  2.  
  3. function strToBrainfuck($string){
  4.     $letters = str_split($string);
  5.     $ascii = null;
  6.     $rozn = 0;
  7.     $braincode = null;
  8.     foreach($letters as $x => $y){
  9.         $ascii[$x] = ord($y);
  10.         $dubs = array_search($y, $letters);
  11.         if($dubs != null) {
  12.             if(isset($ascii[$x]))
  13.                 $rozn = $x - $dubs;
  14.         }
  15.         $bf = null;
  16.         $z = $x;
  17.         $b = 10;
  18.         $a = $ascii[$x];
  19.         $c = $a / $b;
  20.         $d = $a % $b;
  21.         $e = $a - $d;
  22.         if($d>0) {
  23.             $f = $e % $b;
  24.             $g = $e / $b;
  25.         }
  26.         else {
  27.             $f = $d;
  28.             $g = $c;
  29.         }
  30.         if($rozn == 0) {
  31.         if($z != 0) {
  32.             for($i=0;$i<$z;$i++){
  33.                 $bf.="<";
  34.             }
  35.         }
  36.         for($i=0;$i<$g;$i++){
  37.             $bf .= "+";
  38.         }
  39.         $bf .= "[>";
  40.         if($z != 0) {
  41.             for($i=0;$i<$z;$i++){
  42.                 $bf.=">";
  43.             }
  44.         }
  45.         for($i=0;$i<$b;$i++){
  46.             $bf .= "+";
  47.         }
  48.         if($z != 0) {
  49.             for($i=0;$i<$z;$i++){
  50.                 $bf.="<";
  51.             }
  52.         }
  53.         $bf .= "<-]>"; // koniec pętli
  54.         if($z != 0) {
  55.             for($i=0;$i<$z;$i++){
  56.                 $bf.=">";
  57.             }
  58.         }
  59.         for($i=0;$i<$d;$i++){
  60.             $bf .= "+";
  61.  
  62.         }
  63.         $bf .= ".";
  64.     }
  65.     else {
  66.         for ($i=1; $i < $rozn; $i++) {
  67.             $bf .= "<";
  68.         }
  69.         $bf .= ".";
  70.         for ($i=1; $i < $rozn; $i++) {
  71.             $bf .= ">";
  72.         }
  73.     }
  74.         $braincode[$x] = $bf;
  75.     }
  76.  
  77.     $array = array(
  78.             "string" => $string,
  79.             "letters" => $letters,
  80.             "ascii" => $ascii,
  81.             "brainfuck" => $braincode,
  82.             "brainfuck-minify" => implode("", $braincode),
  83.             "divide-by" => $b
  84.         );
  85.     return $array;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement