public void TestBuildVerticalRoad()
        {
            World w = new World(3, 0, null);
            w.currentPlayer.getHand().incrementAllResources(1);
            w.currentPlayer.getHand().incrementAllResources(1);
            w.currentPlayer.getHand().incrementAllResources(1);
            w.tryToBuildAtIntersection(new Point(1, 5));
            bool flag = w.getMap().getIslandMap().buildVerticalRoad(new Point(3, 2), w.currentPlayer);
            Assert.True(flag);

            flag = w.getMap().getIslandMap().buildHorizontalRoad(new Point(4, 4), w.currentPlayer);
            Assert.True(flag);

            flag = w.getMap().getIslandMap().buildVerticalRoad(new Point(5, 2), w.currentPlayer);
            Assert.True(flag);

            flag = w.getMap().getIslandMap().buildVerticalRoad(new Point(9, 3), w.currentPlayer);
            Assert.False(flag);

            // for testing private method roadHasConnectingRoad
            flag = w.getMap().getIslandMap().buildHorizontalRoad(new Point(4, 5), w.currentPlayer);
            Assert.True(flag);

            flag = w.getMap().getIslandMap().buildHorizontalRoad(new Point(4, 3), w.currentPlayer);
            Assert.True(flag);
        }
 public StealCardForm(World world)
 {
     this.world = world;
     this.robberHex = world.getRobberHex();
     InitializeComponent();
     updateLabels();
 }
 public AI_Player(String playerName, Color playerColor, World world1)
     : base(playerName, playerColor, world1)
 {
     this.name = playerName;
     this.color = playerColor;
     this.world = world1;
 }
 public void TestConstructorWithParametersSetsFieldsCorrectly()
 {
     var target = new World(2, 2, null);
     Assert.True(target.bank.allResourcesMax());
     Assert.AreEqual(3, target.players.Count);
     Assert.AreEqual("Bob", target.currentPlayer.getName());
 }
        public TradeForm(World world, GameScreen gameScreen)
        {
            this.world = world;
            this.gameScreen = gameScreen;
            this.currentPlayerNumber = this.world.currentPlayerNumber;
            this.currentPlayer = this.world.currentPlayer;

            int nextPlayerNumber = this.currentPlayerNumber + 1;
            if (nextPlayerNumber == this.world.players.Count())
            {
                nextPlayerNumber = 0;
            }
            this.nextPlayer1 = world.players[nextPlayerNumber];
            nextPlayerNumber++;
            if (nextPlayerNumber == this.world.players.Count())
            {
                nextPlayerNumber = 0;
            }
            this.nextPlayer2 = world.players[nextPlayerNumber];

            nextPlayer1Checked = false;
            nextPlayer2Checked = false;
            InitializeComponent();
            NextPlayer1Label.Text = this.nextPlayer1.getName();
            NextPlayer2Label.Text = this.nextPlayer2.getName();
            localize();
            updateCurrentPlayerNameLabel();
        }
 public BankTradeForm(World world, GameScreen gs)
 {
     InitializeComponent();
     this.world = world;
     this.gameScreen = gs;
     this.current = this.world.currentPlayer;
     localize();
 }
 public void TestComputerConstructsNameAndColorCorrectly()
 {
     String computerName = "computer1";
     Color computerColor = Color.White;
     var world = new World();
     Computer computer1 = new Computer(computerName, computerColor, world);
     Assert.AreEqual(computerColor, computer1.getColor());
     Assert.AreEqual(computerName, computer1.getName());
 }
Esempio n. 8
0
 public Player(String playerName, Color playerColor, World world1)
     : this()
 {
     this.name = playerName;
     this.color = playerColor;
     this.world = world1;
     this.longestRoadIndex = 0;
     this.ports = new List<Port>();
 }
        public RobberForm(World world, GameScreen gs)
        {
            InitializeComponent();
            this.world = world;
            this.gameScreen = gs;
            localize();

            makeAllHexesClickable();
        }
