Пример #1
0
        public Warrior(bool isBoss, GameSessionViewModel _gameSessionViewModel, GameSessionView GSV) : base(_gameSessionViewModel, GSV)
        {
            this.Level = _level;
            double newHealth = Level + (Level * 2.6);

            this.Health    = newHealth;
            this.IsAlive   = true;
            this.MaxHealth = newHealth;
            GSV.EnemyHealthDisplay.Maximum = newHealth;
            GSV.EnemyHealthDisplay.Value   = newHealth;
            this.BaseAttack = this.BaseAttack += (this.Level / 100) + .50;

            Random ranXPDrop = new Random();

            this.XPDrop = ranXPDrop.Next(35, 60);
            Random goldRan = new Random();

            this.GoldDrop     = goldRan.Next(8, 14);
            this._imageString = "warrior-icon.png";
            this.Name         = "Warrior";
            _gameSessionViewModel.CurrentEnemyID += 1;
            this.ID = _gameSessionViewModel.CurrentEnemyID;

            BasicHealingPotion potion    = new BasicHealingPotion(_gameSessionViewModel, GSV);
            Excalibur          excalibur = new Excalibur(_gameSessionViewModel, GSV);
            RubySword          rubySword = new RubySword(_gameSessionViewModel, GSV);

            this.ItemDrop.Add(potion);
            this.ItemDrop.Add(excalibur);
            this.ItemDrop.Add(rubySword);
            //
            // if passed isBoss bool value is true, then set the property to true, otherwise set the property to false
            //
            isBoss = true ? IsBoss = isBoss : IsBoss = isBoss;
        }
Пример #2
0
        public void BookOfWisdomWorksForWizards()
        {
            Scenario scenario = new Scenario();
            Wizard   gandalf  = new Wizard();
            Orc      orc      = new Orc();

            Excalibur sword = new Excalibur();

            gandalf.AddItem(sword);

            List <CharacterClass> heroes = new List <CharacterClass>()
            {
                gandalf
            };
            List <CharacterClass> villains = new List <CharacterClass>()
            {
                orc
            };

            BattleEncounter battle = new BattleEncounter(heroes, villains);

            List <List <CharacterClass> > everything = battle.PlayEncounter();

            Assert.AreEqual($"-{everything[1][0].Name} has been slain by {everything[0][0].Name}", everything[0][0].Registres.ShowRegistres());
        }
Пример #3
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.J))
     {
         Card exc = new Excalibur(10, 0, 10, null);
         List <GameObject> targets = new List <GameObject>();
         targets.Add(GODices[0]);
         exc.Cast(targets);
     }
 }
Пример #4
0
        public void NonWizardCantUseMagicalItemsTest()
        {
            Dwarf gimli = new Dwarf();

            Excalibur sword = new Excalibur();

            gimli.AddItem(sword);

            Assert.AreEqual(0, gimli.ItemList.Count);
        }
Пример #5
0
        public void WizardsCanUseMagicalItemsTest()
        {
            Wizard gandalf = new Wizard();

            Excalibur excalibur = new Excalibur();

            gandalf.AddItem(excalibur);

            Assert.AreEqual(1, gandalf.ItemList.Count);
        }
Пример #6
0
    public void SpawnExcalibur()
    {
        GameObject gameObject = Instantiate(Resources.Load("Excalibur") as GameObject);
        Excalibur  excalibur  = gameObject.GetComponent <Excalibur>();

        excalibur.owner = null;
        MapController.instance.map[3, 5].hoverCharacter = excalibur;
        excalibur.actualCell          = MapController.instance.map[3, 5];
        gameObject.transform.position = new Vector3(player1.castleCells[0].transform.position.x, player1.castleCells[0].transform.position.y, -9.6f);
        excalibur.Move(excalibur.actualCell);
    }
