コード例 #1
0
        public MainWindow()
        {
            InitializeComponent();

            CbxFormat.ItemsSource         = GuiHelper.FormatTypes;
            CbxFormat.SelectedIndex       = 1;
            CbxClassCard.ItemsSource      = GuiHelper.ClassTypes;
            CbxClassCard.SelectedIndex    = 1;
            CbxDeckStrategy.ItemsSource   = GuiHelper.StrategyTypes;
            CbxDeckStrategy.SelectedIndex = 1;
            if (File.Exists(Environment.CurrentDirectory + @"\allDecks.json"))
            {
                var json = File.ReadAllText(Environment.CurrentDirectory + @"\allDecks.json");
                AllDecks = JsonConvert.DeserializeObject <List <MetaDeck> >(json);
            }
            else
            {
                AllDecks = new List <MetaDeck>();
            }

            DtDeckFiles.ItemsSource = AllDecks;

            CboxAi1.ItemsSource = GuiHelper.StrategyTypes;
            CboxAi2.ItemsSource = GuiHelper.StrategyTypes;

            CboxDeck1.ItemsSource   = AllDecks;
            CboxDeck1.SelectedIndex = 1;
            CboxDeck2.ItemsSource   = AllDecks;
            CboxDeck2.SelectedIndex = 1;


            var help = CardAsciiBuilder.PrintHelp();

            ViewBox.Text =
                help[0] + Environment.NewLine +
                help[1] + Environment.NewLine +
                help[2] + Environment.NewLine +
                help[3] + Environment.NewLine +
                help[4] + Environment.NewLine +
                help[5] + Environment.NewLine +
                Environment.NewLine +
                help[6] + Environment.NewLine +
                help[7] + Environment.NewLine +
                help[8] + Environment.NewLine +
                help[9] + Environment.NewLine +
                help[10] + Environment.NewLine +
                help[11] + Environment.NewLine +
                Environment.NewLine +
                help[12] + Environment.NewLine +
                help[13] + Environment.NewLine +
                help[14] + Environment.NewLine +
                help[15] + Environment.NewLine +
                help[16] + Environment.NewLine +
                help[17] + Environment.NewLine;
        }
コード例 #2
0
        private static string CreateHero(Hero hero, bool turn)
        {
            int cardCnt = 1;

            var zoneStr = new StringBuilder();

            string spacer = new string(' ', 5 * (8 - cardCnt) + cardCnt + 1);

            StringBuilder[] zoneStrArray = new[]
            {
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
            };

            char[][] cardAscii = new CardAsciiBuilder().Create()
                                 .Name(hero.Card.Name)
                                 .Exhausted(hero.IsExhausted)
                                 .HeroPowerExhausted(hero.Power.IsExhausted)
                                 .AttackDamage(hero.AttackDamage)
                                 .Health(hero.Health)
                                 .HeroWeaponAttackDamage(hero.Weapon?.AttackDamage ?? 0)
                                 .HeroWeaponDurability(hero.Weapon?.Durability ?? 0)
                                 .Health(hero.Health)
                                 .Windfury(hero.HasWindfury)
                                 .Windfury(hero.IsFrozen)
                                 .Build();

            int x = turn ? 1 : 0;

            zoneStrArray[0 + x].Append(new string(cardAscii[0]));
            zoneStrArray[1 + x].Append(new string(cardAscii[1]));
            zoneStrArray[2 + x].Append(new string(cardAscii[2]));
            zoneStrArray[3 + x].Append(new string(cardAscii[3]) + " " + hero.Power.Card.AbbreviatedName(7));
            zoneStrArray[4 + x].Append(new string(cardAscii[4]));
            zoneStrArray[turn ? 0 : 5].Append(new string(cardAscii[5]) + " " + (hero.Controller == hero.Game.CurrentPlayer ? " <<==" : "     "));
            zoneStrArray[0].Append(" ");
            zoneStrArray[1].Append(" ");
            zoneStrArray[2].Append(" ");
            zoneStrArray[3].Append(" ");
            zoneStrArray[4].Append(" ");
            zoneStrArray[5].Append(" ");

            char[][] zoneAscii = new CardAsciiBuilder().Create().ZoneCards(hero.Controller.SecretZone.Count, hero.Controller.SecretZone.Type).Build();

            int y = turn ? 1 : 0;

            string[] backStrArray = new[] { "", "", "", "", "", "" };
            backStrArray[0 + y]        = new string(zoneAscii[0]);
            backStrArray[1 + y]        = new string(zoneAscii[1]);
            backStrArray[2 + y]        = new string(zoneAscii[2]);
            backStrArray[3 + y]        = new string(zoneAscii[3]);
            backStrArray[4 + y]        = new string(zoneAscii[4]);
            backStrArray[turn ? 0 : 5] = new string(zoneAscii[5]);

            zoneStr.Append(zoneStrArray[0 + y].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[0] + " ¦"));
            zoneStr.Append(zoneStrArray[1 + y].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[1] + " ¦"));
            zoneStr.Append(zoneStrArray[2 + y].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[2] + " ¦"));
            zoneStr.Append(zoneStrArray[3 + y].AppendLine(spacer.Substring(9) + "¦ " + backStrArray[3] + " ¦"));
            zoneStr.Append(zoneStrArray[4 + y].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[4] + " ¦"));
            zoneStr.Append(zoneStrArray[turn ? 0 : 5].AppendLine(spacer.Substring(7) + "¦ " + backStrArray[5] + " ¦"));
            return(zoneStr.ToString());
        }