Esempio n. 10
0
 public Player()
 {
     this.world = new World();
     this.hasLongestRoad = false;
     this.hasLargestArmy = false;
     this.hasRolled = false;
     this.ports = new List<Port>();
     this.longestRoadIndex = 0;
     this.roads.Add(new List<Connection>());
 }
Esempio n. 11
0
 public void TestCheckWinnerMethod()
 {
     World w = new World(3, 0, null);
     Player player1 = new Player("Meeeeee!", Color.HotPink, w);
     Player player2 = new Player("Meeeeee!2", Color.Red, w);
     w.addPlayer(player1);
     w.addPlayer(player2);
     Assert.IsFalse(w.checkWinner());
     player2.incrementPoints(20);
     Assert.IsTrue(w.checkWinner());
 }
 public void TestThatIntersectionCanDetemineWhenPlayerHasExistingConnection()
 {
     var world = new World(3, 0, null);
     Player player = new Player("sam", Color.Turquoise, world);
     player.getHand().incrementAllResources(3);
     world.addPlayer(player);
     world.setCurrentPlayer(player.getName());
     Assert.AreNotEqual(Color.White, world.tryToBuildAtIntersection(new Point(2, 4)));
     Assert.AreNotEqual(Color.White, world.roadButtonClicked(new Point(4, 4)));
     Assert.True(world.getMap().getIslandMap().getIntAtIndex(new Point(2, 5)).playerHasExistingConnection(Color.Turquoise));
 }
        public ResourceHexPictureBox(Hex hex, World world)
            : this()
        {
            resourceType = hex.getResourceType();
            this.BackColor = hex.getColor();
            this.token = hex.getToken();
            this.world = world;
            this.hex = hex;

            doubleClickTimer.Interval = 100;
            checkDesert();
        }
        //private List<System.Windows.Forms.Button> intersectionButtons = new List<System.Windows.Forms.Button>();
        /** Utility function to determine if a number is even */
        public GameScreen()
        {
            InitializeComponent();

            this.world = new World(3, 0, this);

            initializeAll();

            initializeBoardPanel();
            //this.world = new World(3,0);
            localize();
            this.updateResourceLabels();
            this.updateCurrentPlayerNameLabel();
            this.updateRoundLabel();
        }
        public void TestBuildHorizontalRoad()
        {
            World w = new World(3, 0, null);
            w.currentPlayer.getHand().incrementAllResources(1);
            w.tryToBuildAtIntersection(new Point(0, 3));
            bool flag = w.getMap().getIslandMap().buildHorizontalRoad(new Point(0, 0), w.currentPlayer);
            Assert.True(flag);

            w.currentPlayer.getHand().incrementAllResources(1);
            w.tryToBuildAtIntersection(new Point(1, 4));
            flag = w.getMap().getIslandMap().buildHorizontalRoad(new Point(2, 2), w.currentPlayer);
            Assert.True(flag);

            w.currentPlayer.getHand().incrementAllResources(1);
            w.tryToBuildAtIntersection(new Point(3, 5));
            flag = w.getMap().getIslandMap().buildHorizontalRoad(new Point(6, 4), w.currentPlayer);

            flag = w.getMap().getIslandMap().buildHorizontalRoad(new Point(8, 6), w.currentPlayer);
            Assert.False(flag);
        }
Esempio n. 16
0
        public void TestEndTurn()
        {
            var target = new World(3, 0, null);

            //testing first round
            Assert.AreEqual("Bob", target.currentPlayer.getName());
            target.endTurn();
            Assert.AreEqual("Joe", target.currentPlayer.getName());
            target.endTurn();
            Assert.AreEqual("Computer", target.currentPlayer.getName());

            // testing second round
            target.endTurn();
            Assert.AreEqual("Computer", target.currentPlayer.getName());
            target.endTurn();
            Assert.AreEqual("Joe", target.currentPlayer.getName());
            target.endTurn();
            Assert.AreEqual("Bob", target.currentPlayer.getName());
            target.endTurn();

            //testing third round
            //player has not rolled
            Assert.AreEqual("Bob", target.currentPlayer.getName());
            target.endTurn();
            Assert.AreEqual("Bob", target.currentPlayer.getName());
            //playerhas rolled
            target.rollDice();
            target.endTurn();
            Assert.AreEqual("Joe", target.currentPlayer.getName());
            target.rollDice();
            target.endTurn();
            Assert.AreEqual("Computer", target.currentPlayer.getName());
            target.rollDice();
            target.endTurn();
            Assert.AreEqual("Bob", target.currentPlayer.getName());
        }
