SaveText.Ru

bot
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System;
  5. using TMPro;
  6.  
  7.  
  8. public class Genesis : MonoBehaviour
  9. {
  10.    
  11.     public static int pwd = 27000;
  12.     public int[] one = new int[100];
  13.     public int[] two = new int[100];
  14.     public int[] hpHero1 = new int [100];
  15.     public int[] hpHero2 = new int[100];
  16.  
  17.     //public int[] hero = new int[100];
  18.     //public int[] hero2 = new int[100];
  19.     public int[] temphp = new int[100];
  20.     public int[] Winner = new int[100];
  21.    
  22.  
  23.     public int[] temphp2 = new int[100];
  24.     public static int i3 = 0;
  25.     public static int i2 = 0;
  26.     public static int i1 = 0;
  27.     public static int[][] tempHero = new int[64][];
  28.    
  29.  
  30.     public int Turn;
  31.     public bool isPlaerTurn  // Кратность
  32.     {
  33.         get
  34.         {
  35.             return Turn % 2 == 0;
  36.         }
  37.     }
  38.     // Start is called before the first frame update
  39.    
  40.  
  41.     void Start()
  42.     {
  43.        
  44.     }
  45.  
  46.  
  47.     // Update is called once per frame
  48.     void Update()
  49.     {
  50.  
  51.     }
  52.     public void Awake()
  53.     {
  54.        
  55.        
  56.         // for (int i = 0; i < hero.Length; i++)
  57.         //  {
  58.         //     Debug.Log("Hero " + hero[i]);
  59.         // }
  60.  
  61.         //for (int i = 0; i < hero.Length; i++)
  62.         //   {
  63.         //     Debug.Log("Hero2 " + hero2[i]);
  64.         // }
  65.  
  66.         for (int w = 0;w< tempHero.Length; w++) {
  67.             // Debug.Log("tempHero.Length" + tempHero.Length + "w " + w);
  68.             int[] hero = new int[100];
  69.             int[] hero2 = new int[100];
  70.             int[] tHero = new int[100];
  71.             hero = GenerateHero();
  72.             hero2 = GenerateHero();
  73.             tHero = Game(hero, hero2);
  74.           // Debug.Log("tHero[HP]  " + tHero[1]);
  75.             tHero[tHero.Length - 1] = 0; // счетчик уровня карты (1 - 3)
  76.             tHero[tHero.Length - 2] = 0; // счетчик уровня карты (1 - 3)
  77.             tHero[tHero.Length - 3] = 0; // счетчик уровня карты (1 - 3)
  78.             tHero[tHero.Length - 4] = 0; // счетчик уровня карты (1 - 3)
  79.             tHero[tHero.Length - 5] = 0; // Свободный слот (Защита)
  80.             tHero[tHero.Length - 6] = 0; // Замарозить Удар1
  81.             tHero[tHero.Length - 7] = 0; // Замарозить Удар2
  82.             tHero[tHero.Length - 8] = 0; // Замарозить Удар3
  83.             tHero[tHero.Length - 9] = 0; // Замарозить Удар4
  84.             tHero[tHero.Length - 10] = 0; // Счетчки ходов
  85.             tHero[tHero.Length - 11] = 8; // Constanta %
  86.             tHero[tHero.Length - 12] = UnityEngine.Random.Range(1, 4); // Ультимате класс игрока 1>2>3>1
  87.             tHero[tHero.Length - 13] = 0; // Буфер для здоровья 2 игрока
  88.             tHero[tHero.Length - 14] = 0; // Поколения  
  89.             tHero[tHero.Length - 15] = UnityEngine.Random.Range(1, 20); //процент контро ударов
  90.             tHero[tHero.Length - 16] = UnityEngine.Random.Range(1, 20); //процент смены тактики
  91.             tempHero[w] = tHero;
  92.            // Debug.Log("Я батя бот " + tHero[0] + " " + tHero[1] + " " + tHero[2] + " " + tHero[3] + " " + tHero[4] + " " + tHero[5] + " " + tHero[6] + " " + tHero[7] + " " + tHero[8] + " " + tHero[9] + " Class " + tHero[tHero.Length - 12] + "Удар " + tHero[10] + "Удар " + tHero[11] + "Удар " + tHero[12] + "Удар " + tHero[13] + "Удар " + tHero[14] + "Удар " + tHero[15] + "Удар " + tHero[16] + "Удар " + tHero[17] + "Удар " + tHero[18] + "Удар " + tHero[19] + "Удар " + tHero[20] + "Удар " + tHero[21] + "Удар " + tHero[22] + "Удар " + tHero[23] + "Удар " + tHero[24] + "Удар " + tHero[25] + "Удар " + tHero[26] + "Удар " + tHero[27] + "Удар " + tHero[28] + "Удар " + tHero[29] + "Удар " + tHero[30] + "Удар " + tHero[31] + "Удар " + tHero[32] + "Удар " + tHero[33] + "Процент игры с контроударами " + tHero[tHero.Length - 15] + "блоков " + " Процент смены тактики  " + tHero[tHero.Length - 16]);
  93.  
  94.             // Debug.Log("tempHero[HP]  " + tempHero[w][1]);
  95.  
  96.  
  97.         }
  98.  
  99.         StartCoroutine(GoBestGenesis(tempHero));
  100.  
  101.         // GoBestGenesis(tempHero);
  102.  
  103.         Debug.Log("i3= " + i3 + " i2= " + i2 + " i1= " + i1);
  104.         // one = GeneratorFight(hero);
  105.         // for (int i = 0; i < one.Length; i++)
  106.         // {
  107.         //     Debug.Log("One " + one[i]);
  108.         //  }
  109.         // two = GeneratorFight(hero2);
  110.         // for (int i = 0; i < two.Length; i++)
  111.         // {
  112.         //    Debug.Log("Two " + two[i]);
  113.         // }
  114.     }
  115.    
  116.  
  117.     public int[] Game(int[] hero, int[] hero2)
  118.     {
  119.         // Debug.Log("temp[temp.Length - 11]" + hero[hero.Length - 11]); //Константа
  120.  
  121.         // Debug.Log("Attacka" + hero[0]);
  122.         //Debug.Log("at " + hero2[0]);
  123.         //Debug.Log("hp " + hp);
  124.        
  125.         Array.Copy(hero, 0, hpHero1, 0, 100);
  126.         Array.Copy(hero2, 0, hpHero2, 0, 100);
  127.        
  128.         // Debug.Log("hpHero1 " + hpHero1[1]);
  129.         // Debug.Log("hpHero2 " + hpHero2[1]);
  130.         // Debug.Log("temp 2hp  " + temphp2);
  131.         // Debug.Log("temp hp   " + tempHp);
  132.         for (int i = 10; i < hero.Length; i++)
  133.         {
  134.             Turn++; //  Ход другого игрока
  135.                     //Debug.Log("i " + i);
  136.                     // Debug.Log("hp " + hp);
  137.  
  138.             // Debug.Log("hero[i]" + hero[i]);
  139.             //Debug.Log("HP hero2[1] " + hero2[1]);
  140.             //  Debug.Log("Ход N " + hero[hero.Length - 10]);
  141.             // количесво ходов
  142.             ////////////////////////////////////////////////////////////////////////////
  143.  
  144.            // Debug.Log("hpHero1 stage2 " + hpHero1[1]);
  145.            // Debug.Log("hpHero2 stage2 " + hpHero2[1]);
  146.  
  147.             ////////////////////////////////////////////////////////////////////////
  148.             if (hero2[1] <= 0)
  149.             {
  150.                 Array.Copy(hpHero1, 0, hero, 0, 100);
  151.                
  152.              //   Debug.Log("stage1 hero2[HP] stage2 " + hero2[1]);
  153.                 Turn = 0;
  154.                 if (hero2[hero2.Length - 14] > 100)
  155.                 {
  156.                  // Debug.Log("Мне дали пизды Побед подряд = " + hero2[hero2.Length - 14] + "мой класс " + hero2[hero2.Length - 12] + " это был я сука побед: " + hero[hero.Length - 14] + "Класс  " + hero[hero.Length - 12]);
  157.                 }
  158.                 return hero;
  159.                
  160.             }
  161.             if (hero[1] <= 0)
  162.             {
  163.                 Array.Copy(hpHero2, 0, hero2, 0, 100);
  164.                 //  Debug.Log("stage1 hero1[HP] stage2 " + hero[1]);
  165.                 if (hero[hero.Length - 14] > 100)
  166.                 {
  167.                //  Debug.Log("Мне дали пизды Побед подряд = " + hero[hero.Length - 14] + "мой класс " + hero[hero.Length - 12]  +" это был я сука побед: "  + hero2[hero2.Length - 14] + "Класс  " + hero2[hero2.Length - 12]);
  168.                 }
  169.                 Turn = 0;
  170.                 return hero2;
  171.                
  172.             }
  173.          
  174.  
  175.             //// запомнить здоровья 2 игроков
  176.             ///
  177.            
  178.             //////////////////////////
  179.             if (isPlaerTurn)
  180.             {
  181.                
  182.                 _CooldaunUdar(hero,out hero);
  183.                 Fight(hero, hero2, i);
  184.                // Debug.Log("hpHero1[i]" + hpHero1[i] + " = hero[i] " + hero[i]);
  185.                 int g = UnityEngine.Random.Range(0, hero[hero.Length -15]); // бот тестит лучше с контро играть или нет
  186.                 if (g == 1)
  187.                 {
  188.                     CheackContra(hero,hero2, i);
  189.                 }
  190.  
  191.  
  192.             }
  193.             else
  194.             {
  195.                 i -= 1;
  196.                // Debug.Log("old Hero2 = " + hero2[hero.Length - 6] + hero2[hero.Length - 7] + hero2[hero.Length - 8] + hero2[hero.Length - 9]);
  197.                
  198.                 _CooldaunUdar(hero2, out hero2);
  199.               //  Debug.Log("new Hero2 = " + hero2[hero.Length - 6] + hero2[hero.Length - 7] + hero2[hero.Length - 8] + hero2[hero.Length - 9]);
  200.                 if (i < 0)
  201.                 {
  202.                 Debug.Log("Жопа у 2 игрока I = -1;");
  203.                     break;
  204.                 }
  205.                 Fight(hero2, hero, i);
  206.                 //Debug.Log("hpHero2[i]" + hpHero2[i] + " = hero[i] " + hero2[i]);
  207.                 //hpHero2[i] = hero2[i];
  208.                 int g = UnityEngine.Random.Range(0, hero2[hero2.Length -15]);
  209.                 if (g == 1)
  210.                 {
  211.                     CheackContra(hero2, hero, i);
  212.                 }
  213.  
  214.             }
  215.  
  216.  
  217.         }
  218.  
  219.         return hero;
  220.     }
  221.  
  222.     public int[] ChangeFight(int[] hero, int[] hero2, int i)   //Смена удара генетическая мутация масива !
  223.     {
  224.  
  225.         int random_i = UnityEngine.Random.Range(0, hero[hero.Length - 16]);
  226.         //  Debug.Log("ChangeFight");
  227.         if (hero[hero.Length - 6] == 0)
  228.         {
  229.             if (hero[i] == 20 || hero[i] == 30 || hero[i] == 40 || hero[i] == 50)
  230.             {
  231.                 hero[i] = 20;
  232.             }
  233.             else
  234.             {
  235.                 hero[i] = 2;
  236.                
  237.             }
  238.  
  239.             if (isPlaerTurn && random_i == 1)
  240.             {
  241.                // Debug.Log("old hpHero1 = " + hpHero1[i]);
  242.                 hpHero1[i] = hero[i];
  243.               //  Debug.Log("hero = " + hero[i] + "new hpHero1 = " + hpHero1[i]);
  244.             }
  245.             if (!isPlaerTurn && random_i == 1)
  246.             {
  247.                 hpHero2[i] = hero[i];
  248.                // Debug.Log("hero = " + hero[i] + " new hpHero2 = " + hpHero2[i]);
  249.             }
  250.             hero = Udar1(hero, hero2, i);
  251.             return hero;
  252.         }
  253.         if (hero[hero.Length - 7] == 0)
  254.         {
  255.             if (hero[i] == 20 || hero[i] == 30 || hero[i] == 40 || hero[i] == 50)
  256.             {
  257.                 hero[i] = 30;
  258.             }
  259.             else
  260.             {
  261.                 hero[i] = 3;
  262.             }
  263.             if (isPlaerTurn && random_i == 1)
  264.             {
  265.                // Debug.Log("old hpHero1 = " + hpHero1[i]);
  266.                 hpHero1[i] = hero[i];
  267.                // Debug.Log("hero = " + hero[i] + "hpHero1 = " + hpHero1[i]);
  268.             }
  269.             if (!isPlaerTurn && random_i == 1)
  270.             {
  271.                 hpHero2[i] = hero[i];
  272.                // Debug.Log("hero = " + hero[i] + "hpHero2 = " + hpHero2[i]);
  273.             }
  274.             hero = Udar2(hero, hero2, i);
  275.            
  276.             return hero;
  277.         }
  278.         if (hero[hero.Length - 8] == 0)
  279.         {
  280.             if (hero[i] == 20 || hero[i] == 30 || hero[i] == 40 || hero[i] == 50)
  281.             {
  282.                 hero[i] = 40;
  283.             }
  284.             else
  285.             {
  286.                 hero[i] = 4;
  287.             }
  288.             if (isPlaerTurn && random_i == 1)
  289.             {
  290.                // Debug.Log("old hpHero1 = " + hpHero1[i]);
  291.                 hpHero1[i] = hero[i];
  292.               //  Debug.Log("hero = " + hero[i] + "hpHero1 = " + hpHero1[i]);
  293.             }
  294.             if (!isPlaerTurn && random_i == 1)
  295.             {
  296.                 hpHero2[i] = hero[i];
  297.                //Debug.Log("hero = " + hero[i] + "hpHero2 = " + hpHero2[i]);
  298.             }
  299.             hero = Udar3(hero, hero2, i);
  300.          
  301.             return hero;
  302.         }
  303.         if (hero[hero.Length - 9] == 0)
  304.         {
  305.             if (hero[i] == 20 || hero[i] == 30 || hero[i] == 40 || hero[i] == 50)
  306.             {
  307.                 hero[i] = 50;
  308.             }
  309.             else
  310.             {
  311.                 hero[i] = 5;
  312.             }
  313.             if (isPlaerTurn && random_i == 1)
  314.             {
  315.                 hpHero1[i] = hero[i];
  316.               //  Debug.Log("hero = " + hero[i] + "hpHero1 = " + hpHero1[i]);
  317.             }
  318.             if (!isPlaerTurn && random_i == 1)
  319.             {
  320.                 hpHero2[i] = hero[i];
  321.               //  Debug.Log("hero = " + hero[i] + "hpHero2 = " + hpHero2[i]);
  322.             }
  323.             hero = Udar4(hero, hero2, i);
  324.            
  325.             return hero;
  326.         }
  327.  
  328.         return hero;
  329.     }
  330.     public int[] BlockFight(int[] hero, int[] hero2, int i)
  331.     {
  332.        
  333.  
  334.         // Debug.Log("BlockFight");
  335.         if (hero[i] == 2 || hero[i] == 20)   // 1 Карта !!!
  336.         {
  337.             if (hero[hero.Length - 1] == 3)
  338.             {
  339.                 if (hero[6] > hero[2])
  340.                 {
  341.                     hero[hero.Length - 6] = hero[6];
  342.                     hero[hero.Length - 1] = 0;
  343.                     return hero;
  344.                 }
  345.  
  346.             }
  347.            
  348.             hero[hero.Length - 1] = 0;
  349.             hero[hero.Length - 6] = hero[2];
  350.            
  351.             return hero;
  352.         }
  353.         if (hero[i] == 3 || hero[i] == 30)   // 2 Карта !!!
  354.         {
  355.             if (hero[hero.Length - 2] == 3)
  356.             {
  357.                 if (hero[7] > hero[2])
  358.                 {
  359.                     hero[hero.Length - 7] = hero[7];
  360.                     hero[hero.Length - 2] = 0;
  361.                     return hero;
  362.                 }
  363.             }
  364.             hero[hero.Length - 2] = 0;
  365.             hero[hero.Length - 7] = hero[3];
  366.             return hero;
  367.         }
  368.         if (hero[i] == 4 || hero[i] == 40)   // 3 Карта !!!
  369.         {
  370.             hero[hero.Length - 5] = 0; //снять зашитный баф
  371.             if (hero[hero.Length - 4] == 3)
  372.             {
  373.                 if (hero[8] > hero[4])
  374.                 {
  375.                     hero[hero.Length - 8] = hero[8];
  376.                     hero[hero.Length - 3] = 0;
  377.                     return hero;
  378.                 }
  379.             }
  380.             hero[hero.Length - 3] = 0;
  381.             hero[hero.Length - 8] = hero[4];
  382.             return hero;
  383.         }
  384.         if (hero[i] == 5 || hero[i] == 50)   // 4 Карта !!!
  385.         {
  386.             if (hero[hero.Length - 5] == 3)
  387.             {
  388.                 if (hero[9] > hero[5])
  389.                 {
  390.                     hero[hero.Length - 9] = hero[9];
  391.                     hero[hero.Length - 5] = 0;
  392.                     return hero;
  393.                 }
  394.             }
  395.             hero[hero.Length - 5] = 0;
  396.             hero[hero.Length - 9] = hero[5];
  397.             return hero;
  398.         }
  399.         return hero;
  400.     }   // 2 Стадия
  401.  
  402.     public int[] Udar1(int[] hero, int[] hero2, int i)
  403.     {
  404.         //   Debug.Log("Udar1");
  405.         int hp = 0;
  406.  
  407.         if (hero[hero.Length - 1] == 3)
  408.         {
  409.             //   Debug.Log("hero[hero.Length - 1] == 3");
  410.             if (hero[2] < hero[6])
  411.             {
  412.                 hp = hero[6] * hero[0] + hero[6] * hero[0] * hero[hero.Length - 11] / 100;
  413.                 hero[hero.Length - 13] = hp;
  414.                 hero[0] += hero[hero.Length - 11] * hero[0] * hero[6] / 100;
  415.                 return hero;
  416.             }
  417.             hp = hero[2] * hero[0] + hero[2] * hero[0] * hero[hero.Length - 11] / 100;
  418.             hero[hero.Length - 13] = hp;
  419.             hero[0] += hero[hero.Length - 11] * hero[0] * hero[2] / 100;
  420.             return hero;
  421.         }
  422.         if (hero[hero.Length - 1] == 2)
  423.         {
  424.             if (hero[2] < hero[6])
  425.             {
  426.                 hp = hero[6] * hero[0] + hero[6] * hero[0] * hero[hero.Length - 11] / 100;
  427.                 hero[hero.Length - 1] = 3;
  428.                 hero[hero.Length - 13] = hp;
  429.                 hero[0] += hero[hero.Length - 11] * hero[0] * hero[6] / 100;
  430.                 return hero;
  431.             }
  432.             hp = hero[2] * hero[0] + hero[2] * hero[0] * hero[hero.Length - 11] / 100;
  433.             hero[hero.Length - 1] = 3;
  434.             hero[hero.Length - 13] = hp;
  435.             hero[0] += hero[hero.Length - 11] * hero[0] * hero[2] / 100;
  436.             return hero;
  437.         }
  438.         if (hero[hero.Length - 1] == 1)
  439.         {
  440.             hp = hero[2] * hero[0] + hero[2] * hero[0] * hero[hero.Length - 11] / 100;
  441.             hero[hero.Length - 1] = 2;
  442.             hero[hero.Length - 13] = hp;
  443.             hero[0] += hero[hero.Length - 11] * hero[0] * hero[2] / 100;
  444.             return hero;
  445.         }
  446.  
  447.         hero[hero.Length - 1] = 1; // уровень 1 карты
  448.         hp = hero[2] * hero[0];
  449.         hero[hero.Length - 13] = hp;
  450.         return hero;
  451.     }
  452.     public int[] Udar2(int[] hero, int[] hero2, int i)
  453.     {
  454.         //  Debug.Log("Udar2");
  455.         int hp = 0;
  456.  
  457.         if (hero[hero.Length - 2] == 3)
  458.         {
  459.             //    Debug.Log("hero[hero.Length - 2] == 3");
  460.             if (hero[3] < hero[7])
  461.             {
  462.                 hp = hero[7] * hero[0] ;
  463.                 hero[hero.Length - 13] = hp;
  464.                 return hero;
  465.             }
  466.             hp = hero[3] * hero[0] ;
  467.             hero[hero.Length - 13] = hp;
  468.             return hero;
  469.         }
  470.         if (hero[hero.Length - 2] == 2)
  471.         {
  472.             if (hero[3] < hero[7])
  473.             {
  474.                 hp = hero[7] * hero[0] ;
  475.                 hero[hero.Length - 1] = 3;
  476.                 hero[hero.Length - 13] = hp;
  477.                 return hero;
  478.             }
  479.             hp = hero[3] * hero[0] ;
  480.             hero[hero.Length - 1] = 3;
  481.             hero[hero.Length - 13] = hp;
  482.             return hero;
  483.         }
  484.         if (hero[hero.Length - 2] == 1)
  485.         {
  486.             hp = hero[3] * hero[0] ;
  487.             hero[hero.Length - 1] = 2;
  488.             hero[hero.Length - 13] = hp;
  489.             return hero;
  490.         }
  491.  
  492.         hero[hero.Length - 2] = 1; // уровень 2 карты
  493.         hp = hero[3] * hero[0];
  494.         hero[hero.Length - 13] = hp;
  495.         return hero;
  496.     }
  497.     public int[] Udar3(int[] hero, int[] hero2, int i)
  498.     {
  499.         //    Debug.Log("Udar3");
  500.         int hp = 0;
  501.  
  502.         if (hero[hero.Length - 3] == 3)
  503.         {
  504.             //       Debug.Log("hero[hero.Length - 3] == 3");
  505.             if (hero[4] < hero[8])
  506.             {
  507.                 hp = hero[8] * hero[0];
  508.                 int hh2 = hero[hero.Length - 11] * hero[8];
  509.                 hero[hero.Length - 13] = hp;
  510.                 return hero;
  511.             }
  512.             hp = hero[4] * hero[0];
  513.             int hh = hero[hero.Length - 11] * hero[4];
  514.             hero[hero.Length - 13] = hp;
  515.             return hero;
  516.         }
  517.         if (hero[hero.Length - 3] == 2)
  518.         {
  519.             if (hero[4] < hero[8])
  520.             {
  521.                 hp = hero[8] * hero[0];
  522.                 int hh2 = hero[hero.Length - 11] * hero[8];
  523.                 hero[hero.Length - 3] = 3;
  524.                 hero[hero.Length - 13] = hp;
  525.                 return hero;
  526.             }
  527.             hp = hero[4] * hero[0];
  528.             int hh = hero[hero.Length - 11] * hero[4];
  529.             hero[hero.Length - 3] = 3;
  530.             hero[hero.Length - 13] = hp;
  531.             return hero;
  532.         }
  533.         if (hero[hero.Length - 3] == 1)
  534.         {
  535.             hp = hero[4] * hero[0];
  536.             int hh = hero[hero.Length - 11] * hero[4] ;
  537.             hero[hero.Length - 5] = hh; // процент защиты
  538.             hero[hero.Length - 13] = hp;
  539.             hero[hero.Length - 3] = 2;
  540.             return hero;
  541.         }
  542.  
  543.         hero[hero.Length - 3] = 1; // уровень 3 карты
  544.         hp = hero[4] * hero[0];
  545.         hero[hero.Length - 13] = hp;
  546.         return hero;
  547.     }
  548.     public int[] Udar4(int[] hero, int[] hero2, int i)
  549.     {
  550.         //  Debug.Log("Udar4");
  551.         int hp = 0;
  552.  
  553.         if (hero[hero.Length - 4] == 3)   // уровень 4 карты
  554.         {
  555.             int temp, temp2;
  556.             temp = hero[hero.Length - 12];
  557.             temp2 = hero2[hero.Length - 12];
  558.             if (temp + 1 == temp2 || temp - 2 == temp2)
  559.             {
  560.                 if (hero[5] < hero[9])
  561.                 {
  562.                     hp = hero[1] * hero[hero.Length - 11] * hero[9] / 100;
  563.                     hero[hero.Length - 4] = 3; // уровень 4 карты
  564.                     hero[hero.Length - 13] = hp;
  565.                     return hero;
  566.                 }
  567.                 hp = hero[5] * hero[0] + hero[5] * hero[0] * hero[hero.Length - 11] / 100;
  568.                 hero[hero.Length - 13] = hp;
  569.                 return hero;
  570.             }
  571.             hp = hero[5] * hero[0] + hero[5] * hero[0] * hero[hero.Length - 11] / 100 / 2;
  572.             hero[hero.Length - 13] = hp;
  573.             return hero;
  574.         }
  575.         if (hero[hero.Length - 4] == 2)
  576.         {
  577.             int temp, temp2;
  578.             temp = hero[hero.Length - 12];
  579.             temp2 = hero2[hero.Length - 12];
  580.             if (temp + 1 == temp2 || temp - 2 == temp2)
  581.             {
  582.                 if (hero[5] < hero[9])
  583.                 {
  584.                     hp = hero[1] * hero[hero.Length - 11] * hero[9] / 100;
  585.                     hero[hero.Length - 4] = 3; // уровень 4 карты
  586.                     hero[hero.Length - 13] = hp;
  587.                     return hero;
  588.                 }
  589.                 hp = hero[1] * hero[hero.Length - 11] * hero[5] / 100;
  590.                 hero[hero.Length - 4] = 3; // уровень 4 карты
  591.                 hero[hero.Length - 13] = hp;
  592.                 return hero;
  593.             }
  594.             hp = hero[1] * hero[hero.Length - 11] * hero[5] / 100 / 2;
  595.             hero[hero.Length - 4] = 3; // уровень 4 карты
  596.             hero[hero.Length - 13] = hp;
  597.             return hero;
  598.         }
  599.         if (hero[hero.Length - 1] == 1)
  600.         {
  601.             int temp, temp2;
  602.             temp = hero[hero.Length - 12];
  603.             temp2 = hero2[hero.Length - 12];
  604.             if (temp + 1 == temp2 || temp - 2 == temp2)
  605.             {
  606.                 hp = hero[1] * hero[hero.Length - 11] * hero[5] / 100;
  607.                 hero[hero.Length - 4] = 2; // уровень 4 карты
  608.                 hero[hero.Length - 13] = hp;
  609.                 return hero;
  610.  
  611.             }
  612.             hp = hero[1] * hero[hero.Length - 11] * hero[5] / 100 / 2;
  613.             hero[hero.Length - 4] = 2; // уровень 4 карты
  614.             hero[hero.Length - 13] = hp;
  615.             return hero;
  616.         }
  617.  
  618.         hero[hero.Length - 4] = 1;  // уровень 4 карты
  619.         hp = hero[5] * hero[0];
  620.         hero[hero.Length - 13] = hp;
  621.         return hero;
  622.     }
  623.     public int BackHp(int[] hero, int oldhp, int newHp)
  624.     {
  625.         if (hero[hero.Length - 5] > 46)
  626.         {
  627.            // Debug.Log("Защита Aploved " + hero[hero.Length - 5]);
  628.         }
  629.         int hp = 0;
  630.         if (hero[hero.Length - 5] != 0)
  631.         {
  632.             int tempDamage = oldhp - newHp;
  633.             hp = tempDamage * hero[hero.Length - 5] / 200;
  634.            
  635.             if (hp < 0)
  636.             {
  637.                 return 0;
  638.             }
  639.            // Debug.Log("Hp Back " + hp);
  640.             return hp;
  641.         }
  642.  
  643.         return hp;
  644.     }
  645.     public void Fight(int[] hero,int[] hero2, int i)
  646.     {
  647.         int tempHeals = hero2[1];
  648.         if (hero[hero.Length - 6] != 0 && hero[hero.Length - 7] != 0 && hero[hero.Length - 8] != 0 && hero[hero.Length - 9] != 0)
  649.         {
  650.            
  651.                 hero2[1] -= hero[0];
  652.                 hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  653.                 hero[hero.Length - 10] += 1;
  654.                 return;
  655.            
  656.         }
  657.         else if (hero[i] == 1 || hero[i] == 10 || hero[i] == 2 || hero[i] == 3 || hero[i] == 4 || hero[i] == 5 || hero[i] == 20 || hero[i] == 30 || hero[i] == 40 || hero[i] == 50)
  658.         {
  659.             if (hero2[i] == 10 || hero2[i] == 20 || hero2[i] == 30 || hero2[i] == 40 || hero2[i] == 50)
  660.             {
  661.                 if (hero[i] == 1 || hero[i] == 10)
  662.                 {
  663.                     if (hero[i] == 10)
  664.                     {
  665.  
  666.                         hero2[1] -= hero[0];
  667.                         hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  668.                         hero[hero.Length - 10] += 1;
  669.                         return;
  670.                     }
  671.                    
  672.                     hero2[1] -= hero[0];
  673.                     hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  674.                     hero[hero.Length - 10] += 1;
  675.                     return;
  676.                 }
  677.                 else
  678.                 {
  679.                     hero = BlockFight(hero, hero2, i);
  680.                     hero[hero.Length - 10] += 1;
  681.                     return;
  682.                 }
  683.                 //  Debug.Log("Standart block" + hero[hero.Length - 10]);
  684.  
  685.             }
  686.             else
  687.             {
  688.  
  689.                 if (hero[i] == 2 || hero[i] == 20)
  690.                 {
  691.                     if (hero[hero.Length - 6] != 0)  // Карта заблокированна
  692.                     {
  693.                      
  694.                         hero = ChangeFight(hero, hero2, i);
  695.                        
  696.  
  697.                             hero[hero.Length - 10] += 1;
  698.                         hero2[1] -= hero[hero.Length - 13];
  699.                         hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  700.  
  701.                     }
  702.                     hero = Udar1(hero, hero2, i);
  703.                     //Debug.Log("-HP " + hero[hero.Length - 13]);
  704.                     hero[hero.Length - 10] += 1;
  705.                     hero2[1] -= hero[hero.Length - 13];  // отнять жизни
  706.                     hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  707.  
  708.                 }
  709.                 if (hero[i] == 3 || hero[i] == 30)
  710.                 {
  711.                     if (hero[hero.Length - 7] != 0)  // Карта заблокированна
  712.                     {
  713.                         hero = ChangeFight(hero, hero2, i);
  714.                         hero[hero.Length - 10] += 1;
  715.                         hero2[1] -= hero[hero.Length - 13];
  716.                         hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  717.                         hero[1] += hero[hero.Length - 13] * hero[hero.Length - 11] / 25;   //50% вамперизм
  718.  
  719.                     }
  720.                     hero = Udar2(hero, hero2, i);
  721.                     hero[hero.Length - 10] += 1;
  722.                     hero2[1] -= hero[hero.Length - 13];  // отнять жизни
  723.                                                          // Debug.Log("-HP2 " + hero[hero.Length - 13]);
  724.                     hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  725.                     hero[1] += hero[hero.Length - 13] * hero[hero.Length - 11] / 25; //50% вамперизм
  726.                 }
  727.                 if (hero[i] == 4 || hero[i] == 40)
  728.                 {
  729.                     if (hero[hero.Length - 8] != 0)  // Карта заблокированна
  730.                     {
  731.                         hero = ChangeFight(hero, hero2, i);
  732.                         hero[hero.Length - 10] += 1;
  733.                         hero2[1] -= hero[hero.Length - 13];
  734.                         hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  735.  
  736.                     }
  737.                     hero = Udar3(hero, hero2, i);
  738.                     hero[hero.Length - 10] += 1;
  739.                     hero2[1] -= hero[hero.Length - 13];  // отнять жизни
  740.                                                          //Debug.Log("-HP3 " + hero[hero.Length - 13]);
  741.                     hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  742.  
  743.                 }
  744.                 if (hero[i] == 5 || hero[i] == 50)
  745.                 {
  746.                     if (hero[hero.Length - 9] != 0)  // Карта заблокированна
  747.                     {
  748.                         hero = ChangeFight(hero, hero2, i);
  749.                         hero[hero.Length - 10] += 1;
  750.                         hero2[1] -= hero[hero.Length - 13];
  751.                         hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  752.  
  753.                     }
  754.                     hero = Udar4(hero, hero2, i);
  755.                     hero[hero.Length - 10] += 1;
  756.                     hero2[1] -= hero[hero.Length - 13];  // отнять жизни
  757.                                                          // Debug.Log("-HP4 " + hero[hero.Length - 13]);
  758.                     hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  759.  
  760.                 }
  761.                 if (hero[i] == 10)
  762.                 {
  763.  
  764.                     hero2[1] -= hero[0];
  765.                     hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  766.                     hero[hero.Length - 10] += 1;
  767.  
  768.                 }
  769.                
  770.                 hero2[1] -= hero[0];
  771.                 hero2[1] += BackHp(hero2, tempHeals, hero2[1]);
  772.                 hero[hero.Length - 10] += 1;
  773.             }
  774.         }
  775.      
  776.     } // 1 стадия
  777.     public void _CooldaunUdar(int [] hero, out int[] newHero)
  778.     {
  779.         if (hero[hero.Length - 6] != 0)
  780.         {
  781.             hero[hero.Length - 6] -= 1;
  782.             //  Debug.Log("Ban6 " + hero[hero.Length - 6]);
  783.         }
  784.         if (hero[hero.Length - 7] != 0)
  785.         {
  786.             hero[hero.Length - 7] -= 1;
  787.             //  Debug.Log("Ban7 " + hero[hero.Length - 7]);
  788.         }
  789.         if (hero[hero.Length - 8] != 0)
  790.         {
  791.             hero[hero.Length - 8] -= 1;
  792.             // Debug.Log("Ban8 " + hero[hero.Length - 8]);
  793.         }
  794.         if (hero[hero.Length - 9] != 0)
  795.         {
  796.             hero[hero.Length - 9] -= 1;
  797.             // Debug.Log("Ban9 " + hero[hero.Length - 9]);
  798.         }
  799.         newHero = hero;
  800.         return;
  801.     }
  802.     public int[] GenerateHero()
  803.     {
  804.         int at = UnityEngine.Random.Range(17, 30);
  805.         int hp = pwd / at;
  806.         int[] temp = new int[10];
  807.         while (true)
  808.         {
  809.             int a = UnityEngine.Random.Range(2, 7);
  810.             int b = UnityEngine.Random.Range(2, 7);
  811.             int c = UnityEngine.Random.Range(2, 7);
  812.             int d = UnityEngine.Random.Range(2, 7);
  813.             int w = a + b + c + d;
  814.  
  815.             if (w == 12)
  816.             {
  817.                 temp[0] = at;
  818.                 temp[1] = hp;
  819.                 temp[2] = a;
  820.                 temp[3] = b;
  821.                 temp[4] = c;
  822.                 temp[5] = d;
  823.                 break;
  824.             }
  825.  
  826.         }
  827.  
  828.         while (true)
  829.         {
  830.             int a = UnityEngine.Random.Range(1, 9);
  831.             int b = UnityEngine.Random.Range(1, 9);
  832.             int c = UnityEngine.Random.Range(1, 9);
  833.             int d = UnityEngine.Random.Range(1, 9);
  834.             int w = a + b + c + d;
  835.             if (w == 12)
  836.             {
  837.                 temp[6] = a;  // критический урон уровень 2
  838.                 temp[7] = b;  // вампериз 2
  839.                 temp[8] = c;  // щит 2
  840.                 temp[9] = d;  // ульт 2
  841.  
  842.                 break;
  843.             }
  844.  
  845.         }
  846.         // int[] temp2 = GeneratorFight(temp);
  847.         return GeneratorFight(temp);
  848.     }
  849.  
  850.     public int[] GeneratorFight(int[] hero)
  851.     {
  852.  
  853.         int[] temp = new int[100];
  854.         for (int i = 0; i < hero.Length; i++)
  855.         {
  856.             //  Debug.Log("Leght" + Hero.Length);
  857.             temp[i] = hero[i];
  858.         }
  859.         for (int i = hero.Length; i < temp.Length; i++)
  860.  
  861.         {
  862.  
  863.             temp[i] = UnityEngine.Random.Range(1, 6);
  864.         }
  865.         for (int i = 0; i < 6;)
  866.         {
  867.             int j = UnityEngine.Random.Range(10, 30);
  868.             if (temp[j] == 1 || temp[j] == 2 || temp[j] == 3 || temp[j] == 4 || temp[j] == 5)
  869.             {
  870.                 if (temp[j] == 1)
  871.                 {
  872.                     temp[j] = 10;
  873.                 }
  874.                 if (temp[j] == 2)
  875.                 {
  876.                     temp[j] = 20;
  877.                 }
  878.                 if (temp[j] == 3)
  879.                 {
  880.                     temp[j] = 30;
  881.                 }
  882.                 if (temp[j] == 4)
  883.                 {
  884.                     temp[j] = 40;
  885.                 }
  886.                 if (temp[j] == 5)
  887.                 {
  888.                     temp[j] = 50;
  889.                 }
  890.  
  891.                 i++;
  892.             }
  893.  
  894.         }
  895.         temp[temp.Length - 1] = 0; // счетчик уровня карты (1 - 3)
  896.         temp[temp.Length - 2] = 0; // счетчик уровня карты (1 - 3)
  897.         temp[temp.Length - 3] = 0; // счетчик уровня карты (1 - 3)
  898.         temp[temp.Length - 4] = 0; // счетчик уровня карты (1 - 3)
  899.         temp[temp.Length - 5] = 0; // Свободный слот (Защита)
  900.         temp[temp.Length - 6] = 0; // Замарозить Удар1
  901.         temp[temp.Length - 7] = 0; // Замарозить Удар2
  902.         temp[temp.Length - 8] = 0; // Замарозить Удар3
  903.         temp[temp.Length - 9] = 0; // Замарозить Удар4
  904.         temp[temp.Length - 10] = 0; // Счетчки ходов
  905.         temp[temp.Length - 11] = 8; // Constanta %
  906.         temp[temp.Length - 12] = UnityEngine.Random.Range(1, 4); // Ультимате класс игрока 1>2>3>1
  907.         temp[temp.Length - 13] = 0; // Буфер для здоровья 2 игрока
  908.         return temp;
  909.     }
  910.     public int[] GeneratorNewClone(int [] hero, int [] hero2)
  911.     {
  912.         int[] temp = new int[100];
  913.         for(int i = 0; i < 6; i++) // скрещевание 1 стадия
  914.         {
  915.             temp[i] = hero[i];
  916.         }
  917.         for (int i = 6; i < 10; i++)  // скрещевание 2 стадия
  918.         {
  919.             temp[i] = hero2[i];
  920.         }
  921.         for (int i = 10; i < 100; i++)   //генерация ударов
  922.  
  923.         {
  924.             temp[i] = UnityEngine.Random.Range(1, 6);
  925.         }
  926.  
  927.  
  928.         for (int i = 0; i < 6;)  // замена ударов на удар + блок
  929.         {
  930.             int j = UnityEngine.Random.Range(10, 30);
  931.             if (temp[j] == 1 || temp[j] == 2 || temp[j] == 3 || temp[j] == 4 || temp[j] == 5)
  932.             {
  933.                 if (temp[j] == 1)
  934.                 {
  935.                     temp[j] = 10;
  936.                 }
  937.                 if (temp[j] == 2)
  938.                 {
  939.                     temp[j] = 20;
  940.                 }
  941.                 if (temp[j] == 3)
  942.                 {
  943.                     temp[j] = 30;
  944.                 }
  945.                 if (temp[j] == 4)
  946.                 {
  947.                     temp[j] = 40;
  948.                 }
  949.                 if (temp[j] == 5)
  950.                 {
  951.                     temp[j] = 50;
  952.                 }
  953.  
  954.                 i++;
  955.             }
  956.  
  957.         }
  958.         temp[temp.Length - 1] = 0; // счетчик уровня карты (1 - 3)
  959.         temp[temp.Length - 2] = 0; // счетчик уровня карты (1 - 3)
  960.         temp[temp.Length - 3] = 0; // счетчик уровня карты (1 - 3)
  961.         temp[temp.Length - 4] = 0; // счетчик уровня карты (1 - 3)
  962.         temp[temp.Length - 5] = 0; // Свободный слот (Защита)
  963.         temp[temp.Length - 6] = 0; // Замарозить Удар1
  964.         temp[temp.Length - 7] = 0; // Замарозить Удар2
  965.         temp[temp.Length - 8] = 0; // Замарозить Удар3
  966.         temp[temp.Length - 9] = 0; // Замарозить Удар4
  967.         temp[temp.Length - 10] = 0; // Счетчки ходов
  968.         temp[temp.Length - 11] = 8; // Constanta %
  969.         temp[temp.Length - 12] = UnityEngine.Random.Range(1, 4); // Ультимате класс игрока 1>2>3>1
  970.         temp[temp.Length - 13] = 0; // Буфер для здоровья 2 игрока
  971.         temp[temp.Length - 14] = 0; // Счетчик побед
  972.         temp[temp.Length - 15] = UnityEngine.Random.Range(1, 20); // Счетчик побед
  973.         temp[temp.Length - 16] = UnityEngine.Random.Range(1, 20); //процент смены тактики
  974.         return temp;
  975.     }
  976.  
  977.     IEnumerator GoBestGenesis(int[][] hero)
  978.     {
  979.         //Debug.Log("KAKAITO PIZDEC222");
  980.  
  981.         int[][] tempWinner = new int[32][]; // временное хранилище
  982.         int[][] newGameBot = new int[32][];
  983.         int[] b1 = new int[100];
  984.         int[] b2 = new int[100];
  985.        // int[] Winner = new int[100]; // бот победитель
  986.         for (int w = 0; w < hero.Length/2; w++)
  987.         {
  988.           // Debug.Log("Fuflo ");
  989.           //  Debug.Log("w= " + w);
  990.             b1 = hero[w];
  991.             int www = hero.Length - w -1;
  992.            // Debug.Log("Fuflo 2");
  993.            
  994.             b2 = hero[www];
  995.            // Debug.Log("b2  " + " " + b2[0] + " " + b2[1] + " " + b2[2] + " " + b2[3] + " " + b2[4] + " " + b2[5]);
  996.  
  997.            // Debug.Log("hero.Length" + hero.Length);
  998.           // Debug.Log("HP b2 " + b2[1]);
  999.           //  Debug.Log("KAKAITO PIZDEC333");
  1000.            
  1001.             Winner = Game(b1, b2);
  1002.             Winner[Winner.Length - 14] += 1;
  1003.             tempWinner[w] = Winner;
  1004.             if (Winner[Winner.Length - 14] > 50)
  1005.             {
  1006.                 int i_count = 0;
  1007.                // for (int i = 10; i < 80; i++)
  1008.                // {
  1009.                //     if (Winner[i] == 10 || Winner[i] == 20 || Winner[i] == 30 || Winner[i] == 40 || Winner[i] == 50)
  1010.                 //        ++i_count;
  1011.                // }
  1012.                 Debug.Log("Я батя бот " + Winner[0] + " " + Winner[1] + " " + Winner[2] + " " + Winner[3] + " " + Winner[4] + " " + Winner[5] + " " + Winner[6] + " " + Winner[7] + " " + Winner[8] + " " + Winner[9] + " Class " + Winner[Winner.Length - 12] + "Удар " + Winner[10] + "Удар " + Winner[11] + "Удар " + Winner[12] + "Удар " + Winner[13] + "Удар " + Winner[14] + "Удар " + Winner[15] + "Удар " + Winner[16] + "Удар " + Winner[17] + "Удар " + Winner[18] + "Удар " + Winner[19] + "Удар " + Winner[20] + "Удар " + Winner[21] + "Удар " + Winner[22] + "Удар " + Winner[23] + "Удар " + Winner[24] + "Удар " + Winner[25] + "Удар " + Winner[26] + "Удар " + Winner[27] + "Удар " + Winner[28] + "Удар " + Winner[29] + "Удар " + Winner[30] + "Удар " + Winner[31] + "Удар " + Winner[32] + "Удар " + Winner[33] + "Процент игры с контроударами " + Winner[Winner.Length -15] + "блоков " + i_count  +" Процент смены тактики  " + Winner[Winner.Length-16]);
  1013.                 Winner[Winner.Length - 14] = 0;
  1014.             }
  1015.  
  1016.  
  1017.         }
  1018.         for(int i=0;i<tempWinner.Length;i++)
  1019.         {
  1020.  
  1021.            newGameBot[i] = GeneratorNewClone(tempWinner[i], tempWinner[tempWinner.Length - 1 - i]);
  1022.           //  Debug.Log("I " + i);
  1023.         }
  1024.         int[][] fullpack = new int[64][];
  1025.  
  1026.         for (int i = 0; i < 32;++i)
  1027.         {
  1028.            // Debug.Log("fullpack  " + fullpack.Length + "tempWinner  " + tempWinner.Length);
  1029.             fullpack[i] = tempWinner[i];
  1030.         }
  1031.         for (int i = 0; i < 32; ++i)
  1032.         {
  1033.           //  Debug.Log("fullpack  " + fullpack.Length + "newGameBot  " + newGameBot.Length);
  1034.             fullpack[32+i] = newGameBot[i];
  1035.         }
  1036.  
  1037.  
  1038.         // Debug.Log("KAKAITO PIZDEC");
  1039.  
  1040.         yield return new WaitForFixedUpdate();
  1041.         yield return StartCoroutine(GoBestGenesis(fullpack));
  1042.        
  1043.        
  1044.      
  1045.        
  1046.  
  1047.     }
  1048.  
  1049.     public int[] Udar1Contra(int[] hero, int[] hero2, int i)
  1050.     {
  1051.         //   Debug.Log("Udar1");
  1052.         int hp = 0;
  1053.  
  1054.         if (hero[hero.Length - 1] == 3)
  1055.         {
  1056.             //   Debug.Log("hero[hero.Length - 1] == 3");
  1057.             if (hero[2] < hero[6])
  1058.             {
  1059.                 hp = hero[6] * hero[0];
  1060.                 hero[hero.Length - 13] = hp;
  1061.                 return hero;
  1062.             }
  1063.             hp = hero[2] * hero[0];
  1064.             hero[hero.Length - 13] = hp;
  1065.             return hero;
  1066.         }
  1067.         if (hero[hero.Length - 1] == 2)
  1068.         {
  1069.             if (hero[2] < hero[6])
  1070.             {
  1071.  
  1072.                 hp = hero[6] * hero[0];
  1073.                
  1074.                 hero[hero.Length - 13] = hp;
  1075.                 hero[hero.Length - 6] = hero[6];
  1076.                 return hero;
  1077.             }
  1078.             hp = hero[2] * hero[0];
  1079.             hero[hero.Length - 13] = hp;
  1080.             hero[hero.Length - 6] = hero[2];
  1081.             return hero;
  1082.         }
  1083.         if (hero[hero.Length - 1] == 1)
  1084.         {
  1085.             hp = hero[2] * hero[0];
  1086.             hero[hero.Length - 13] = hp;
  1087.             hero[hero.Length - 6] = hero[2];
  1088.             return hero;
  1089.         }
  1090.        
  1091.         hp = hero[2] * hero[0];
  1092.         hero[hero.Length - 13] = hp;
  1093.         hero[hero.Length - 6] = hero[2];
  1094.         return hero;
  1095.     }
  1096.     public int[] Udar2Contra(int[] hero, int[] hero2, int i)
  1097.     {
  1098.         //  Debug.Log("Udar2");
  1099.         int hp = 0;
  1100.  
  1101.         if (hero[hero.Length - 2] == 3)
  1102.         {
  1103.             //    Debug.Log("hero[hero.Length - 2] == 3");
  1104.             if (hero[3] < hero[7])
  1105.             {
  1106.                 hp = hero[7] * hero[0];
  1107.                 hero[hero.Length - 13] = hp;
  1108.                 hero[hero.Length - 7] = hero[7];
  1109.                 return hero;
  1110.             }
  1111.             hp = hero[3] * hero[0];
  1112.             hero[hero.Length - 13] = hp;
  1113.             hero[hero.Length - 7] = hero[3];
  1114.             return hero;
  1115.         }
  1116.         if (hero[hero.Length - 2] == 2)
  1117.         {
  1118.             if (hero[3] < hero[7])
  1119.             {
  1120.                 hp = hero[7] * hero[0];
  1121.                
  1122.                 hero[hero.Length - 13] = hp;
  1123.                 hero[hero.Length - 7] = hero[7];
  1124.                 return hero;
  1125.             }
  1126.             hp = hero[3] * hero[0];
  1127.            
  1128.             hero[hero.Length - 13] = hp;
  1129.             hero[hero.Length - 7] = hero[3];
  1130.             return hero;
  1131.         }
  1132.         if (hero[hero.Length - 2] == 1)
  1133.         {
  1134.             hp = hero[3] * hero[0];
  1135.            
  1136.             hero[hero.Length - 13] = hp;
  1137.             hero[hero.Length - 7] = hero[3];
  1138.             return hero;
  1139.         }
  1140.  
  1141.        
  1142.         hp = hero[3] * hero[0];
  1143.         hero[hero.Length - 13] = hp;
  1144.         hero[hero.Length - 7] = hero[3];
  1145.         return hero;
  1146.     }
  1147.     public int[] Udar3Contra(int[] hero, int[] hero2, int i)
  1148.     {
  1149.         //    Debug.Log("Udar3");
  1150.         int hp = 0;
  1151.  
  1152.         if (hero[hero.Length - 3] == 3)
  1153.         {
  1154.             //       Debug.Log("hero[hero.Length - 3] == 3");
  1155.             if (hero[4] < hero[8])
  1156.             {
  1157.                 hp = hero[8] * hero[0];
  1158.                
  1159.                 hero[hero.Length - 13] = hp;
  1160.                 hero[hero.Length - 8] = hero[8];
  1161.                 return hero;
  1162.             }
  1163.             hp = hero[4] * hero[0];
  1164.             hero[hero.Length - 8] = hero[4];
  1165.             hero[hero.Length - 13] = hp;
  1166.             return hero;
  1167.         }
  1168.         if (hero[hero.Length - 3] == 2)
  1169.         {
  1170.             if (hero[4] < hero[8])
  1171.             {
  1172.                 hp = hero[8] * hero[0];
  1173.                
  1174.                
  1175.                 hero[hero.Length - 13] = hp;
  1176.                 hero[hero.Length - 8] = hero[8];
  1177.                 return hero;
  1178.             }
  1179.             hp = hero[4] * hero[0];
  1180.  
  1181.             hero[hero.Length - 8] = hero[4];
  1182.             hero[hero.Length - 13] = hp;
  1183.             return hero;
  1184.         }
  1185.         if (hero[hero.Length - 3] == 1)
  1186.         {
  1187.             hp = hero[4] * hero[0];
  1188.            
  1189.            
  1190.             hero[hero.Length - 13] = hp;
  1191.             hero[hero.Length - 8] = hero[4];
  1192.             return hero;
  1193.         }
  1194.  
  1195.        
  1196.         hp = hero[4] * hero[0];
  1197.         hero[hero.Length - 13] = hp;
  1198.         hero[hero.Length - 8] = hero[4];
  1199.         return hero;
  1200.     }
  1201.     public int[] Udar4Contra(int[] hero, int[] hero2, int i)
  1202.     {
  1203.         int hp = 0;
  1204.  
  1205.         if (hero[hero.Length - 4] == 3)
  1206.         {
  1207.             //       Debug.Log("hero[hero.Length - 3] == 3");
  1208.             if (hero[5] < hero[9])
  1209.             {
  1210.                 hp = hero[9] * hero[0];
  1211.  
  1212.                 hero[hero.Length - 13] = hp;
  1213.                 hero[hero.Length - 6] = hero[9];
  1214.                 return hero;
  1215.             }
  1216.             hp = hero[5] * hero[0];
  1217.            
  1218.             hero[hero.Length - 13] = hp;
  1219.             hero[hero.Length - 6] = hero[5];
  1220.             return hero;
  1221.         }
  1222.         if (hero[hero.Length - 3] == 2)
  1223.         {
  1224.             if (hero[4] < hero[8])
  1225.             {
  1226.                 hp = hero[9] * hero[0];
  1227.  
  1228.  
  1229.                 hero[hero.Length - 13] = hp;
  1230.                 hero[hero.Length - 6] = hero[9];
  1231.                 return hero;
  1232.             }
  1233.             hp = hero[5] * hero[0];
  1234.  
  1235.  
  1236.             hero[hero.Length - 13] = hp;
  1237.             hero[hero.Length - 6] = hero[5];
  1238.             return hero;
  1239.         }
  1240.         if (hero[hero.Length - 3] == 1)
  1241.         {
  1242.             hp = hero[5] * hero[0];
  1243.  
  1244.  
  1245.             hero[hero.Length - 13] = hp;
  1246.             hero[hero.Length - 6] = hero[5];
  1247.             return hero;
  1248.         }
  1249.  
  1250.  
  1251.         hp = hero[5] * hero[0];
  1252.         hero[hero.Length - 9] = hero[5];
  1253.         hero[hero.Length - 13] = hp;
  1254.         return hero;
  1255.     }
  1256.     public void CheackContra (int[] hero,int[] hero2, int i)
  1257.     {
  1258.         if (hero[hero.Length - 6] == 0)
  1259.             Udar1Contra(hero, hero2, i);
  1260.         if (hero[hero.Length - 7] == 0)
  1261.             Udar1Contra(hero, hero2, i);
  1262.         if (hero[hero.Length - 8] == 0)
  1263.             Udar1Contra(hero, hero2, i);
  1264.         if (hero[hero.Length - 9] == 0)
  1265.             Udar1Contra(hero, hero2, i);
  1266.     }
  1267.  
  1268.  
  1269. }
  1270.  

Share with your friends:

Распечатать