Пример #1
0
        public void batterShouldMoveTwoPositions()
        {
            DoubleBaseHitterRule  rule       = new DoubleBaseHitterRule();
            List <IPlayerDetails> allPlayers = new List <IPlayerDetails>();

            allPlayers.Add(new PlayerDetails("P1"));

            IPlayerDetails playerOnHomePlate = allPlayers.Find(x => x.position == 0);

            Assert.NotNull(playerOnHomePlate);

            IPlayerDetails playerOnBase1 = allPlayers.Find(x => x.position == 1);

            Assert.IsNull(playerOnBase1);

            IPlayerDetails playerOnBase2 = allPlayers.Find(x => x.position == 2);

            Assert.IsNull(playerOnBase2);

            rule.process(allPlayers, false);

            playerOnHomePlate = allPlayers.Find(x => x.position == 0);
            Assert.IsNull(playerOnHomePlate);

            playerOnBase1 = allPlayers.Find(x => x.position == 1);
            Assert.IsNull(playerOnBase1);

            playerOnBase2 = allPlayers.Find(x => x.position == 2);
            Assert.NotNull(playerOnBase2);
        }
Пример #2
0
        public void allPlayersShouldMoveTwoPosition()
        {
            DoubleBaseHitterRule  rule       = new DoubleBaseHitterRule();
            List <IPlayerDetails> allPlayers = new List <IPlayerDetails>();

            allPlayers.Add(new PlayerDetails("P1")
            {
                position = 0
            });
            allPlayers.Add(new PlayerDetails("P2")
            {
                position = 1
            });
            allPlayers.Add(new PlayerDetails("P3")
            {
                position = 2
            });
            allPlayers.Add(new PlayerDetails("P4")
            {
                position = 3
            });

            IPlayerDetails playerOnHomePlate = allPlayers.Find(x => x.position == 0);

            Assert.IsTrue(playerOnHomePlate.playerId == "P1");

            IPlayerDetails base1Player = allPlayers.Find(x => x.position == 1);

            Assert.IsTrue(base1Player.playerId == "P2");

            IPlayerDetails base2Player = allPlayers.Find(x => x.position == 2);

            Assert.IsTrue(base2Player.playerId == "P3");

            IPlayerDetails base3Player = allPlayers.Find(x => x.position == 3);

            Assert.IsTrue(base3Player.playerId == "P4");

            rule.process(allPlayers, false);

            playerOnHomePlate = allPlayers.Find(x => x.position == 0);
            Assert.IsNull(playerOnHomePlate);

            base1Player = allPlayers.Find(x => x.position == 1);
            Assert.IsNull(base1Player);

            base2Player = allPlayers.Find(x => x.position == 2);
            Assert.IsTrue(base2Player.playerId == "P1");

            base3Player = allPlayers.Find(x => x.position == 3);
            Assert.IsTrue(base3Player.playerId == "P2");

            IPlayerDetails player3 = allPlayers.Find(x => x.playerId == "P3");

            Assert.IsTrue(player3.scoredRun);

            IPlayerDetails player4 = allPlayers.Find(x => x.playerId == "P4");

            Assert.IsTrue(player4.scoredRun);
        }
Пример #3
0
    public void SetPlayer(IPlayerDetails player)
    {
        currentPlayer = player;
        var playeyName = currentPlayer.GetCharacter().GetName();

        titleText.text = $"{playeyName}, é o seu turno!!";
    }
Пример #4
0
        public void allPlayersShouldMove4Position()
        {
            HomeRunRule           rule       = new HomeRunRule();
            List <IPlayerDetails> allPlayers = new List <IPlayerDetails>();

            allPlayers.Add(new PlayerDetails("P1")
            {
                position = 0
            });
            allPlayers.Add(new PlayerDetails("P2")
            {
                position = 1
            });
            allPlayers.Add(new PlayerDetails("P3")
            {
                position = 2
            });
            allPlayers.Add(new PlayerDetails("P4")
            {
                position = 3
            });

            rule.process(allPlayers, false);

            List <IPlayerDetails> allPlayersWhoScoredRuns = allPlayers.FindAll(x => x.scoredRun == true);

            Assert.IsTrue(allPlayersWhoScoredRuns.Count == 4);

            IPlayerDetails playerWhoScoredHomeRun = allPlayers.Find(x => x.isHomeRun == true);

            Assert.IsTrue(playerWhoScoredHomeRun.playerId == "P1");
        }