コード例 #3
0
        private static string CreateZone(IZone zone, IZone outzone, bool turn)
        {
            var zoneStr = new StringBuilder();

            string spacer = zone.Count == 10 ? new string(' ', 1) : new string(' ', 5 * (8 - zone.Count) + zone.Count + 1);

            StringBuilder[] zoneStrArray = new StringBuilder[]
            {
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
                new StringBuilder("¦" + spacer),
            };
            for (int i = 0; i < zone.Count; i++)
            {
                char[][] cardAscii = new char[6][];

                var spell  = zone[i] as Spell;
                var minion = zone[i] as Minion;
                var weapon = zone[i] as Weapon;

                if (spell != null)
                {
                    cardAscii = new CardAsciiBuilder().Create()
                                .Name(spell.Card.AbbreviatedName(7))
                                .Cost(spell.Cost)
                                .SpellText(Regex.Replace(spell.Card.Text, @"<[^>]*>", "").Replace(Environment.NewLine, ""))
                                .Type(CardType.SPELL)
                                .Build();
                }
                else if (minion != null)
                {
                    cardAscii = new CardAsciiBuilder().Create()
                                .Name(minion.Card.AbbreviatedName(7))
                                .Cost(minion.Cost)
                                .Type(minion.Card.Type)
                                .AttackDamage(minion.AttackDamage)
                                .Health(minion.Health)
                                .Spellpower(minion[GameTag.SPELLPOWER])
                                .Deathrattle(minion.HasDeathrattle)
                                .Battlecry(minion.HasBattleCry)
                                .Inspire(minion.HasInspire)
                                .Poisonus(minion[GameTag.POISONOUS] == 1)
                                .Silenced(minion.IsSilenced)
                                .Freeze(minion[GameTag.FREEZE] == 1)
                                .Charge(minion.HasCharge)
                                .Taunt(minion.HasTaunt)
                                .Stealth(minion.HasStealth)
                                .Enrage(minion.IsEnraged)
                                .Frozen(minion.IsFrozen)
                                .DivineShield(minion.HasDivineShield)
                                .Windfury(minion.HasWindfury)
                                .Exhausted(minion.IsExhausted)
                                .Build();
                }
                else if (weapon != null)
                {
                    cardAscii = new CardAsciiBuilder().Create()
                                .Name(weapon.Card.AbbreviatedName(7))
                                .Cost(weapon.Cost)
                                .Type(weapon.Card.Type)
                                .AttackDamage(weapon.AttackDamage)
                                .Durability(weapon.Durability)
                                .Deathrattle(weapon[GameTag.DEATHRATTLE] == 1)
                                .Battlecry(weapon[GameTag.BATTLECRY] == 1)
                                .Windfury(weapon[GameTag.WINDFURY] == 1)
                                .Exhausted(weapon.IsExhausted)
                                .Build();
                }

                int x = turn ? 1 : 0;
                zoneStrArray[0 + x].Append(new string(cardAscii[0]));
                zoneStrArray[1 + x].Append(new string(cardAscii[1]));
                zoneStrArray[2 + x].Append(new string(cardAscii[2]));
                zoneStrArray[3 + x].Append(new string(cardAscii[3]));
                zoneStrArray[4 + x].Append(new string(cardAscii[4]));
                zoneStrArray[turn ? 0 : 5].Append(new string(cardAscii[5]));

                if (i < zone.Count)
                {
                    zoneStrArray[0].Append(" ");
                    zoneStrArray[1].Append(" ");
                    zoneStrArray[2].Append(" ");
                    zoneStrArray[3].Append(" ");
                    zoneStrArray[4].Append(" ");
                    zoneStrArray[5].Append(" ");
                }
            }

            string[] backStrArray = new string[] { "", "", "", "", "", "" };

            char[][] zoneAscii = new CardAsciiBuilder().Create().ZoneCards(outzone.Count, outzone.Type).Build();
            int      y         = turn ? 1 : 0;

            backStrArray[0 + y]        = new string(zoneAscii[0]);
            backStrArray[1 + y]        = new string(zoneAscii[1]);
            backStrArray[2 + y]        = new string(zoneAscii[2]);
            backStrArray[3 + y]        = new string(zoneAscii[3]);
            backStrArray[4 + y]        = new string(zoneAscii[4]);
            backStrArray[turn ? 0 : 5] = new string(zoneAscii[5]);

            zoneStr.Append(zoneStrArray[0].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[0] + " ¦"));
            zoneStr.Append(zoneStrArray[1].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[1] + " ¦"));
            zoneStr.Append(zoneStrArray[2].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[2] + " ¦"));
            zoneStr.Append(zoneStrArray[3].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[3] + " ¦"));
            zoneStr.Append(zoneStrArray[4].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[4] + " ¦"));
            zoneStr.Append(zoneStrArray[5].AppendLine(spacer.Substring(1) + "¦ " + backStrArray[5] + " ¦"));
            return(zoneStr.ToString());
        }