Exemple #1
0
        public void InitializeBattle()
        {
            testWorld testworld = new testWorld();
            var       player    = testworld.AddAgent <Player>(Gender.Female, Singleton <Human> .GetInstance(), Singleton <MageClass> .GetInstance(), "NotInstantiated", 3, 5);

            PlayerInstanceManager.SetPlayer(player);
            Assert.IsTrue(testworld.Agents.Count == 1);

            var name  = "Hostile Djin female";
            var enemy = testworld.AddAgent <NPCBase>(Gender.Female, Singleton <Djin> .GetInstance(), Singleton <WarriorClass> .GetInstance(), name, 8, 25);

            enemy.AI        = new HostileAI(enemy);
            enemy.IsHostile = true;
            enemy.ArmStarterGear();
            enemy.AddPartyMember(Gender.Male, Singleton <Narugan> .GetInstance(), Singleton <MageClass> .GetInstance(), "Narugan Mage");


            BattleFaction goodGuys = new BattleFaction(player);
            BattleFaction badGuys  = new BattleFaction(enemy);

            goodGuys.Enemies.Add(badGuys);
            badGuys.Enemies.Add(goodGuys);

            Battlefield field = Singleton <Grasslands> .GetInstance();

            Battle battle = Singleton <Battle> .GetInstance();

            battle.NewBattle(field, new BattleFaction[] { goodGuys, badGuys });
        }
Exemple #2
0
        public void playerAdded()
        {
            testWorld testworld = new testWorld();

            PlayerInstanceManager.SetPlayer(testworld.AddAgent <Player>(Gender.Female, Singleton <Human> .GetInstance(), Singleton <MageClass> .GetInstance(), "NotInstantiated", 3, 5));
            Assert.IsTrue(testworld.Agents.Count == 1);
        }
Exemple #3
0
        protected override void Render()
        {
            var player = PlayerInstanceManager.GetPlayer(map) as NPCBase;

            if (player != null)
            {
                ConsoleHelper.AltClear();
                map.GetSubGrid(player.X - 25, player.Y - 25, 50, 50, isDay).Render();


                ConsoleHelper.Write(desciription, ConsoleColor.White, ConsoleColor.Black);
                ConsoleHelper.Write("".PadRight(90 - desciription.Length, '#'), ConsoleColor.Black, ConsoleColor.Black);
                Console.WriteLine();
                RedrawNext();

                if (redrawCharacterInfo)
                {
                    DialogHelper.WriteDialog(ConsoleColor.Red, ConsoleColor.Black, 102, 0, 50, $"Name: {player?.Name}", $"Race: {player?.Race.Name}", $"Gender: {player?.Gender}", $"Class: {player?.Class.Name}");

                    redrawCharacterInfo = false;
                }
                foreach (Entities.Agent.NPCBase npc in map.Agents)
                {
                    ConsoleHelper.Write("XXXXXXXXXXXXXXXXXXXX", ConsoleColor.Black, ConsoleColor.Black);
                    Console.CursorLeft = 0;
                    Console.Write($"{npc.Name}: x={npc.X},y={npc.Y}");
                    Console.WriteLine();
                }
            }
        }
Exemple #4
0
        protected override void Render()
        {
            if (drawArt)
            {
                Player player = PlayerInstanceManager.GetPlayer(Singleton <Map> .GetInstance().map) as Player;
                bgArt.Draw(0, 0);
                enemyArt.Draw(10, 10);
                DialogHelper.WriteDialog(ConsoleColor.Yellow, ConsoleColor.Black, 130, 0, 54, $"{enemy.Name}:");
                int i = 1;
                enemy.PartyMembers?.ForEach(n => {
                    DialogHelper.WriteDialog(ConsoleColor.Red, ConsoleColor.Black, 130, (i * 5), 54, $"{n.Name}:");
                    i++;
                }
                                            );

                DialogHelper.WriteDialog(ConsoleColor.Blue, ConsoleColor.Black, 184, 0, 54,
                                         $"{player.Name} ({player.Race.Name} {player.Class.Name})",
                                         $"Hp:{player.HP.MaxBase} Stamina {player.Stamina.MaxBase}",
                                         "Magic--------------",
                                         $"Fire:{player.Fire.MaxBase} Water:{player.Water.MaxBase}",
                                         $"Earth:{player.Earth.MaxBase} Wind:{player.Wind.MaxBase}",
                                         $"Chaos:{player.Chaos.MaxBase} Order:{player.Order.MaxBase}",
                                         $"Dark:{player.Darkness.MaxBase} Light:{player.Light.MaxBase}"
                                         );
                drawArt = false;
            }
        }
