Exemplo n.º 1
0
    void createAllCardCntList(ref cardCount[] newList)
    {
        newList = new cardCount[allCards.Length];

        for (int i = 0; i < allCards.Length; i++)
        {
            newList [i]        = new cardCount();
            newList[i].drawCnt = new int[allCards[i].groupCards.Length];
        }
    }
Exemplo n.º 2
0
    /// //////////////////////////β版用
    ///
    private static List <cardCount> BataDeck()
    {
        List <cardCount> cards = new List <cardCount>();

        int i = 3;

        cardCount ccount = new cardCount();

        ccount.Init(kurausorasu(), i);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(SupportFairy(), i);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(FrameDogg(), i);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(DevilContraction(), i);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(DestZoneSkillCardChoisSupport(), i);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(DevilsGift(), i);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(SolHand(), i);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(ThreeHedDragonsCurs(), i);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(YerowDragonsArmer(), i);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(DualAttackSkill(), i);
        //cards.Add(ccount);

        return(cards);
    }
Exemplo n.º 3
0
    void resizeAllCardBlockCnt()
    {
        //Test, if the size of the group list changed.
        bool listSizeChanged = false;

        if (allCards.Length != cardBlockCount.cnt.Length)
        {
            listSizeChanged = true;
        }
        else
        {
            //even if the upper list is constant, the sub-list have to be tested
            for (int i = 0; i < allCards.Length; i++)
            {
                if (allCards[i].groupCards.Length != cardBlockCount.cnt[i].drawCnt.Length)
                {
                    listSizeChanged = true;
                }
            }
        }

        //if a change was detected
        if (listSizeChanged == true)
        {
            //create a new list (temporary)
            cardCount[] tmpList = new cardCount[0];
            createAllCardCntList(ref tmpList);
            //copy actual list to temporary list
            copyAllCardCntList(cardBlockCount.cnt, ref tmpList);
            //create a new main list
            createAllCardCntList(ref cardBlockCount.cnt);
            //copy the values back to main list
            copyAllCardCntList(tmpList, ref cardBlockCount.cnt);

            //save the list
            saveBlockCnt();
        }
    }
Exemplo n.º 4
0
    public static List <cardCount> ReadCardList()
    {
        TextAsset cardList = Resources.Load <TextAsset>(DataPath);

        StringReader sr = new StringReader(cardList.text);

        //1 カード名、2 所属、3 種類、4 マナ、5 能力、6 耐久、7 枚数
        //他に欲しいもの… 効果ID(効果量) 読み仮名 カード画像名
        List <string[]> cardData = new List <string[]>();

        //int i = 0;
        while (sr.Peek() > -1)
        {
            string[] line = sr.ReadLine().Split(',');
            for (int i = 0; i < line.Length; i++)
            {
                line[i] = line[i].Replace("\"", "");
            }
            cardData.Add(line);
        }
        cardData.Remove(cardData[0]);//一番上は表の目次なので削除

        List <cardCount> cards = new List <cardCount>();

        foreach (string[] line in cardData)
        {
            CardState state  = new CardState();
            cardCount ccount = new cardCount();
            ccount.card = state;
            for (int i = 0; i < line.Length; i++)
            {
                if (line[i] == null || line[i] == "")
                {
                    continue;
                }
                dataType dt = (dataType)Enum.ToObject(typeof(dataType), i);
                switch (dt)
                {
                case dataType.name:
                    state.cardName = line[i];
                    break;

                case dataType.aligment:
                    if (line[i].IndexOf("剣") >= 0)
                    {
                        state.cardAligment = CardAligment.SowrdMan;
                    }
                    else if (line[i].IndexOf("契約") >= 0 || line[i].IndexOf("魔") >= 0)
                    {
                        state.cardAligment = CardAligment.Magician;
                    }
                    else
                    {
                        state.cardAligment = CardAligment.All;
                    }
                    break;

                case dataType.type:
                    switch (line[i])
                    {
                    case "ユニット":
                        state.cardType = ObjectType.Unit;
                        break;

                    case "技":
                        state.cardType = ObjectType.Skill;
                        break;

                    case "支援":
                        state.cardType = ObjectType.Support;
                        break;

                    case "罠":
                        state.cardType = ObjectType.Trap;
                        break;

                    case "ライフ":
                        state.cardType = ObjectType.Life;
                        break;

                    default:
                        state.cardType = ObjectType.Skill;
                        break;
                    }
                    break;

                case dataType.cost:
                    state.Cost = int.Parse(line[i]);
                    break;

                case dataType.text:
                    state.text = line[i];
                    break;

                case dataType.deffence:
                    state.defence = int.Parse(line[i]);
                    break;

                case dataType.count:
                    ccount.count = int.Parse(line[i]);
                    break;
                }
            }
            cards.Add(ccount);
        }
        return(cards);
    }
