コード例 #1
0
        public override void Reset()
        {
            base.Reset();

            m_over = false;
            FightEngine.Reset();
        }
コード例 #2
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            this.SimulationQuantity = 100000;
            int[]        results      = new int[SimulationQuantity];
            RandomEngine randomEngine = new RandomEngine();

            Warrior player1 = new Warrior()
            {
                Name           = "Moi",
                Damage         = 3906,
                ArmoredPercent = 50 / 100.0,
                HitPoints      = 67025,
                CriticalHit    = 23.08
            };


            Warrior player2 = new Warrior()
            {
                Name           = "Lui",
                Damage         = 5234,
                ArmoredPercent = 41 / 100.0,
                HitPoints      = 39190,
                CriticalHit    = 22.08
            };

            for (int i = 0; i < results.Length; i++)
            {
                FightEngine fight = new FightEngine(player1, player2, randomEngine);
                results[i] = fight.StartSimulation().Name == player1.Name ? 1 : 2;
            }

            double winRate = results.Count(x => x == 1) * 100.0 / results.Length;

            MessageBox.Show("Player1 won " + winRate + "% of games");
        }
コード例 #3
0
        public override void Update(GameTime gametime)
        {
            base.Update(gametime);

            if (m_over == true)
            {
                return;
            }

            if (FightEngine.TickCount >= m_recording.Data.Count)
            {
                if (MenuSystem.GetSubSystem <InitializationSettings>().QuitAfterReplay == true)
                {
                    MenuSystem.PostEvent(new Events.FadeScreen(FadeDirection.Out));
                }

                m_over = true;
                return;
            }

            InjectRecordingInput();

            if (Pause == PauseState.Unpaused || Pause == PauseState.PauseStep)
            {
                FightEngine.Update(gametime);
            }

            if (Pause == PauseState.PauseStep)
            {
                m_pause = PauseState.Paused;
            }
        }
コード例 #4
0
        public override void Reset()
        {
            base.Reset();

            FightEngine.Reset();
            Recorder.Reset();
        }
コード例 #5
0
ファイル: Base.cs プロジェクト: lodossDev/xnamugen
		protected Base(FightEngine engine, RoundState state)
			: base(engine)
		{
			if (state == RoundState.None) throw new ArgumentOutOfRangeException("state");

			m_tickcount = -1;
			m_state = state;
			m_element = null;
			m_text = null;
		}
コード例 #6
0
ファイル: Base.cs プロジェクト: xubingyue/xnamugen
        protected Base(FightEngine engine, RoundState state)
            : base(engine)
        {
            if (state == RoundState.None)
            {
                throw new ArgumentOutOfRangeException("state");
            }

            m_tickcount = -1;
            m_state     = state;
            m_element   = null;
            m_text      = null;
        }
コード例 #7
0
ファイル: Base.cs プロジェクト: terrynoya/xnamugen-1
        protected Base(FightEngine engine, RoundState state)
            : base(engine)
        {
            if (state == RoundState.None)
            {
                throw new ArgumentOutOfRangeException(nameof(state));
            }

            m_tickcount   = -1;
            m_state       = state;
            m_element     = null;
            DisplayString = null;
        }
コード例 #8
0
        public override void SetInput(Input.InputState inputstate)
        {
            base.SetInput(inputstate);

            if (Recorder.IsRecording == true)
            {
                Recorder.SetInput(inputstate);
            }

            inputstate[0].Add(SystemButton.Quit, CancelCombat);
            inputstate[0].Add(SystemButton.Pause, TogglePause);
            inputstate[0].Add(SystemButton.PauseStep, TogglePauseStep);

            FightEngine.SetInput(inputstate);
        }
コード例 #9
0
        public override void Update(GameTime gametime)
        {
            base.Update(gametime);

            Recorder.Update();

            if (Pause == PauseState.Unpaused || Pause == PauseState.PauseStep)
            {
                FightEngine.Update(gametime);
            }

            if (Pause == PauseState.PauseStep)
            {
                m_pause = PauseState.Paused;
            }
        }