Пример #5
0
        public void runnersShouldMoveIfOutIsNotLastPlayType()
        {
            OutRule rule = new OutRule();
            List <IPlayerDetails> allPlayers = new List <IPlayerDetails>();

            allPlayers.Add(new PlayerDetails("P1")
            {
                position = 0
            });
            allPlayers.Add(new PlayerDetails("P2")
            {
                position = 1
            });
            allPlayers.Add(new PlayerDetails("P3")
            {
                position = 3
            });

            rule.process(allPlayers, false);

            IPlayerDetails playerOnHomePlate = allPlayers.Find(x => x.playerId == "P1");

            Assert.IsTrue(playerOnHomePlate.position == 0);
            Assert.IsFalse(playerOnHomePlate.scoredRun);
            Assert.IsTrue(playerOnHomePlate.totalOuts == 1);

            IPlayerDetails player2Details = allPlayers.Find(x => x.playerId == "P2");

            Assert.IsTrue(player2Details.position == 2);
            Assert.IsFalse(player2Details.scoredRun);

            IPlayerDetails player3Details = allPlayers.Find(x => x.playerId == "P3");

            Assert.IsTrue(player3Details.scoredRun);
        }
Пример #6
0
    public override void process(List<IPlayerDetails> allPlayersOnField, bool isLast)
    {
      IPlayerDetails player = allPlayersOnField.Find(x => x.position == 0);
      player.isHomeRun = true;

      allPlayersOnField.ForEach(x =>
      {
        x.position += 4;
      });
    }
Пример #7
0
        public void Start(IMinesFieldBoard board, IPlayerDetails player)
        {
            board.Create(8, 8);

            while (player.Alive() && !player.Finished())
            {
                var input = Console.ReadKey();

                switch (input.Key)
                {
                case ConsoleKey.UpArrow:
                case ConsoleKey.W:
                {
                    player.MoveUp();
                    break;
                }

                case ConsoleKey.DownArrow:
                case ConsoleKey.S:
                {
                    player.MoveDown();
                    break;
                }

                case ConsoleKey.LeftArrow:
                case ConsoleKey.A:
                {
                    player.MoveLeft();
                    break;
                }

                case ConsoleKey.RightArrow:
                case ConsoleKey.D:
                {
                    player.MoveRight();
                    break;
                }

                case ConsoleKey.Enter:
                {
                    board.Create(8, 8);
                    player.Reset();
                    break;
                }

                case ConsoleKey.Escape:
                {
                    return;
                }
                }
            }

            End();
        }
Пример #8
0
        public void batterShouldMove4Positions()
        {
            HomeRunRule           rule       = new HomeRunRule();
            List <IPlayerDetails> allPlayers = new List <IPlayerDetails>();

            allPlayers.Add(new PlayerDetails("P1"));

            rule.process(allPlayers, false);

            IPlayerDetails player1 = allPlayers.Find(x => x.playerId == "P1");

            Assert.IsTrue(player1.scoredRun == true);
            Assert.IsTrue(player1.isHomeRun == true);
        }
Пример #9
0
        public override void process(List <IPlayerDetails> allPlayersOnField, bool isLast)
        {
            IPlayerDetails batter = allPlayersOnField.Find(x => x.position == 0);

            batter.totalOuts++;

            if (isLast == false)
            {
                List <IPlayerDetails> allRunners = allPlayersOnField.FindAll(x => x.position != 0);
                allRunners.ForEach(x =>
                {
                    x.position += 1;
                });
            }
        }
Пример #10
0
        public void batterShouldAdvanceOnePosition()
        {
            WalkRule rule = new WalkRule();
            List <IPlayerDetails> allPlayers = new List <IPlayerDetails>();

            allPlayers.Add(new PlayerDetails("P1"));

            rule.process(allPlayers, false);

            IPlayerDetails playerOnHomePlate = allPlayers.Find(x => x.position == 0);

            Assert.IsNull(playerOnHomePlate);

            IPlayerDetails playerOnBase1 = allPlayers.Find(x => x.position == 1);

            Assert.NotNull(playerOnBase1);
        }
