Example #1
1
 // Victory Points awarded from the number of specific structure colour each neighbours constructed
 private static void AddVictoryNeighboursColour(Player p, Player east, Player west, CardColour c, int amount)
 {
     p.addScore(Score.VICTORY, GetVictoryNeighboursColour(east, west, c, amount));
 }
Example #2
0
 // Victory Points awarded from the number of wonderstages the player has built
 private static void AddVictoryWonder(Player p)
 {
     p.addScore(Score.VICTORY, p.getBoard().getStagesBuilt());
 }
Example #3
0
 // Victory Points awarded from the number of conflict points each neighbour has
 private static void AddVictoryNeighboursConflict(Player p, Player east, Player west)
 {
     p.addScore(Score.VICTORY, GetVictoryNeighboursConflict(east, west));
 }
Example #4
0
 // Victory Points awarded
 // Through the number of specific structure colour the player has constructed
 private static void AddVictoryColour(Player p, CardColour c, int amount)
 {
     p.addScore(Score.VICTORY, GetVictoryColour(p, c, amount));
 }
Example #5
0
 // Victory Points awarded from the number of wonderstages built from each neighbour including the player
 private static void AddVictoryAllWonders(Player p, Player east, Player west)
 {
     p.addScore(Score.VICTORY, GetVictoryAllWonders(p, east, west));
 }
Example #6
0
 // Victory Points, Army, Science or any other generic score
 // This could probably be used to replace alot of generic score functions
 private static void AddScore(Player p, Score s, int points)
 {
     p.addScore(s, points);
 }
Example #7
0
        // Science Choice - player chooses which science to gain from the card at the end of the game
        // NOTE: Should we have this as a max function? eg. Find max of gear, tablet, compass and just add 1?
        private static void AddScienceChoice(Player p, int x)
        {
            int gear = p.getScoreNum(Score.GEAR);
            int compass = p.getScoreNum(Score.COMPASS);
            int tablet = p.getScoreNum(Score.TABLET);

            if (x == 1)
            {
                int max1 = CalculateScience((gear + 1), compass, tablet);
                int max2 = CalculateScience(gear, (compass + 1), tablet);
                int max3 = CalculateScience(gear, compass, (tablet + 1));

                int maxScore = Math.Max(Math.Max(max1, max2), max3);
                if (maxScore == max1)
                    p.addScore(Score.GEAR, 1);
                else if (maxScore == max2)
                    p.addScore(Score.COMPASS, 1);
                else if (maxScore == max3)
                    p.addScore(Score.TABLET, 1);
            }
            else if (x == 2)
            {
                int max1 = CalculateScience(gear + 2, compass, tablet);
                int max2 = CalculateScience(gear, compass + 2, tablet);
                int max3 = CalculateScience(gear, compass, tablet + 2);
                int max4 = CalculateScience(gear + 1, compass + 1, tablet);
                int max5 = CalculateScience(gear + 1, compass, tablet + 1);
                int max6 = CalculateScience(gear, compass + 1, tablet + 1);

                int maxScore = Math.Max(Math.Max(Math.Max(Math.Max(Math.Max(max1, max2), max3), max4), max5), max6);

                if (maxScore == max1)
                    p.addScore(Score.GEAR, 2);
                else if (maxScore == max2)
                    p.addScore(Score.COMPASS, 2);
                else if (maxScore == max3)
                    p.addScore(Score.TABLET, 2);
                else if (maxScore == max4)
                {
                    p.addScore(Score.GEAR, 1);
                    p.addScore(Score.COMPASS, 1);
                }
                else if (maxScore == max5)
                {
                    p.addScore(Score.GEAR, 1);
                    p.addScore(Score.TABLET, 1);
                }
                else if (maxScore == max6)
                {
                    p.addScore(Score.COMPASS, 1);
                    p.addScore(Score.TABLET, 1);
                }
            }
        }