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]; } }
/// //////////////////////////β版用 /// 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); }
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(); } }
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); }
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); }
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); }