Ejemplo n.º 1
0
        protected override void Seed(TeamDare.DAL.GameContext context)
        {
            var factory = new GameMasterFactory();

            var gameMaster = (GameMaster)factory.CreateGameMaster();

            var player = (Player)factory.CreatePlayer("tester");

            player         = (Player)factory.InitializeGameForPlayer(player, gameMaster);
            player.AppId   = "000000";
            player.AppNick = "tester";
            context.GameMasters.Add(gameMaster);
            foreach (var adv in player.GamesHistory)
            {
                context.Adventures.Add((Adventure)adv);
                foreach (var challenge in adv.Challenges)
                {
                    context.Challenges.Add((Challenge)challenge);
                }
            }
            context.Players.Add(player);
            context.SaveChanges();


            base.Seed(context);
        }
        private Activity WelcomeNewUser(Activity message)
        {
            var reply = message.CreateReply(GeneralResponses.WelcomeText);

            using (var context = new GameContext())
            {
                var defaultGameMaster = context.GameMasters.First();
                var factory           = new GameMasterFactory();

                var player = (Player)(factory.CreatePlayer(message.From.Name));
                player            = (Player)factory.InitializeGameForPlayer(player, defaultGameMaster);
                player.AppId      = message.From.Id;
                player.AppNick    = message.From.Id;
                player.GameMaster = defaultGameMaster;

                foreach (var adv in player.GamesHistory)
                {
                    context.Adventures.Add((Adventure)adv);
                    foreach (var challenge in adv.Challenges)
                    {
                        context.Challenges.Add((Challenge)challenge);
                    }
                }
                context.Players.Add(player);
                context.SaveChanges();
            }

            return(reply);
        }
        public void TestInitializeGameForPlayer()
        {
            var factory    = new GameMasterFactory();
            var nick       = "test";
            var player     = factory.CreatePlayer(nick);
            var gameMaster = factory.CreateGameMaster();

            player = factory.InitializeGameForPlayer(player, gameMaster);
            Assert.IsNotNull(player);
            Assert.IsNotNull(player.GamesHistory);
            Assert.IsTrue(player.GamesHistory.Count == 3);
            Assert.IsTrue(player.GamesHistory.All(x => x.Id != Guid.Empty));
            Assert.IsTrue(player.GamesHistory.Count(x => x.Order == 0) == 1);
            Assert.IsTrue(player.GamesHistory.Count(x => x.Order == 1) == 1);
            Assert.IsTrue(player.GamesHistory.Count(x => x.Order == 2) == 1);
            Assert.IsTrue(player.GamesHistory.All(x => x.Title != string.Empty));
            Assert.IsTrue(player.GamesHistory.All(x => x.Hero == player));

            Assert.IsTrue(player.GamesHistory.Select(g => g.Challenges).All(c => c.Count == 3));
            Assert.IsTrue(player.GamesHistory.SelectMany(g => g.Challenges).Count(x => x.Order == 0) == 3);
            Assert.IsTrue(player.GamesHistory.SelectMany(g => g.Challenges).Count(x => x.Order == 1) == 3);
            Assert.IsTrue(player.GamesHistory.SelectMany(g => g.Challenges).Count(x => x.Order == 2) == 3);
            Assert.IsTrue(player.GamesHistory.SelectMany(g => g.Challenges).All(x => x.Id != Guid.Empty));

            Assert.IsTrue(player.GamesHistory.SelectMany(g => g.Challenges).All(x => x.Hero == player));
            Assert.IsTrue(player.GamesHistory.SelectMany(g => g.Challenges).All(x => x.Title != string.Empty));
        }
        public void TestGameCreation()
        {
            var factory    = new GameMasterFactory();
            var gameMaster = factory.CreateGameMaster();

            Assert.IsNotNull(gameMaster);
            Assert.IsNotNull(gameMaster.Adventures);
            Assert.IsNotNull(gameMaster.Players);
        }
        public void TestPlayerCreation()
        {
            var factory = new GameMasterFactory();
            var nick    = "test";
            var player  = factory.CreatePlayer(nick);

            Assert.IsNotNull(player);
            Assert.AreEqual(player.Nick, nick);
            Assert.IsTrue(player.Level == 0);
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            using (var db = new GameContext())
            {
                var factory = new GameMasterFactory();
                Console.WriteLine("save gm");

                var gameMasters = from b in db.GameMasters
                                  orderby b.Id
                                  select b;
                Console.WriteLine("query gm");
                Console.WriteLine("All game masters in the database:");
                foreach (var item in gameMasters)
                {
                    Console.WriteLine(item.Id);
                    foreach (var player in item.Players)
                    {
                        Console.WriteLine(player.Id);
                        Console.WriteLine(player.Nick);
                        foreach (var adv in player.GamesHistory)
                        {
                            Console.WriteLine(adv.Id);
                            Console.WriteLine(adv.Title);
                            Console.WriteLine(adv.Order);
                            foreach (var ch in adv.Challenges)
                            {
                                Console.WriteLine(String.Format("\t{0}", ch.Id));
                                Console.WriteLine(String.Format("\t{0}", ch.Title));
                                Console.WriteLine(String.Format("\t{0}", ch.Order));
                            }
                        }
                    }
                    //Console.WriteLine(String.Join(", ",(item.Players.Select(x=>((Reward)x.Rewards).Id).ToList())));
                }



                Console.WriteLine("Press any key to exit...");
                Console.ReadKey();
            }
        }