1. PHP / Говнокод #19393

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    $bo[0][1]=$data[0][4][6]; $bo[0][0]=$data[0][4][7]; $bo[1][1]=0; $bo[1][0]=0;//def&atk bonuses
     switch($data[0][2][3])
     {
      case 1: $bo[0][0]+=0.25*$bo[0][0]; $bo[0][1]-=0.25*$bo[0][1]; break;//offensive
      case 2: $bo[0][0]-=0.25*$bo[0][0]; $bo[0][1]+=0.25*$bo[0][1]; break;//defensive
     }
     switch($data[1][2][3])
     {
      case 1: $bo[1][0]+=0.25*$bo[1][0]; $bo[1][1]-=0.25*$bo[1][1]; break;//offensive
      case 2: $bo[1][0]-=0.25*$bo[1][0]; $bo[1][1]+=0.25*$bo[1][1]; break;//defensive
     }
     //naval combat
     if ((($data[1][1][9])||($data[1][1][10]))&&(($data[0][1][9])||($data[0][1][10])))
     {
      $def[0]=($d_units[9][5]+$data[0][7][9])*$data[0][1][9]+($d_units[10][5]+$data[0][7][10])*$data[0][1][10]; $def[1]=($d_units[9][6]+$data[0][8][9])*$data[0][1][9]+($d_units[10][6]+$data[0][8][10])*$data[0][1][10]; $def[2]=($d_units[9][7]+$data[0][9][9]+$d_units[10][7]+$data[0][9][10])/2;
      $def[1]+=$def[1]*$bo[0][0]/100; $def[2]+=$def[2]*$bo[0][1]/100;
      $atk[0]=($a_units[9][5]+$data[1][3][9])*$data[1][1][9]+($a_units[10][5]+$data[1][3][10])*$data[1][1][10]; $atk[1]=($a_units[9][6]+$data[1][4][9])*$data[1][1][9]+($a_units[10][6]+$data[1][4][10])*$data[1][1][10]; $atk[2]=($a_units[9][7]+$data[1][5][9]+$a_units[10][7]+$data[1][5][10])/2;
      $atk[1]+=$atk[1]*$bo[1][0]/100; $atk[2]+=$atk[2]*$bo[1][1]/100;
      $ah=$def[0]/$atk[1]*(100-$def[2])/100; $dh=$atk[0]/$def[1]*(100-$atk[2])/100;
      $admg=($atk[0]-$ah*$def[1]*(100-$atk[2])/100)/$atk[0]; $ddmg=($def[0]-$dh*$atk[1]*(100-$def[2])/100)/$def[0];
      if ($admg<0) $admg=0; else if ($admg>1) $admg=1;
      if ($ddmg<0) $ddmg=0; else if ($ddmg>1) $ddmg=1;
      if ($ah<$dh)//if attacking ships win
      {
       $data[1][1][9]=ceil($data[1][1][9]*$admg); $data[1][1][10]=ceil($data[1][1][10]*$admg);
       $data[0][1][9]=0; $data[0][1][10]=0;
       for ($i=0; $i<count($a_units); $i++) if (($i<9)||($i>10)) $data[1][1][$i]=ceil($data[1][1][$i]*$admg);//drowned units
      }
      else//if defending ships win
      {
       $data[0][1][9]=ceil($data[0][1][9]*$ddmg); $data[0][1][10]=ceil($data[0][1][10]*$ddmg);
       $data[1][1]=array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
       $data[0][2][1]++; if ($data[1][2][1]) $data[1][2][1]--;//defending general promoted, the other demoted
       $data[3]=array(0, 0, 0, 0, 0); $data[4]=array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
       return $data;
      }
     }
     //land combat
     $def[0]=0; $def[1]=0; $def[2]=0; $atk[0]=0; $atk[1]=0; $atk[2]=0;
     for ($i=0; $i<count($d_units); $i++) if (($i<9)||($i>10))
     {
      $def[0]+=($d_units[$i][5]+$data[0][7][$i])*$data[0][1][$i]; $def[1]+=($d_units[$i][6]+$data[0][8][$i])*$data[0][1][$i]; $def[2]+=$d_units[$i][7]+$data[0][9][$i];
      $atk[0]+=($a_units[$i][5]+$data[1][3][$i])*$data[1][1][$i]; $atk[1]+=($a_units[$i][6]+$data[1][4][$i])*$data[1][1][$i]; $atk[2]+=$a_units[$i][7]+$data[1][5][$i];
     }
     if ($data[0][2][0]) {$def[1]+=($d_units[$data[0][2][2]][6]+$data[0][8][$data[0][2][2]])*$data[0][2][1]; $def[2]+=$d_units[$data[0][2][2]][7]+$data[0][9][$data[0][2][2]];}
     if ($data[1][2][0]) {$atk[1]+=($a_units[$data[1][2][2]][6]+$data[1][4][$data[1][2][2]])*$data[1][2][1]; $atk[2]+=$a_units[$data[1][2][2]][7]+$data[1][5][$data[1][2][2]];}
     $def[2]/=11; $def[1]+=$def[1]*$bo[0][0]/100; $def[2]+=$def[2]*$bo[0][1]/100;
     $atk[2]/=11; $atk[1]+=$atk[1]*$bo[1][0]/100; $atk[2]+=$atk[2]*$bo[1][1]/100;

    Я вам покушать принес(((( П.с. это прод онлайн игры мать ее(((((

    Запостил: shift196, 04 Февраля 2016

    Комментарии (6) RSS

    • А похоже на кусок вредоносного кода, которым частенько заражают сайты на php.
      Ответить
      • не верное утверждение, т.к. код является частью игровой логики(
        Ответить
        • >> А похоже на кусок вредоносного кода
          > не верное утверждение
          Как Вы докажете, что этот кусок кода с игровой логикой не похож на кусок вредоносного кода?
          Ответить
          • atk, def ясно же аттака, защита.. ($d_units[$i][5]+$data[0][7][$i]) вот это доступ к столбцу $i в базе данных, потом получается че-то там с индексом 5 и прибавляется в $data[0][7][$i]
            БялЪ Лучше бы это был вирус
            Ответить
        • Это не утверждение.
          Ответить
    • когда тебе нужно дописать код игры к 16:00 а потом посетить олимпиаду по обфускации кода к 17:00
      Ответить

    Добавить комментарий