Exemplo n.º 1
0
        public IActionResult Create(GameCreateCommand cmd)
        {
            cmd.Id = _gameService.CreateGame(cmd);
            _gameService.CreatePlayerGames(cmd);
            _deckService.CreateDeck(cmd.ToChallengerDeck());
            _deckService.CreateDeck(cmd.ToTargetDeck());

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            // I would use dependency injection, normally, to create the service
            var deckService = new DeckService();

            var deck       = deckService.CreateDeck();
            var andrewHand = deckService.CreateHandCards(deck, new Player
            {
                Name = "Andrew"
            });
            var benHand = deckService.CreateHandCards(deck, new Player
            {
                Name = "Ben"
            });

            Console.WriteLine($"{andrewHand.Player.Name}'s Hand:");
            foreach (var card in andrewHand.PlayerHand)
            {
                Console.WriteLine(card);
            }

            Console.WriteLine($"{benHand.Player.Name}'s Hand:");
            foreach (var card in benHand.PlayerHand)
            {
                Console.WriteLine(card);
            }

            Console.WriteLine("Remaining Cards:");
            foreach (var element in deck.GameDeck)
            {
                Console.WriteLine(element);
            }
        }
Exemplo n.º 3
0
        public async Task <ActionResult> Create(CreateDeckRequest deck)
        {
            if (ModelState.IsValid)
            {
                await service.CreateDeck(deck);

                return(RedirectToAction("Index"));
            }

            return(View(deck));
        }
Exemplo n.º 4
0
        public void TestCreatingDeck()
        {
            using (var context = new AppDbContext(CreateNewContextOptions()))
            {
                var service            = new DeckService(context);
                DeckCreateCommand deck = new DeckCreateCommand
                {
                    GameId   = 1,
                    PlayerId = 1,
                    Type     = 1
                };

                service.CreateDeck(deck);

                Assert.Equal(1, context.Decks.Count());
            }
        }
Exemplo n.º 5
0
        public Deck UpdateDeck(Guid[] cardIds)
        {
            var session = Utils.GetSession(_sessionService, HttpRequest, HttpResponse);

            if (session == null)
            {
                return(null);
            }

            if (cardIds == null || cardIds.Length != Deck.DeckSize)
            {
                HttpResponse.SetContent($"No cards or not the right amount of cards! The right amount: {Deck.DeckSize}.");
                HttpResponse.SetStatus(HttpStatus.Bad_Request);
                return(null);
            }
            return(_deckService.CreateDeck(session.UserId, cardIds));
        }
Exemplo n.º 6
0
        public void TestDefaultCardsInDeck()
        {
            using (var context = new AppDbContext(CreateNewContextOptions()))
            {
                var service            = new DeckService(context);
                DeckCreateCommand deck = new DeckCreateCommand
                {
                    GameId   = 1,
                    PlayerId = 1,
                    Type     = 1
                };
                Card scout = new Card
                {
                    Name            = "Scout",
                    Cost            = 0,
                    DefaultQuantity = 8
                };
                Card viper = new Card
                {
                    Name            = "Viper",
                    Cost            = 0,
                    DefaultQuantity = 2
                };
                context.Cards.Add(scout);
                context.Cards.Add(viper);

                service.CreateDeck(deck);

                var d             = service.GetDeck(1);
                int totalQuantity = d.Cards.Select(x => x.Quantity).Sum();
                int scoutQuantity = d.Cards.First().Quantity;
                int viperQuantity = d.Cards.Last().Quantity;;

                Assert.Equal(2, d.Cards.Count());
                Assert.Equal(10, totalQuantity);
                Assert.Equal(8, scoutQuantity);
                Assert.Equal(2, viperQuantity);
            }
        }
Exemplo n.º 7
0
 public async Task <Deck> Create(CreateDeckRequest deck)
 {
     return(await _deckService.CreateDeck(deck));
 }