Пример #7
0
        public void AsclepiosWandTest()
        {
            AsclepiosWand wand  = new AsclepiosWand();
            Excalibur     sword = new Excalibur();
            Dwarf         gimli = new Dwarf();

            gimli.AddItem(wand);
            gimli.AddItem(sword);

            gimli.UseAsclepiosWand(wand, sword);

            Assert.AreEqual(1, gimli.ItemList.Count);
        }
Пример #8
0
        public Bandit(bool isBoss, GameSessionViewModel _gameSessionViewModel, GameSessionView GSV) : base(_gameSessionViewModel, GSV)
        {
            //
            // Can possibly move most of this stuff into the enemy class constructor
            //
            this.Level   = _level;
            this.IsAlive = true;
            double newHealth = Level + (Level * 2.6);

            this.Health    = newHealth;
            this.MaxHealth = newHealth;
            GSV.EnemyHealthDisplay.Value   = newHealth;
            GSV.EnemyHealthDisplay.Maximum = newHealth;
            Random lvlRan = new Random();

            this.Level = lvlRan.Next(15, 18);
            Random ran = new Random();

            this.GoldDrop     = ran.Next(10, 19);
            this._imageString = "Bandit.png";
            Random ranXPDrop = new Random();

            this.XPDrop     = ranXPDrop.Next(20, 35);
            this.Name       = "Bandit";
            this.BaseAttack = this.BaseAttack += (this.Level / 100) + .75;
            _gameSessionViewModel.CurrentEnemyID += 1;
            this.ID = _gameSessionViewModel.CurrentEnemyID;

            //
            // Lootable items
            //
            BasicHealingPotion potion    = new BasicHealingPotion(_gameSessionViewModel, GSV);
            Excalibur          excalibur = new Excalibur(_gameSessionViewModel, GSV);
            RubySword          rubySword = new RubySword(_gameSessionViewModel, GSV);

            this.ItemDrop.Add(potion);
            this.ItemDrop.Add(excalibur);

            this.ItemDrop.Add(rubySword);

            //
            // if passed isBoss bool value is true, then set the property to true, otherwise set the property to false
            //
            isBoss = true ? IsBoss = isBoss : IsBoss = isBoss;
        }