Exemple #5
0
        public override void Detect()
        {
            var target = PlayerInstanceManager.GetPlayer(me.Grid) as NPCBase;

            if (this.Distance() < 2)
            {
                Console.Clear();
                Program.currentState = Singleton <GameState.BattleState.BattleState> .GetInstance(me);

                Program.currentState.RunInitiate();
                Program.currentState.RedrawNext();
            }

            switch (this.State)
            {
            case AIState.Aware:
                if (me.Awareness.Current * 2 > Distance())      //this might change later but oh well
                {
                    this.State = AIState.Hunting;
                }
                break;

            case AIState.Normal:
                if (me.Awareness.Current > Distance())      //this might change later but oh well
                {
                    this.State = AIState.Hunting;
                }
                break;

            case AIState.Sleeping:

                if (me.Stamina.Current == me.Stamina.Max)
                {
                    this.State = AIState.Normal;
                }
                else
                {
                    me.Regenerate();         //sleeping soundly
                }



                break;


            case AIState.Dead:
                //WTF do you want i am dead!!!
                break;

            case AIState.Hunting:
                this.me.Stamina.Current--;
                if (me.Stamina.Current <= 0)
                {
                    this.State = AIState.Sleeping;     // he got exausted
                }

                break;
            }
        }
Exemple #6
0
        public override void Action()
        {
            var player = PlayerInstanceManager.GetPlayer(Singleton <NewGame> .GetInstance()) as NPCBase;

            Exit();
            Program.currentState = Singleton <NewGame> .GetInstance();

            player.Class = getclasses()[Selected];
            Console.Clear();
            Program.currentState.RedrawNext();
        }
Exemple #7
0
        public override void Action()
        {
            var player = PlayerInstanceManager.GetPlayer(Singleton <NewGame> .GetInstance()) as NPCBase;


            Exit();
            Program.currentState = Singleton <NewGame> .GetInstance();

            Console.Clear();
            player.Race = (Entities.Agent.Race.RaceBase)Singleton.GetInstance(types[Selected]);
            Program.currentState.RedrawNext();
        }
Exemple #8
0
        public override void Action()
        {
            var player = PlayerInstanceManager.GetPlayer(Singleton <NewGame> .GetInstance()) as NPCBase;


            Exit();
            Program.currentState = Singleton <NewGame> .GetInstance();

            player.Gender = (Gender)Enum.Parse(typeof(Gender), options[Selected]);
            Console.Clear();
            Program.currentState.RedrawNext();
        }