コード例 #10
0
ファイル: Tests.cs プロジェクト: kgerilovski/C-sharp-repo
        public static void TestFighterEngine()
        {
            int count = 1;

            //Testin FightEngine
            Console.WriteLine("Start battle simulations with same params");
            Console.WriteLine(new string('-', 100));
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine("Battle {0}", count);
                FightEngine.Start(new Player("Paskov", 1, 100), new Fighter("Org", 1));
                Console.WriteLine();
                Console.WriteLine(new string('-', 100));
                count++;
            }
            Console.WriteLine("End battle simulation");
            Console.WriteLine(new string('-', 100));
        }
コード例 #11
0
 public CombatOver(FightEngine engine)
     : base(engine, RoundState.PreOver)
 {
     m_wintype = WinType.None;
 }
コード例 #12
0
ファイル: ShowWinPose.cs プロジェクト: lodossDev/xnamugen
		public ShowWinPose(FightEngine engine)
			: base(engine, RoundState.Over)
		{
		}
コード例 #13
0
ファイル: Fighting.cs プロジェクト: lodossDev/xnamugen
		public Fighting(FightEngine engine)
			: base(engine, RoundState.Fight)
		{
		}
コード例 #14
0
ファイル: ShowFight.cs プロジェクト: xubingyue/xnamugen
 public ShowFight(FightEngine engine)
     : base(engine, RoundState.Intro)
 {
 }
コード例 #15
0
ファイル: NoMoreFighting.cs プロジェクト: xubingyue/xnamugen
 public NoMoreFighting(FightEngine engine)
     : base(engine, RoundState.Over)
 {
 }
コード例 #16
0
 public ShowWinPose(FightEngine engine)
     : base(engine, RoundState.Over)
 {
 }
コード例 #17
0
ファイル: PreIntro.cs プロジェクト: terrynoya/xnamugen-1
 public PreIntro(FightEngine engine)
     : base(engine, RoundState.PreIntro)
 {
 }
コード例 #18
0
 public ShowCharacterIntro(FightEngine engine)
     : base(engine, RoundState.Intro)
 {
     m_finishearly = false;
 }
コード例 #19
0
		public DisplayRoundNumber(FightEngine engine)
			: base(engine, RoundState.Intro)
		{
		}
コード例 #20
0
ファイル: PreIntro.cs プロジェクト: lodossDev/xnamugen
		public PreIntro(FightEngine engine)
			: base(engine, RoundState.PreIntro)
		{
		}
コード例 #21
0
        public override void Draw(Boolean debugdraw)
        {
            base.Draw(debugdraw);

            FightEngine.Draw(debugdraw);
        }
コード例 #22
0
		public ShowCharacterIntro(FightEngine engine)
			: base(engine, RoundState.Intro)
		{
			m_finishearly = false;
		}
コード例 #23
0
ファイル: ShowFight.cs プロジェクト: lodossDev/xnamugen
		public ShowFight(FightEngine engine)
			: base(engine, RoundState.Intro)
		{
		}
コード例 #24
0
ファイル: CombatOver.cs プロジェクト: lodossDev/xnamugen
		public CombatOver(FightEngine engine)
			: base(engine, RoundState.PreOver)
		{
			m_wintype = WinType.None;
		}
コード例 #25
0
 public DisplayRoundNumber(FightEngine engine)
     : base(engine, RoundState.Intro)
 {
 }
コード例 #26
0
 public Fighting(FightEngine engine)
     : base(engine, RoundState.Fight)
 {
 }
コード例 #27
0
ファイル: NoMoreFighting.cs プロジェクト: lodossDev/xnamugen
		public NoMoreFighting(FightEngine engine)
			: base(engine, RoundState.Over)
		{
		}