Пример #9
0
        public void TestQuestParticipation()
        {
            QuestMatch game = ScenarioCreator.GameNoDeal(1);

            game.AttachLogger(new Quest.Core.Logger("TestQuestParticipation"));
            Player aiPlayer = game.Players[0];

            aiPlayer.Behaviour = new Strategy2();

            RescueTheFairMaiden quest = new RescueTheFairMaiden(game); // 3 stages.

            game.CurrentStory = quest;

            // Make player knight, 10 BP.
            aiPlayer.Rank.AddShields(5);

            // Test cards.
            KingArthur  arthur      = new KingArthur(game);  // 10 BP.
            SirLancelot lancelot    = new SirLancelot(game); // 15 BP.
            SirGalahad  galahad     = new SirGalahad(game);  // 15 BP.
            Boar        boar        = new Boar(game);        // 5 BP, should be discarded.
            Thieves     thieves     = new Thieves(game);     // 5 BP, should be discarded.
            BlackKnight blackKnight = new BlackKnight(game); // 25 BP, should not be discarded.
            Excalibur   excalibur   = new Excalibur(game);   // +30 BP.
            Lance       lance       = new Lance(game);       // + 20 BP.

            // Cannot increase for all 3 stages, expect false.
            aiPlayer.Hand.Add(boar);
            aiPlayer.Hand.Add(thieves);
            aiPlayer.Hand.Add(blackKnight);
            aiPlayer.Hand.Add(arthur);
            aiPlayer.Hand.Add(lancelot);
            aiPlayer.Hand.Add(galahad);
            Assert.IsFalse(aiPlayer.Behaviour.ParticipateInQuest(quest, aiPlayer.Hand));

            // Add weapons, expect true.
            aiPlayer.Hand.Add(excalibur);
            aiPlayer.Hand.Add(lance);
            Assert.IsTrue(aiPlayer.Behaviour.ParticipateInQuest(quest, aiPlayer.Hand));

            // Remove discardable foe less than 25 BP, expect false.
            aiPlayer.Hand.Remove(boar);
            Assert.IsFalse(aiPlayer.Behaviour.ParticipateInQuest(quest, aiPlayer.Hand));
        }
        public void Setup()
        {
            Armor armor = new Armor();
            DefaultDefenseItem defaultDefenseItem = new DefaultDefenseItem();
            Helmet             helmet             = new Helmet();
            Shield             shield             = new Shield();

            //attackItems
            Axe               axe               = new Axe();
            Bow               bow               = new Bow();
            DarkSword         darkSword         = new DarkSword();
            Sword             sword             = new Sword();
            DefaultAttackItem defaultAttackItem = new DefaultAttackItem();

            //healthItems
            Bandage bandage = new Bandage();
            CureBox cureBox = new CureBox();
            Poison  poison  = new Poison();

            //magicItems
            DefaultMagicItem defaultMagicItem = new DefaultMagicItem();
            Excalibur        excalibur        = new Excalibur();
            SpellsBook       spellsBook       = new SpellsBook();
            Spell            spell1           = new Spell();
            Spell            spell2           = new Spell();

            Staff staff = new Staff();


            //heroes
            Dwarf  dwarf  = new Dwarf("Enano", axe, helmet, shield);
            Elf    elf    = new Elf("Elfo", bow, armor, helmet);
            Knight knight = new Knight("Caballero", sword, armor, shield);
            Wizard wizard = new Wizard("Gandalf", staff, shield, armor, spellsBook);

            //villanos
            DarkWizard darkWizard = new DarkWizard("Saruman", staff, armor, spellsBook);
            Demonio    demonio    = new Demonio("Lanthos", sword, armor);
            Dragon     dragon     = new Dragon("Shiva", bow, armor);
            Orco       orco       = new Orco("Ugly", axe, helmet);
        }
Пример #11
0
        public void AddBuyables()
        {
            BasicHealingPotion potion  = new BasicHealingPotion(gsm, gsv);
            BasicHealingPotion potion2 = new BasicHealingPotion(gsm, gsv);
            BasicHealingPotion potion3 = new BasicHealingPotion(gsm, gsv);
            BasicHealingPotion potion4 = new BasicHealingPotion(gsm, gsv);
            VestOfProtection   vest    = new VestOfProtection(gsm, gsv);

            vest.Value = 10;
            RubySword RubySword   = new RubySword(gsm, gsv);
            Staff     Magic_Staff = new Staff(gsm, gsv);
            Excalibur Excalibur   = new Excalibur(gsm, gsv);

            Buyables.Add(vest);
            Buyables.Add(Magic_Staff);
            Buyables.Add(potion);
            Buyables.Add(potion2);
            Buyables.Add(potion3);
            Buyables.Add(potion4);
            Buyables.Add(RubySword);
            Buyables.Add(Excalibur);
        }