Exemple #9
0
        protected override void Initiate()
        {
            Console.Clear();
            var pallet = ParentGrid.GetPallet(typeof(SakuraBlue.Entities.Tiles.Forest).Assembly);

            map = new ParentGrid($"{AppDomain.CurrentDomain.BaseDirectory}\\Maps\\map1.bmp", pallet);

            //Player.SetPlayer(fromCharacterCreaton);

            PlayerInstanceManager.SetPlayer(map.AddAgent <Entities.Agent.Player>(Entities.Agent.Gender.Female, Singleton <Entities.Agent.Race.Human> .GetInstance(), Singleton <Entities.Agent.Class.MageClass> .GetInstance(), "NotInstantiated", 3, 5));
            var hostileDjin = map.AddAgent <Entities.Agent.NPCBase>(Entities.Agent.Gender.Female, Singleton <Entities.Agent.Race.Djin> .GetInstance(), Singleton <Entities.Agent.Class.WarriorClass> .GetInstance(), "Hostile Djin female", 8, 25);

            hostileDjin.AI        = new Entities.Agent.AI.HostileAI(hostileDjin);
            hostileDjin.IsHostile = true;
            hostileDjin.ArmStarterGear();
            hostileDjin.AddPartyMember(Gender.Male, Singleton <Entities.Agent.Race.Narugan> .GetInstance(), Singleton <Entities.Agent.Class.MageClass> .GetInstance(), "Narugan Mage");



            Singleton <Music> .GetInstance().Play(@"\Music\Good Night.mp3");

            keyInterface = new KeyInterface(
                new KeyHook(ConsoleKey.UpArrow, () => { desciription = PlayerInstanceManager.GetPlayer(map)?.AgentMove(map, Entities.Agent.Direction.Up); if (desciription != null)
                                                        {
                                                            RedrawNext();
                                                        }
                            }),
                new KeyHook(ConsoleKey.DownArrow, () => { desciription = PlayerInstanceManager.GetPlayer(map)?.AgentMove(map, Entities.Agent.Direction.Down); if (desciription != null)
                                                          {
                                                              RedrawNext();
                                                          }
                            }),
                new KeyHook(ConsoleKey.LeftArrow, () => { desciription = PlayerInstanceManager.GetPlayer(map)?.AgentMove(map, Entities.Agent.Direction.Left); if (desciription != null)
                                                          {
                                                              RedrawNext();
                                                          }
                            }),
                new KeyHook(ConsoleKey.RightArrow, () => { desciription = PlayerInstanceManager.GetPlayer(map)?.AgentMove(map, Entities.Agent.Direction.Right); if (desciription != null)
                                                           {
                                                               RedrawNext();
                                                           }
                            }),
                new KeyHook(ConsoleKey.Escape, () => {
                Program.currentState = Singleton <Menu.TopMenu> .GetInstance();
                Console.Clear();
                Program.currentState.RedrawNext();
            }));
        }
Exemple #10
0
        public override void Action()
        {
            switch (Selected)
            {
            case 0:
                Exit();
                Program.currentState = Singleton <NewGame> .GetInstance();

                Program.currentState.RedrawNext();

                break;

            case 1:
                Console.Clear();


                if ((PlayerInstanceManager.GetPlayer(Singleton <GameState.Map> .GetInstance().map) as Player).Name != "NotInstantiated")
                {
                    Exit();
                    Program.currentState = Singleton <Map> .GetInstance();

                    Program.currentState.RedrawNext();
                }
                else
                {
                    Exit();
                    Console.Clear();
                    ConsoleHelper.WriteLine("No Game Started", ConsoleColor.White, ConsoleColor.Black);
                    Console.ReadLine();
                    Render();
                }

                break;

            case 2:
                Exit();
                Program.currentState = Singleton <Options> .GetInstance();

                Program.currentState.RunInitiate();
                Program.currentState.RedrawNext();
                break;

            case 3:
                Environment.Exit(0);
                break;
            }
        }
Exemple #11
0
        public void EnemyAdded()
        {
            testWorld testworld = new testWorld();

            PlayerInstanceManager.SetPlayer(testworld.AddAgent <Player>(Gender.Female, Singleton <Human> .GetInstance(), Singleton <MageClass> .GetInstance(), "NotInstantiated", 3, 5));
            Assert.IsTrue(testworld.Agents.Count == 1);

            var name  = "Hostile Djin female";
            var enemy = testworld.AddAgent <NPCBase>(Gender.Female, Singleton <Djin> .GetInstance(), Singleton <WarriorClass> .GetInstance(), name, 8, 25);

            enemy.AI        = new HostileAI(enemy);
            enemy.IsHostile = true;
            enemy.ArmStarterGear();
            enemy.AddPartyMember(Gender.Male, Singleton <Narugan> .GetInstance(), Singleton <MageClass> .GetInstance(), "Narugan Mage");


            Assert.IsTrue(testworld.Agents.Count == 2);
            Assert.IsTrue((testworld.Agents.FindLast(n => n.GetType() == typeof(NPCBase)) as NPCBase).Name == name);
        }
Exemple #12
0
 public NewGame(LockToken @lock) : base(@lock)
 {
     LockToken.Enforce <NewGame>(@lock);
     this.playerAsBase = this.AddAgent <Entities.Agent.Player>(Entities.Agent.Gender.Male, Singleton <Human> .GetInstance(), Singleton <WarriorClass> .GetInstance(), "John Doe", 3, 5);
     PlayerInstanceManager.SetPlayer(this.playerAsBase);
 }