Exemplo n.º 5
0
    public static List <CardState> GetLifeCards()
    {
        List <cardCount> cards = new List <cardCount>();

        cardCount ccount = new cardCount();

        /*
         * ccount.card = NormalLifeCard();
         * //ライフカード効果確認用、カードドロー効果設定
         * ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.CardDraw, 1);
         * ccount.count = 1;
         * cards.Add(ccount);*/

        ccount                = new cardCount();
        ccount.card           = NormalLifeCard();
        ccount.card.cardName += "9";
        ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.CardDraw, 1);
        ccount.count           = 1;
        ccount.card.text       = "山札からカードを1枚引く。";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Life);
        cards.Add(ccount);

        ccount                = new cardCount();
        ccount.card           = NormalLifeCard();
        ccount.card.cardName += "8";
        ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.CostAdd, 3, 0, new Target(TargetType.friend, CardZoneType.Unit, ObjectType.Player, true));
        ccount.count           = 1;
        ccount.card.text       = "マナ+3";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Life);
        cards.Add(ccount);

        ccount                = new cardCount();
        ccount.card           = NormalLifeCard();
        ccount.card.cardName += "7";
        ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.AttackAdd, 2, 1, new Target(TargetType.friend, CardZoneType.Unit, ObjectType.Player, true));
        ccount.count           = 1;
        ccount.card.text       = "攻撃力+2";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Life);
        cards.Add(ccount);

        ccount                = new cardCount();
        ccount.card           = NormalLifeCard();
        ccount.card.cardName += "6";
        ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.RandCardDest, 1, 0, new Target(TargetType.enemy, CardZoneType.Support, ObjectType.Support, true));
        ccount.count           = 1;
        ccount.card.text       = "相手の場の支援カードを\nランダムに1枚破壊する。";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Life);
        cards.Add(ccount);

        ccount                = new cardCount();
        ccount.card           = NormalLifeCard();
        ccount.card.cardName += "5";
        ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.CostAdd, 5, 0, new Target(TargetType.friend, CardZoneType.Unit, ObjectType.Player, true));
        ccount.count           = 1;
        ccount.card.text       = "マナ+5";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Life);
        cards.Add(ccount);

        ccount                = new cardCount();
        ccount.card           = NormalLifeCard();
        ccount.card.cardName += "4";
        ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.Heal, 1, 0, new Target(TargetType.friend, CardZoneType.Unit, ObjectType.Player, true));
        ccount.count           = 1;
        ccount.card.text       = "ライフ+1(回復後の効果は発動しない)";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Life);
        cards.Add(ccount);

        ccount                = new cardCount();
        ccount.card           = NormalLifeCard();
        ccount.card.cardName += "3";
        ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.CardDraw, 2, 0, new Target(TargetType.friend, CardZoneType.Unit, ObjectType.Player, true));
        ccount.card.text       = "山札からカードを2枚引く。";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Life);
        ccount.count           = 1;
        cards.Add(ccount);

        ccount                = new cardCount();
        ccount.card           = NormalLifeCard();
        ccount.card.cardName += "2";
        List <ObjectType> targtes = new List <ObjectType>()
        {
            ObjectType.Player, ObjectType.Unit
        };

        ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.Damage, 3, 0, new Target(TargetType.enemy, CardZoneType.Unit, targtes, true));
        ccount.count           = 1;
        ccount.card.text       = "相手の全ユニットとプレイヤーに3ダメージ";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Life);
        cards.Add(ccount);

        ccount                = new cardCount();
        ccount.card           = NormalLifeCard();
        ccount.card.cardName += "1";
        ccount.card.SetEffect(EffectPlayType.playEffect, EffectType.CardDraft, 3, 0, new Target(TargetType.friend, CardZoneType.Deck, ObjectType.All, true));
        ccount.count           = 1;
        ccount.card.text       = "山札からカードを3枚引き、\nその内1枚を選び手札に加える。\n残りのカードは捨て札に送る。";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Life);
        cards.Add(ccount);

        ccount                 = new cardCount();
        ccount.card            = NormalLifeCard();
        ccount.card.cardName  += "0";
        ccount.count           = 1;
        ccount.card.text       = "ゲームに敗北する。";
        ccount.card.cardSprite = Resources.Load <Sprite>(CardSprits.Sinigami);
        cards.Add(ccount);

        List <CardState> cardList = new List <CardState>();

        foreach (cardCount c in cards)
        {
            for (int i = 0; i < c.count; i++)
            {
                cardList.Add(c.card);
            }
        }
        cardList.Reverse();

        return(cardList);
    }
Exemplo n.º 6
0
    private static List <cardCount> GatiDeck()
    {
        List <cardCount> cards = new List <cardCount>();

        int i = 1;

        cardCount ccount = new cardCount();

        ccount.Init(kurausorasu(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(SupportFairy(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(FrameDogg(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(DevilContraction(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(DestZoneSkillCardChoisSupport(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(DevilsGift(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(SolHand(), i * 3);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(ThreeHedDragonsCurs(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(YerowDragonsArmer(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(DualAttackSkill(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(BeginnerSowrdmanAira(), i * 3);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(IronKnight(), i * 3);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(GuardianShield(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(DarkMagicianRejehu(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(IndifferentBattleField(), i * 3);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(GodBreath(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(IgunisRanth(), i * 3);
        cards.Add(ccount);


        ccount = new cardCount();
        ccount.Init(DemonsGate(), i * 3);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(BoosterDagar(), i * 2);
        cards.Add(ccount);

        //罠
        ccount = new cardCount();
        ccount.Init(AttackDebuffTrap(), i * 2);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(OverPowerTrap(), i * 3);
        cards.Add(ccount);

        ccount = new cardCount();
        ccount.Init(Sikabanenotate(), i * 3);
        cards.Add(ccount);

        /*画像が無いので排除
         * ccount = new cardCount();
         * ccount.Init(Eruhu(), i * 3);
         * cards.Add(ccount);*/

        ccount = new cardCount();
        ccount.Init(Present(), i * 3);
        cards.Add(ccount);

        return(cards);
    }