Пример #12
0
        private void WriteKKCSV(string KKCSVName)
        {
            // save the current settings to KK.csv
            List <string> lines = new List <string>();        // create a List<string> to hold all the output lines

            // each line of the output file, in output order
            lines.Add("Users Call," + Your_call);
            lines.Add("KKDevice," + ((int)KKDevice).ToString());
            lines.Add("Band," + BandSelect.Text);
            lines.Add("Sample Rate," + SampleRate);
            lines.Add("Step Size," + stepSize.Text);
            lines.Add("Mode," + Mode.Text);
            lines.Add("Volume," + VolumeTrackBar.Value);
            lines.Add("Bandwidth," + BandwidthTrackBar.Value);
            lines.Add("Last Freq 160m," + set_frequency_160);
            lines.Add("Last Freq 80m," + set_frequency_80);
            lines.Add("Last Freq 40m," + set_frequency_40);
            lines.Add("Last Freq 30m," + set_frequency_30);
            lines.Add("Last Freq 20m," + set_frequency_20);
            lines.Add("Last Freq 17m," + set_frequency_17);
            lines.Add("Last Freq 15m," + set_frequency_15);
            lines.Add("Last Freq 12m," + set_frequency_12);
            lines.Add("Last Freq 10m," + set_frequency_10);
            lines.Add("Last Freq 6m," + set_frequency_6);
            lines.Add("Last Freq GC," + set_frequency_GC);
            lines.Add("Last frequency," + trackBarSetFrequency.Value);
            // we need to store the following controls as true or false, first we convert from bool to a string
            lines.Add("ANF," + (ANF.Checked).ToString());
            lines.Add("NR," + (NR.Checked).ToString());
            lines.Add("NB1," + (NB1.Checked).ToString());
            lines.Add("NB2," + (NB2.Checked).ToString());
            lines.Add("NB1 Threshold," + rcvr.BlockNBThreshold.ToString(nfi)); // use nfi to make floats region independent
            lines.Add("NB2 Threshold," + rcvr.AveNBThreshold.ToString(nfi));
            lines.Add("Bandscope Average," + rcvr.PowerSpectrumAveragingOn.ToString());
            lines.Add("Bandscope Smooth," + rcvr.PowerSpectrumSmoothingFactor.ToString(nfi));
            lines.Add("Rate," + Rate.ToString());
            // save the preamp setting for each band
            lines.Add("Preamp 160," + Preamp_160.ToString());
            lines.Add("Preamp 80," + Preamp_80.ToString());
            lines.Add("Preamp 40," + Preamp_40.ToString());
            lines.Add("Preamp 30," + Preamp_30.ToString());
            lines.Add("Preamp 20," + Preamp_20.ToString());
            lines.Add("Preamp 17," + Preamp_17.ToString());
            lines.Add("Preamp 15," + Preamp_15.ToString());
            lines.Add("Preamp 12," + Preamp_12.ToString());
            lines.Add("Preamp 10," + Preamp_10.ToString());
            lines.Add("Preamp 6," + Preamp_6.ToString());
            lines.Add("Preamp GC," + Preamp_GC.ToString());
            // end of original kk.csv file. beginning of values that LookupKKCSVValue should be used on
            lines.Add("ANFAdaptiveFilterSize," + ANFAdaptiveFilterSize.ToString(nfi));
            lines.Add("ANFDelay," + ANFDelay.ToString(nfi));
            lines.Add("ANFAdaptationRate," + ANFAdaptationRate.ToString(nfi));
            lines.Add("ANFLeakage," + ANFLeakage.ToString(nfi));
            lines.Add("NRAdaptiveFilterSize," + NRAdaptiveFilterSize.ToString(nfi));
            lines.Add("NRDelay," + NRDelay.ToString(nfi));
            lines.Add("NRAdaptationRate," + NRAdaptationRate.ToString(nfi));
            lines.Add("NRLeakage," + NRLeakage.ToString(nfi));
            lines.Add("Bandscope Grid Max," + GridMax.ToString(nfi));
            lines.Add("Bandscope Grid Min," + GridMin.ToString(nfi));
            lines.Add("Bandscope Grid Step," + GridStep.ToString(nfi));

            lines.Add("AGC Speed," + AGCSpeed.Text);
            lines.Add("AGC Fixed Gain," + AGCFixedGainDB.ToString(nfi));
            lines.Add("AGC Hang Threshold," + AGCHangThreshold.ToString(nfi));
            lines.Add("AGC Max Gain," + AGCMaximumGainDB.ToString(nfi));
            lines.Add("AGC Slope," + AGCSlope.ToString(nfi));
            lines.Add("AGC Attack Time," + UserAGCAttackTime.ToString(nfi)); // only variable for 'user' AGC
            lines.Add("AGC Decay Time," + UserAGCDecayTime.ToString(nfi));   // only variable for 'user' AGC
            lines.Add("AGC Hang Time," + UserAGCHangTime.ToString(nfi));     // only variable for 'user' AGC

            lines.Add("WaterfallHigh," + WaterfallHighThreshold.ToString(nfi));
            lines.Add("WaterfallLow," + WaterfallLowThreshold.ToString(nfi));
            lines.Add("WaterFall AGC," + WaterfallAGC.ToString(nfi));

            lines.Add("Squelch level," + Squelch_level.Value.ToString(nfi));

            lines.Add("Hermes," + Hermes.ToString(nfi));
            lines.Add("PennyLane," + PennyLane.ToString(nfi));
            lines.Add("Penny Present," + PenneyPresent.ToString(nfi));
            lines.Add("Mic Gain 20dB," + MicGain20dB.ToString(nfi));
            lines.Add("Atlas 10MHz," + Atlas10MHz.ToString(nfi));
            lines.Add("Mercury 10MHz," + Mercury10MHz.ToString(nfi));
            lines.Add("Penelope 10MHz," + Penelope10MHz.ToString(nfi));
            lines.Add("Excalibur Present," + Excalibur.ToString(nfi));

            lines.Add("Tx Filter High," + TxFilterHigh.ToString(nfi));
            lines.Add("Tx Filter Low," + TxFilterLow.ToString(nfi));

            lines.Add("Drive Level," + DriveLevel.Value.ToString(nfi));

            lines.Add("Band Gain 160m," + Gain160m.ToString(nfi));
            lines.Add("Band Gain 80m," + Gain80m.ToString(nfi));
            lines.Add("Band Gain 60m," + Gain60m.ToString(nfi));
            lines.Add("Band Gain 40m," + Gain40m.ToString(nfi));
            lines.Add("Band Gain 30m," + Gain30m.ToString(nfi));
            lines.Add("Band Gain 20m," + Gain20m.ToString(nfi));
            lines.Add("Band Gain 17m," + Gain17m.ToString(nfi));
            lines.Add("Band Gain 15m," + Gain15m.ToString(nfi));
            lines.Add("Band Gain 12m," + Gain12m.ToString(nfi));
            lines.Add("Band Gain 10m," + Gain10m.ToString(nfi));
            lines.Add("Band Gain 6m," + Gain6m.ToString(nfi));

            lines.Add("Full Duplex," + Duplex.ToString(nfi));
            lines.Add("Only Tx on PTT," + OnlyTxOnPTT.ToString(nfi));

            lines.Add("Tune Level," + TuneLevel.ToString(nfi));
            lines.Add("CWPitch," + CWPitch.ToString(nfi));

            lines.Add("Penny OC Enable," + PennyOC.ToString(nfi));
            lines.Add("Penny OC 160mTx," + Penny160mTxOC.ToString(nfi));
            lines.Add("Penny OC 80mTx," + Penny80mTxOC.ToString(nfi));
            lines.Add("Penny OC 60mTx," + Penny60mTxOC.ToString(nfi));
            lines.Add("Penny OC 40mTx," + Penny40mTxOC.ToString(nfi));
            lines.Add("Penny OC 30mTx," + Penny30mTxOC.ToString(nfi));
            lines.Add("Penny OC 20mTx," + Penny20mTxOC.ToString(nfi));
            lines.Add("Penny OC 17mTx," + Penny17mTxOC.ToString(nfi));
            lines.Add("Penny OC 15mTx," + Penny15mTxOC.ToString(nfi));
            lines.Add("Penny OC 12mTx," + Penny12mTxOC.ToString(nfi));
            lines.Add("Penny OC 10mTx," + Penny10mTxOC.ToString(nfi));
            lines.Add("Penny OC 6mTx," + Penny6mTxOC.ToString(nfi));

            lines.Add("Penny OC 160mRx," + Penny160mRxOC.ToString(nfi));
            lines.Add("Penny OC 80mRx," + Penny80mRxOC.ToString(nfi));
            lines.Add("Penny OC 60mRx," + Penny60mRxOC.ToString(nfi));
            lines.Add("Penny OC 40mRx," + Penny40mRxOC.ToString(nfi));
            lines.Add("Penny OC 30mRx," + Penny30mRxOC.ToString(nfi));
            lines.Add("Penny OC 20mRx," + Penny12mRxOC.ToString(nfi));
            lines.Add("Penny OC 17mRx," + Penny17mRxOC.ToString(nfi));
            lines.Add("Penny OC 15mRx," + Penny15mRxOC.ToString(nfi));
            lines.Add("Penny OC 12mRx," + Penny12mRxOC.ToString(nfi));
            lines.Add("Penny OC 10mRx," + Penny10mRxOC.ToString(nfi));
            lines.Add("Penny OC 6mRx," + Penny6mRxOC.ToString(nfi));

            lines.Add("DelayRF," + DelayRF.ToString(nfi));
            lines.Add("DelayPTT," + DelayPTT.ToString(nfi));

            lines.Add("FM deviation," + FM_deviation.ToString(nfi));
            lines.Add("Speech Processor," + chkClipper.Checked.ToString(nfi));
            lines.Add("Processor Gain," + ProcessorGain.Value.ToString(nfi));
            lines.Add("Bass Cut," + chkBassCut.Checked.ToString(nfi));

            lines.Add("VOX On," + chkVOX.Checked.ToString(nfi));
            lines.Add("VOX Level," + VOXLevel.Value.ToString(nfi));
            VOXHang = (int)VOXHangTime.Value;
            lines.Add("VOX Hang," + VOXHang.ToString(nfi));
            lines.Add("Mic Gain," + MicrophoneGain.Value.ToString(nfi));
            lines.Add("Processor Gain," + ProcessorGain.Value.ToString(nfi));
            lines.Add("Line In," + LineIn.ToString(nfi));
            lines.Add("Last MAC," + MetisMAC);
            lines.Add("Mic AGC," + chkMicAGC.Checked.ToString(nfi));
            lines.Add("Noise Gate," + chkNoiseGate.Checked.ToString(nfi));
            lines.Add("Noise Gate Level," + NoiseGateLevel.Value.ToString(nfi));
            lines.Add("Alex," + Alex.ToString(nfi));
            lines.Add("Apollo," + Apollo.ToString(nfi));

            lines.Add("Alex160mState," + Alex160mState.ToString(nfi));
            lines.Add("Alex80mState," + Alex80mState.ToString(nfi));
            lines.Add("Alex60mState," + Alex60mState.ToString(nfi));
            lines.Add("Alex40mState," + Alex40mState.ToString(nfi));
            lines.Add("Alex30mState," + Alex30mState.ToString(nfi));
            lines.Add("Alex20mState," + Alex20mState.ToString(nfi));
            lines.Add("Alex17mState," + Alex17mState.ToString(nfi));
            lines.Add("Alex15mState," + Alex15mState.ToString(nfi));
            lines.Add("Alex12mState," + Alex12mState.ToString(nfi));
            lines.Add("Alex10mState," + Alex10mState.ToString(nfi));
            lines.Add("Alex6mState," + Alex6mState.ToString(nfi));
            lines.Add("AlexGCState," + AlexGCState.ToString(nfi));
            lines.Add("SkipVersionCheck," + SkipVersionCheck.ToString(nfi));               // convert bool to 'true'/'false'
            lines.Add("Allow16kWidebandSamples," + Allow16kWidebandSamples.ToString(nfi)); // convert bool to 'true'/'false'
            lines.Add("DoFastEthernetConnect," + DoFastEthernetConnect.ToString(nfi));     // convert bool to 'true'/'false'
            lines.Add("EthernetHostIPAddress," + EthernetHostIPAddress.ToString(nfi));     // string
            lines.Add("Metis_IP_address," + Metis_IP_address.ToString(nfi));               // string

            // write all the lines
            File.WriteAllLines(KKCSVName, lines.ToArray());
        }