private void Battle(UniteBase suffer, float dmg)    //受ける側を入れる
    {
        float allHP = suffer._HP * suffer._NUMBER;

        if (allHP > dmg)
        {
            //Debug.Log(suffer.name + "dmg:" + dmg);
            allHP -= dmg;                                     //与ダメ
            //Debug.Log(suffer.name +"HP:" + allHP);
            int nokori = Mathf.CeilToInt(allHP / suffer._HP); //残数計算(切り上げ)

            suffer._NUMBER = nokori;                          //代入
        }
        else
        {
            //撃破の時
            suffer._NUMBER = 0;
        }
    }
    //一人攻撃用
    public void BattleCalculate(List <UniteBase> _Diffender, UniteBase _Attacker, TerrainBase BattleZone)
    {
        //Debug.Log("oson");
        //初期化
        Attacker.Clear();
        Diffender.Clear();
        //キャッシュ
        Diffender = new List <UniteBase>(_Diffender);
        Attacker.Add(_Attacker);



        A[0] = Attacker[0].UnitAtkCalculate() * ((100 - BattleZone.B_DEF) / 100);        //攻撃側攻撃力計算 バフはダメージカット

        for (int i = 0; i < Diffender.Count; i++)
        {
            if (Diffender[i] != null)
            {
                D[i] = Diffender[i].UnitAtkCalculate() * ((BattleZone.B_ATK + 100) / 100);                //防御側攻撃力計算 バフは攻撃力上昇
            }
            else
            {
                D[i] = 0;
            }
        }
        //Debug.Log("D0:" + D[0] + ",D1:" + D[1]);
        //防御側ダメージ計算
        for (int i = 0; i < Diffender.Count; i++)
        {
            //0番目は攻撃力の2/3を受ける
            Battle(Diffender[i], (A[0] / 3) * (2 - i));
        }

        //攻撃側ダメージ計算

        for (int j = 0; j < 3; j++)
        {
            //0番目は攻撃力の2/3を受ける
            Battle(Attacker[0], D[j]);
        }


        _Diffender.Clear();
        //_Attacker.Clear();
        //Debug.Log(Diffender.Count);

        //値を返却
        for (int i = 0; i < Diffender.Count; i++)
        {
            //Debug.Log(Diffender[i].name);

            if (Diffender[i] && Diffender[i]._HP > 0)
            {
                _Diffender.Add(Diffender[i]);
            }
        }
        //for (int i = 0; i < Attacker.Count; i++)
        //{
        //	if (Attacker[i] && Attacker[i]._HP > 0)
        //		_Attacker.Add(Attacker[i]);
        //}

        //HPが0なら攻撃者をnullで返す
        if (Attacker[0]._HP < 0)
        {
            //_Attacker = null;
            Debug.Log("やられたー");
        }
    }