Пример #11
0
        public void allRunnersShouldAdvanceWhenDisplaced()
        {
            WalkRule rule = new WalkRule();
            List <IPlayerDetails> allPlayers = new List <IPlayerDetails>();

            allPlayers.Add(new PlayerDetails("P1")
            {
                position = 0
            });
            allPlayers.Add(new PlayerDetails("P2")
            {
                position = 1
            });
            allPlayers.Add(new PlayerDetails("P3")
            {
                position = 2
            });
            allPlayers.Add(new PlayerDetails("P4")
            {
                position = 3
            });

            rule.process(allPlayers, false);

            IPlayerDetails playerOnHomePlate = allPlayers.Find(x => x.position == 0);

            Assert.IsNull(playerOnHomePlate);

            IPlayerDetails base1Player = allPlayers.Find(x => x.position == 1);

            Assert.IsTrue(base1Player.playerId == "P1");

            IPlayerDetails base2Player = allPlayers.Find(x => x.position == 2);

            Assert.IsTrue(base2Player.playerId == "P2");

            IPlayerDetails base3Player = allPlayers.Find(x => x.position == 3);

            Assert.IsTrue(base3Player.playerId == "P3");

            IPlayerDetails playerScoredrun = allPlayers.Find(x => x.scoredRun == true);

            Assert.IsTrue(playerScoredrun.playerId == "P4");
        }
Пример #12
0
        public override void process(List <IPlayerDetails> allPlayersOnField, bool isLast)
        {
            List <IPlayerDetails> allPlayers       = allPlayersOnField.OrderBy(x => x.position).ToList();
            IPlayerDetails        batter           = allPlayersOnField.Find(x => x.position == 0);
            IPlayerDetails        firstBasePlayer  = allPlayersOnField.Find(x => x.position == 1);
            IPlayerDetails        secondBasePlayer = allPlayersOnField.Find(x => x.position == 2);
            IPlayerDetails        thirdBasePlayer  = allPlayersOnField.Find(x => x.position == 3);

            batter.position += 1;
            if (firstBasePlayer != null)
            {
                firstBasePlayer.position += 1;
                if (secondBasePlayer != null)
                {
                    secondBasePlayer.position += 1;
                    if (thirdBasePlayer != null)
                    {
                        thirdBasePlayer.position += 1;
                    }
                }
            }
        }
Пример #13
0
        public void runnersShouldNotAdvanceWhenNotDisplaced()
        {
            HitByPitchRule        rule       = new HitByPitchRule();
            List <IPlayerDetails> allPlayers = new List <IPlayerDetails>();

            allPlayers.Add(new PlayerDetails("P1")
            {
                position = 0
            });
            allPlayers.Add(new PlayerDetails("P3")
            {
                position = 2
            });
            allPlayers.Add(new PlayerDetails("P4")
            {
                position = 3
            });

            rule.process(allPlayers, false);

            IPlayerDetails playerOnHomePlate = allPlayers.Find(x => x.position == 0);

            Assert.IsNull(playerOnHomePlate);

            IPlayerDetails base1Player = allPlayers.Find(x => x.position == 1);

            Assert.IsTrue(base1Player.playerId == "P1");

            IPlayerDetails base2Player = allPlayers.Find(x => x.position == 2);

            Assert.IsTrue(base2Player.playerId == "P3");

            IPlayerDetails base3Player = allPlayers.Find(x => x.position == 3);

            Assert.IsTrue(base3Player.playerId == "P4");
        }
Пример #14
0
 public void SetPlayerDetails(IPlayerDetails playerDetail)
 {
     this.playerDetail = playerDetail;
 }
Пример #15
0
 public override void InitiateBlocks(IPlayerDetails player, IRenderer renderer)
 {
     player.LivesLeft(1);
     renderer.DrawHitByMine();
 }
Пример #16
0
 public override void InitiateBlocks(IPlayerDetails player, IRenderer renderer)
 {
     renderer.DrawFinalScore(player.GetMoves());
 }
Пример #17
0
 public virtual void InitiateBlocks(IPlayerDetails player, IRenderer renderer)
 {
 }
Пример #18
0
        public override void process(List <IPlayerDetails> allPlayersOnField, bool isLast)
        {
            IPlayerDetails player = allPlayersOnField.Find(x => x.position == 0);

            player.totalOuts++;
        }