public void AddShaman(Shaman shaman) { if (ShamanList.Count == 0) { shaman.SetPlayerState(true); } ShamanList.Add(shaman); }
// Use this for initialization void Start() { panel = GetComponent <Image>(); panelText = GetComponentInChildren <Text>(); continueButton = transform.GetChild(1).gameObject; cavemanThrow = FindObjectOfType <Caveman_Throw>(); words = messages[wordTracker].MessageText; continueButton.SetActive(false); shaman = FindObjectOfType <Shaman>(); spawnEnemies = FindObjectOfType <SpawnEnemies>(); cavemanMovement = FindObjectOfType <EnabledCaveman>(); soulCounter = FindObjectOfType <SoulCounter>(); runes = FindObjectOfType <ActivateRunes>(); }
static void Main(string[] args) { //TelegramMaster insomnia = new TelegramMaster(); //ProceduralDungeon pd = new ProceduralDungeon(); Shaman shaman = new Shaman(); Assassin ass = new Assassin(); Npc goblin = new Goblin(); Npc goblin2 = new Goblin(); List <Player> players = new List <Player>() { shaman, ass }; List <Npc> npcs = new List <Npc>() { goblin, goblin2 }; PlayerAI bs = new PlayerAI(players, goblin); }
static void Main(string[] args) { Console.WriteLine($"Loading mods from {Environment.CurrentDirectory}"); var unitsMod = UnitLoader.LoadUnits(); Console.WriteLine($"Loaded {unitsMod.Count()} units: {unitsMod}"); var devil = unitsMod.First(); var angel = new Angel(); var lich = new Lich(); var shaman = new Shaman(); var fury = new Fury(); var cyclops = new Cyclops(); var menu = new Menu(new List <Unit>() { devil, angel, lich, shaman, fury, cyclops }); menu.Start(); }
static void Main(string[] args) { bool includeFatigue = true; Hero p1 = new Shaman(); Hero p2 = new Shaman(); Hero winner = null; for (int turn = 1; turn < MaxTurns; turn++) { int mana = Math.Min(turn, Hero.MaxMana); int damageToP2 = p1.TakeTurn(mana, includeFatigue); if (p1.IsDead) { winner = p2; break; } p2.ReceiveDamage(damageToP2, p1.GetDamageType()); if (p2.IsDead) { winner = p1; break; } int damageToP1 = p2.TakeTurn(mana, includeFatigue); if (p2.IsDead) { winner = p1; break; } p1.ReceiveDamage(damageToP1, p2.GetDamageType()); if (p1.IsDead) { winner = p2; break; } } string winningPlayer = null; if (winner == p1) { winningPlayer = "Player 1"; } else if (winner == p2) { winningPlayer = "Player 2"; } else { winningPlayer = "Neither player"; } //in the form "HeroPowerBattleCalculator.CLASSNAME" string className = winner?.GetType().ToString() ?? "No class"; string[] separatedNamespaceAndClass = className.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries); Debug.Assert(separatedNamespaceAndClass.Length == 2); Console.WriteLine($"{winningPlayer} ({separatedNamespaceAndClass[1]}) wins!"); }
private void AddShamanLoss(HSCounter hsc) { Shaman shaman = new Shaman(); shaman.LoseButton_Clicked(hsc); }
private void AddShamanWin(HSCounter hsc) { Shaman shaman = new Shaman(); shaman.WinButton_Clicked(hsc); }
public UserContext InitFirstUserContext(List <Card> cardGroup) { PlayerModel firstPlayer = new PlayerModel() { UserCode = "firstPlayer", }; UserContext first = new UserContext() { UserCode = firstPlayer.UserCode, Player = firstPlayer, IsActivation = true, IsFirst = true, AllCards = new List <Card>(), Power = 10, FullPower = 10, RemainingHeroPowerCastCount = 1, SwitchDone = true, }; List <UserCardGroupDetailModel> firstCardGroup = new List <UserCardGroupDetailModel>(); foreach (string cardCode in cardGroup.Select(c => c.CardCode)) { firstCardGroup.Add(new UserCardGroupDetailModel() { CardCode = cardCode }); } foreach (var cg in firstCardGroup) { Card libCard = CardsUtil.AllCard.First(c => c.CardCode == cg.CardCode); var card = Activator.CreateInstance(libCard.GetType()) as Card; card.CardInGameCode = cardInGameIndex.ToString(); card.IsFirstPlayerCard = true; first.AllCards.Add(card); cardInGameIndex++; } BaseHero firstHero = null; switch (first.AllCards.First(c => c.CardType == CardType.英雄).GetType().Name) { case "Druid": firstHero = new Druid(); break; case "Hunter": firstHero = new Hunter(); break; case "Mage": firstHero = new Mage(); break; case "Paladin": firstHero = new Paladin(); break; case "Priest": firstHero = new Priest(); break; case "Rogue": firstHero = new Rogue(); break; case "Shaman": firstHero = new Shaman(); break; case "Warlock": firstHero = new Warlock(); break; case "Warrior": firstHero = new Warrior(); break; } cardInGameIndex++; firstHero.CardLocation = CardLocation.场上; firstHero.CardInGameCode = cardInGameIndex.ToString(); firstHero.DeskIndex = 0; firstHero.IsFirstPlayerCard = true; first.AllCards[first.AllCards.FindIndex(c => c.CardType == CardType.英雄)] = firstHero; return(first); }
public UserContext InitSecondUserContext(List <Card> cardGroup) { shortCodeService.CreateCode().Returns(DateTime.Now.Ticks.ToString()); PlayerModel secondPlayer = new PlayerModel() { UserCode = "secondPlayer", }; UserContext second = new UserContext() { UserCode = secondPlayer.UserCode, Player = secondPlayer, IsActivation = false, IsFirst = false, AllCards = new List <Card>(), Power = 10, FullPower = 10, RemainingHeroPowerCastCount = 1, SwitchDone = true, }; List <UserCardGroupDetailModel> secondCardGroup = new List <UserCardGroupDetailModel>(); foreach (string cardCode in cardGroup.Select(c => c.CardCode)) { secondCardGroup.Add(new UserCardGroupDetailModel() { CardCode = cardCode }); } foreach (var cg in secondCardGroup) { Card libCard = CardsUtil.AllCard.First(c => c.CardCode == cg.CardCode); var card = Activator.CreateInstance(libCard.GetType()) as Card; card.CardInGameCode = cardInGameIndex.ToString(); card.IsFirstPlayerCard = false; second.AllCards.Add(card); cardInGameIndex++; } BaseHero secondHero = null; switch (second.AllCards.First(c => c.CardType == CardType.英雄).GetType().Name) { case "Druid": secondHero = new Druid(); break; case "Hunter": secondHero = new Hunter(); break; case "Mage": secondHero = new Mage(); break; case "Paladin": secondHero = new Paladin(); break; case "Priest": secondHero = new Priest(); break; case "Rogue": secondHero = new Rogue(); break; case "Shaman": secondHero = new Shaman(); break; case "Warlock": secondHero = new Warlock(); break; case "Warrior": secondHero = new Warrior(); break; } cardInGameIndex++; secondHero.CardLocation = CardLocation.场上; secondHero.CardInGameCode = cardInGameIndex.ToString(); secondHero.DeskIndex = 8; secondHero.IsFirstPlayerCard = false; second.AllCards[second.AllCards.FindIndex(c => c.CardType == CardType.英雄)] = secondHero; return(second); }
public void GameStart(GameModel game, PlayerModel firstPlayer, PlayerModel secondPlayer, List <UserCardGroupDetailModel> firstCardGroup, List <UserCardGroupDetailModel> secondCardGroup, string firstUserProfession, string secondUserProfession) { #region 加载玩家卡组 UserContext firstUser = new UserContext { UserCode = firstPlayer.UserCode, Player = firstPlayer, IsActivation = true, IsFirst = true, AllCards = new List <Card>() }; List <Card> lstCardLib = _gameCache.GetAllCard(); int cardInGameIndex = 0; foreach (var cg in firstCardGroup) { Card libCard = lstCardLib.First(c => c.CardCode == cg.CardCode); var card = Activator.CreateInstance(libCard.GetType()) as Card; card.CardInGameCode = cardInGameIndex.ToString(); card.IsFirstPlayerCard = true; firstUser.AllCards.Add(card); cardInGameIndex++; } UserContext secondUser = new UserContext { UserCode = secondPlayer.UserCode, Player = secondPlayer, IsActivation = true, IsFirst = false, AllCards = new List <Card>() }; secondCardGroup.ForEach(delegate(UserCardGroupDetailModel detail) { Card libCard = lstCardLib.First(c => c.CardCode == detail.CardCode); var card = Activator.CreateInstance(libCard.GetType()) as Card; card.CardInGameCode = cardInGameIndex.ToString(); card.IsFirstPlayerCard = false; secondUser.AllCards.Add(card); cardInGameIndex++; }); //secondUser.StockCards = secondUser.AllCards; GameContext = new GameContext { Players = new List <UserContext>(), DeskCards = null, GameCode = game.GameCode, CurrentTurnCode = game.CurrentTurnCode, NextTurnCode = game.NextTurnCode, GameStatus = GameStatus.进行中, GameCache = _gameCache }; GameContext.Players.Add(firstUser); GameContext.Players.Add(secondUser); #endregion #region 初始化开场选牌 int firstPickUpCount = 4; List <int> lstRndIndex = RandomUtil.CreateRandomInt(0, GameContext.Players.First(c => c.IsFirst).AllCards.Count - 1, firstPickUpCount); for (int i = 0; i < lstRndIndex.Count; i++) { if (i < lstRndIndex.Count - 1) { //lstFirstPickUpCard.Add(GameContext.Players.First(c => c.IsFirst).AllCards[lstRndIndex[i]]); GameContext.Players.First(c => c.IsFirst).AllCards[lstRndIndex[i]].CardLocation = CardLocation.InitCard; } //lstSecondPickUpCard.Add(GameContext.Players.First(c => c.IsFirst == false).AllCards[lstRndIndex[i]]); GameContext.Players.First(c => c.IsFirst == false).AllCards[lstRndIndex[i]].CardLocation = CardLocation.InitCard; } BaseHero firstHero = null, secondHero = null; switch (firstUserProfession) { case "Druid": firstHero = new Druid(); break; case "Hunter": firstHero = new Hunter(); break; case "Mage": firstHero = new Mage(); break; case "Paladin": firstHero = new Paladin(); break; case "Priest": firstHero = new Priest(); break; case "Rogue": firstHero = new Rogue(); break; case "Shaman": firstHero = new Shaman(); break; case "Warlock": firstHero = new Warlock(); break; case "Warrior": firstHero = new Warrior(); break; } switch (secondUserProfession) { case "Druid": secondHero = new Druid(); break; case "Hunter": secondHero = new Hunter(); break; case "Mage": secondHero = new Mage(); break; case "Paladin": secondHero = new Paladin(); break; case "Priest": secondHero = new Priest(); break; case "Rogue": secondHero = new Rogue(); break; case "Shaman": secondHero = new Shaman(); break; case "Warlock": secondHero = new Warlock(); break; case "Warrior": secondHero = new Warrior(); break; } cardInGameIndex++; firstHero.CardLocation = CardLocation.场上; firstHero.CardInGameCode = cardInGameIndex.ToString(); firstHero.DeskIndex = 0; firstHero.IsFirstPlayerCard = true; firstUser.AllCards.Add(firstHero); cardInGameIndex++; secondHero.CardLocation = CardLocation.场上; secondHero.CardInGameCode = cardInGameIndex.ToString(); secondHero.DeskIndex = 8; secondHero.IsFirstPlayerCard = false; secondUser.AllCards.Add(secondHero); GameContext.DeskCards = new DeskBoard() { firstHero, null, null, null, null, null, null, null, secondHero, null, null, null, null, null, null, null }; #endregion GameContext.Settlement(); _gameCache.SetContext(GameContext); }
internal static void DoRotation() { if (DetectKeyPress.GetKeyState(DetectKeyPress.Shift) < 0) { return; } if (DetectKeyPress.GetKeyState(DetectKeyPress.Z) < 0) { Rotation.ChangeRotation(); } if (ObjectManager.LocalPlayer.IsMounted) { return; } switch (ObjectManager.LocalPlayer.Class) { case WowUnit.WowUnitClass.Paladin: //Paladin.DoPaladin(); break; case WowUnit.WowUnitClass.Warrior: Warrior.DoWarrior(); break; case WowUnit.WowUnitClass.Hunter: Hunter.DoHunter(); break; case WowUnit.WowUnitClass.Druid: Druid.DoDruid(); break; case WowUnit.WowUnitClass.Shaman: Shaman.DoShaman(); break; case WowUnit.WowUnitClass.Rogue: Rogue.DoRogue(); break; case WowUnit.WowUnitClass.Priest: Priest.DoPriest(); break; case WowUnit.WowUnitClass.DeathKnight: DeathKnight.DoDeathKnight(); break; case WowUnit.WowUnitClass.Mage: Mage.DoMage(); break; case WowUnit.WowUnitClass.Warlock: Warlock.DoWarlock(); break; case WowUnit.WowUnitClass.Monk: Monk.DoMonk(); break; } }
private void Awake() { caveman = GameObject.FindObjectOfType <EnabledCaveman>(); shaman = GameObject.FindObjectOfType <Shaman>(); dw = GameObject.FindObjectOfType <DialogueWindow>(); }
public void SetClass(Unit player) { while (true) { string input = Console.ReadLine(); if (input == "Warrior") { Warrior warrior = new Warrior(); warrior.StatIncrement(player, warrior); WarriorSpellRepository repos = new WarriorSpellRepository(player); repos.SpellRepositoryInitilization(player, repos); break; } if (input == "Mage") { Mage mage = new Mage(); mage.StatIncrement(player, mage); MageSpellRepository repos = new MageSpellRepository(player); repos.SpellRepositoryInitilization(player, repos); break; } if (input == "Paladin") { Paladin paladin = new Paladin(); paladin.StatIncrement(player, paladin); PaladinSpellRepository repos = new PaladinSpellRepository(player); repos.SpellRepositoryInitilization(player, repos); break; } if (input == "Necroid") { Necroid necroid = new Necroid(); necroid.StatIncrement(player, necroid); NecroidSpellRepository repos = new NecroidSpellRepository(player); repos.SpellRepositoryInitilization(player, repos); break; } if (input == "Hunter") { Hunter hunter = new Hunter(); hunter.StatIncrement(player, hunter); HunterSpellRepository repos = new HunterSpellRepository(player); repos.SpellRepositoryInitilization(player, repos); break; } if (input == "Rogue") { Rogue rogue = new Rogue(); rogue.StatIncrement(player, rogue); RogueSpellRepository repos = new RogueSpellRepository(player); repos.SpellRepositoryInitilization(player, repos); break; } if (input == "Naturalist") { Naturalist naturalist = new Naturalist(); naturalist.StatIncrement(player, naturalist); NaturalistSpellRepository repos = new NaturalistSpellRepository(player); repos.SpellRepositoryInitilization(player, repos); break; } if (input == "Priest") { Priest priest = new Priest(); priest.StatIncrement(player, priest); PriestSpellRepository repos = new PriestSpellRepository(player); repos.SpellRepositoryInitilization(player, repos); break; } if (input == "Shaman") { Shaman shaman = new Shaman(); shaman.StatIncrement(player, shaman); ShamanSpellRepository repos = new ShamanSpellRepository(player); repos.SpellRepositoryInitilization(player, repos); break; } else { Console.WriteLine($"{input} is not a valid class!Please insert a valid class."); continue; } } }