Esempio n. 17
0
        public void TestThatVerticalRoadIsBuiltIfPlayerHasSettlement()
        {
            World world = new World(3, 0, null);
            Player player1 = new Player("Meeeeee!", Color.HotPink, world);
            world.addPlayer(player1);
            world.setCurrentPlayer(player1.getName());

            // Give player 5 resources of each except ore
            player1.getHand().modifyBrick(5);
            player1.getHand().modifyGrain(5);
            player1.getHand().modifyLumber(5);
            player1.getHand().modifyWool(5);
            world.tryToBuildAtIntersection(new Point(0, 2));
            Assert.AreEqual(Color.HotPink, world.roadButtonClicked(new Point(1, 0)));
        }
Esempio n. 18
0
        public void TestTryToBuildCityAtIntersectionWithoutEnoughResources()
        {
            World w = new World(3, 0, null);
            Player player1 = new Player("Meeeeee!", Color.HotPink, w);
            w.addPlayer(player1);
            w.setCurrentPlayer(player1.getName());

            w.currentPlayer.getHand().incrementAllResources(1);

            w.tryToBuildAtIntersection(new Point(3, 4));
            Color c = w.tryToBuildAtIntersection(new Point(3, 4));
            Assert.AreEqual(Color.White, c);
        }
        public void TestTradeForGrainAtPortThrowsWhenBankHasNone()
        {
            World world = new World();
            var player1 = new Player("Bob", Color.Red, world);
            var player2 = new Player("Jim", Color.Blue, world);

            player1.incrementSettlements();

            player2.incrementCities();
            player2.incrementCities();
            player2.incrementCities();
            player2.incrementCities();
            player2.incrementSettlements();

            player1.generateGrain();
            player2.generateGrain();
            player2.generateGrain();
            Assert.AreEqual(0, world.bank.getGrainRemaining());

            player1.generateOre();
            player1.generateOre();
            player1.generateOre();
            player1.tradeAtPort(3, "grain", "ore");
        }
        public void TestPlayDevCardOfEachType()
        {
            var world = new World(3, 0, null);

            var target = world.players[0];
            var target2 = world.players[1];

            target2.incrementCities();

            target.incrementCities();
            target.incrementCities();
            target.incrementCities();
            target.incrementCities();

            for (int i = 0; i < 2; i++)
            {
                target.generateGrain();
                target.generateOre();
                target.generateWool();
            }

            for (int i = 0; i < 16; i++)
            {
                target.tradeForDevCard();
            }

            for (int i = 0; i < 2; i++)
            {
                target.generateGrain();
                target.generateOre();
                target.generateWool();
            }

            for (int i = 0; i < 9; i++)
            {
                target.tradeForDevCard();
            }

            target2.generateBrick();

            Assert.AreEqual(2, target2.playerHand.getBrick());

            Assert.AreEqual(25, target.playerHand.getDevCardCount());
            Assert.AreEqual(0, target.playerHand.getKnights());
            Assert.AreEqual(0, target.playerHand.getBrick());
            Assert.AreEqual(0, target.playerHand.getLumber());

            target.playDevCard("knight", null, null);
            target.playDevCard("monopoly", "brick", null);
            target.playDevCard("yearOfPlenty", "brick", "lumber");
            target.playDevCard("victoryPoint", null, null);
            target.playDevCard("roadBuilder", null, null);

            Assert.AreEqual(20, target.playerHand.getDevCardCount());
            Assert.AreEqual(1, target.playerHand.getKnights());
            Assert.AreEqual(1, target.getPoints());
            Assert.AreEqual(3, target.playerHand.getBrick());
            Assert.AreEqual(1, target.playerHand.getLumber());
        }
Esempio n. 21
0
 public Computer(String computerName, Color computerColor, World world)
     : base(computerName, computerColor, world)
 {
 }
        public void TestTradeWithBankForWoolThrowsWhenBankHasNone()
        {
            World world = new World();
            var player1 = new Player("Bob", Color.Red, world);
            var player2 = new Player("Jim", Color.Blue, world);

            player1.incrementCities();
            player1.incrementCities();

            player2.incrementCities();
            player2.incrementCities();
            player2.incrementCities();
            player2.incrementCities();
            player2.incrementSettlements();

            player2.generateWool();
            player2.incrementSettlements();
            player2.generateWool();

            Assert.AreEqual(0, world.bank.getWoolRemaining());

            player1.generateBrick();

            player1.tradeWithBank("brick", "wool");
        }
        public void TestTradeWithBankForOreThrowsWhenBankHasNone()
        {
            World world = new World();
            var player1 = new Player("Bob", Color.Red, world);
            var player2 = new Player("Jim", Color.Blue, world);

            player1.incrementCities();
            player1.incrementCities();

            player2.incrementCities();
            player2.incrementCities();
            player2.incrementCities();
            player2.incrementCities();
            player2.incrementSettlements();

            player2.generateOre();
            player2.incrementSettlements();
            player2.generateOre();

            Assert.AreEqual(0, world.bank.getOreRemaining());

            player1.generateLumber();

            player1.tradeWithBank("lumber", "ore");
        }
        public void TestTradeForWoolAtPortThrowsWhenBankHasNone()
        {
            World world = new World();
            var player1 = new Player("Bob", Color.Red, world);
            var player2 = new Player("Jim", Color.Blue, world);

            player1.incrementSettlements();

            player2.incrementCities();
            player2.incrementCities();
            player2.incrementCities();
            player2.incrementCities();
            player2.incrementSettlements();

            player1.generateWool();
            player2.generateWool();
            player2.generateWool();
            Assert.AreEqual(0, world.bank.getWoolRemaining());

            player1.generateLumber();
            player1.generateLumber();
            player1.generateLumber();
            player1.tradeAtPort(3, "wool", "lumber");
        }
Esempio n. 25
0
        public void TestWorldInitializesProperly()
        {
            var target = new World();
            Assert.NotNull(target);

            var target2 = new World(2, 2, null);
            Assert.NotNull(target2);
        }
Esempio n. 26
0
 public void TestGenerateResourcesWithRequiredNumberOfRounds()
 {
     World w = new World(3, 0, null);
     int rounds = 0;
     for (int i = 0; i < 9; i++)
     {
         w.endTurn();
         if (i%3 == 0)
         {
             rounds++;
         }
     }
     Assert.AreEqual(rounds - 1, w.getNumberOfRoundsCompleted());
 }
        public void TestBuildVerticalRoadThrowsOnBadXValues()
        {
            World w = new World(3, 0, null);
            w.currentPlayer.getHand().incrementAllResources(1);
            w.currentPlayer.getHand().incrementAllResources(1);
            w.currentPlayer.getHand().incrementAllResources(1);

            w.getMap().getIslandMap().buildVerticalRoad(new Point(2, 3), w.currentPlayer);
        }
 public ResourceHexPictureBox(World world)
     : this()
 {
     this.world = world;
 }
        public void TestRoadHasPlayerBuildingAtSecondIntersection()
        {
            // IslandMap newMap = new IslandMap();
            World w = new World(3, 0, null);
            w.currentPlayer.getHand().incrementAllResources(1);
            w.tryToBuildAtIntersection(new Point(0, 3));

            bool flag = w.getMap().getIslandMap().roadHasPlayerBuilding(new Point(0, 2), new Point(0, 3), w.currentPlayer);
            Assert.True(flag);
        }
        public void TestConstructor()
        {
            var player0 = new Player();
            Assert.NotNull(player0);

            String playerName = "player1";
            Color playerColor = Color.Beige;
            var world = new World();
            var player1 = new Player(playerName, playerColor, world);
            Assert.IsTrue(player1.getColor() == playerColor);
            Assert.IsTrue(player1.getName() == playerName);
        }