Beispiel #1
0
 public RentStandard(ActionCardAction actionType, int value, PropertyColor colorUp, PropertyColor colorDown)
     : base(actionType, value, "RENT " + colorUp + "/" + colorDown, "All players pay you rent for properties you own in one of these colours. Play into centre to use")
 {
     //Collect rent from all players on one of the propery groups they hold with one of these colors
     this.colorDown = colorDown;
     this.colorUp   = colorUp;
 }
        public PropertyCard(PropertyColor colorUp, PropertyColor colorDown, String nameUp, int fullsetSizeUp, int oneCardValUp, int twoCardValUp, int threeCardValUp, int fourCardValUp, int fiveCardValUp,
                            String nameDown, int fullsetSizeDown, int oneCardValDown, int twoCardValDown, int threeCardValDown, int fourCardValDown, int fiveCardValDown, int bankVal)
            : base(nameUp + " or " + nameDown, "Use either way up", bankVal, CardType.WildProperty)
        {
            //Two Color Wild Property Card
            isWild                           = true;
            isMultiWild                      = false;
            isCardUp                         = true;
            propertyColors                   = new List <PropertyColor>();
            this.currentPropertyColor        = colorUp;
            this.currentColorSetCompleteSize = fullsetSizeUp;
            this.oneCardInSetRentValue       = oneCardValUp;
            this.twoCardInSetRentValue       = twoCardValUp;
            this.threeCardInSetRentValue     = threeCardValUp;
            this.fourCardInSetRentValue      = fourCardValUp;
            this.fiveCardInSetRentValue      = fiveCardValUp;

            this.propertyColors.Add(colorUp);
            this.propertyColors.Add(colorDown);

            this.upSetSize = fullsetSizeUp;
            this.oneCardInSetRentValueUp   = oneCardValUp;
            this.twoCardInSetRentValueUp   = twoCardValUp;
            this.threeCardInSetRentValueUp = threeCardValUp;
            this.fourCardInSetRentValueUp  = fourCardValUp;
            this.fiveCardInSetRentValueUp  = fiveCardValUp;

            this.downSetSize = fullsetSizeDown;
            this.oneCardInSetRentValueDown   = oneCardValDown;
            this.twoCardInSetRentValueDown   = twoCardValDown;
            this.threeCardInSetRentValueDown = threeCardValDown;
            this.fourCardInSetRentValueDown  = fourCardValDown;
            this.fiveCardInSetRentValueDown  = fiveCardValDown;
        }
 public RentStandard(ActionCardAction actionType, int value, PropertyColor colorUp, PropertyColor colorDown)
     : base(actionType, value, "RENT " + colorUp + "/" + colorDown, "All players pay you rent for properties you own in one of these colours. Play into centre to use")
 {
     //Collect rent from all players on one of the propery groups they hold with one of these colors
     this.colorDown = colorDown;
     this.colorUp = colorUp;
 }
Beispiel #4
0
        //CONSTRUCTORS//

        //used when iteratively defining colorgroups
        public ColorGroup(int id, PropertyColor groupColor)
        {
            this.ID         = id;
            this.GroupColor = groupColor;
            GroupProperties = new ArrayList();
            //Colors will need to be iteratively added with the AddProperty method
        }//ColorGroup
Beispiel #5
0
 //CONSTRUCTORS//
 //used when iteratively defining colorgroups
 public ColorGroup(int id, PropertyColor groupColor)
 {
     this.ID = id;
     this.GroupColor = groupColor;
     GroupProperties = new ArrayList();
     //Colors will need to be iteratively added with the AddProperty method
 }
Beispiel #6
0
 /// <summary>
 /// Know if a player has a monopoly (= has all the streets of a specified color)
 /// </summary>
 /// <param name="player">Player</param>
 /// <param name="monopoly">The street group</param>
 public bool HasMonopoly(Player player, PropertyColor monopoly)
 {
     return(Cases
            .Where(c => c is StreetProperty)
            .Where(c => (c as StreetProperty).Group == monopoly)
            .All(c => (c as StreetProperty).Owner == player));
 }
Beispiel #7
0
        }//ColorGroup

        //used when pre-defining colorgroups
        public ColorGroup(PropertyColor groupColor, Tiles.Property prop1, Tiles.Property prop2)
        {
            this.GroupColor = groupColor;
            Tiles.Property[] props = new Tiles.Property[2] {
                prop1, prop2
            };
            AddPropertiesByArray(props);
        }//ColorGroup
Beispiel #8
0
        }//ColorGroup

        //used when pre-defining colorgroups
        public ColorGroup(PropertyColor propertyColor, Tiles.Property prop1, Tiles.Property prop2, Tiles.Property prop3)
        {
            this.GroupColor = propertyColor;
            Tiles.Property[] props = new Tiles.Property[3] {
                prop1, prop2, prop3
            };
            AddPropertiesByArray(props);
        }//ColorGroup
 public PropertyCardSet(PropertyCard propertyCard, Guid guid)
 {
     id = generateID();
     this.guid = guid;
     properties = new LinkedList<PropertyCard>();
     properties.AddFirst(propertyCard);
     propertySetColor = propertyCard.getPropertyColor();
 }
Beispiel #10
0
 public PropertyCardSet(PropertyCard propertyCard, Guid guid)
 {
     id         = generateID();
     this.guid  = guid;
     properties = new LinkedList <PropertyCard>();
     properties.AddFirst(propertyCard);
     propertySetColor = propertyCard.getPropertyColor();
 }
 public void setPropertyInfo(PropertyColor propertyColor, int numberOfCardsInFullSet, int onePropertyCardRentValue,
                             int twoPropertCardRentValue, int threePropertyCardRentValue, int fourPropertyCardRentValue)
 {
     this.propertyColor              = propertyColor;
     this.numberOfCardsInFullSet     = numberOfCardsInFullSet;
     this.onePropertyCardRentValue   = onePropertyCardRentValue;
     this.twoPropertCardRentValue    = twoPropertCardRentValue;
     this.threePropertyCardRentValue = threePropertyCardRentValue;
     this.fourPropertyCardRentValue  = fourPropertyCardRentValue;
 }
 public void setCardUp(PropertyColor newUpColor)
 {
     if (propertyColors[0] == newUpColor)
     {
         isCardUp = true;
     }
     else
     {
         isCardUp = false;
     }
 }
Beispiel #13
0
 public Property(int position, String name, PropertyColor color, int cost, Rent rent, int mortgageVal)
     : base(position, name, cost, mortgageVal, "Property")
 {
     this.Position = position;
     this.Name = name;
     this.OwnerID = -1; //interpreted as no owner
     this.Color = color;
     this.Cost = cost;
     this.Rent = rent;
     this.ImprovementLevel = ImprovementLevel.NoImprovement; //all spaces start with no improvements
     this.MortgageVal = mortgageVal;
     SetImprovementCost();
 }
        public PropertySetInfo(PropertyColor pc)
        {
            int notAbleToBeFullSet = 100;

            switch (pc)
            {
            case PropertyColor.Blue:
                setPropertyInfo(PropertyColor.Blue, 2, 3, 8, 8, 8);
                break;

            case PropertyColor.Brown:
                setPropertyInfo(PropertyColor.Brown, 2, 1, 2, 2, 2);
                break;

            case PropertyColor.Green:
                setPropertyInfo(PropertyColor.Green, 3, 2, 4, 7, 7);
                break;

            case PropertyColor.LightBlue:
                setPropertyInfo(PropertyColor.LightBlue, 3, 1, 2, 3, 3);
                break;

            case PropertyColor.Orange:
                setPropertyInfo(PropertyColor.Orange, 3, 1, 3, 5, 5);
                break;

            case PropertyColor.Pink:
                setPropertyInfo(PropertyColor.Pink, 3, 1, 2, 4, 4);
                break;

            case PropertyColor.Red:
                setPropertyInfo(PropertyColor.Red, 3, 2, 3, 6, 6);
                break;

            case PropertyColor.Yellow:
                setPropertyInfo(PropertyColor.Yellow, 3, 2, 4, 6, 6);
                break;

            case PropertyColor.Station:
                setPropertyInfo(PropertyColor.Station, 4, 1, 2, 3, 4);
                break;

            case PropertyColor.Utilities:
                setPropertyInfo(PropertyColor.Utilities, 2, 1, 2, 2, 2);
                break;

            case PropertyColor.Wild_MultiColored:
                setPropertyInfo(PropertyColor.Wild_MultiColored, notAbleToBeFullSet, 0, 0, 0, 0);
                break;
            }
        }
Beispiel #15
0
        public bool addProperty(PropertyCard newCard)
        {
            //Returns true if property card is added to set
            //Returns false if property card is not added to set

            bool isThisSetFull = false;

            if (properties.Count == 0)
            {
                //Card is first Card in set
                properties.AddLast(newCard);
                propertySetColor = newCard.getPropertyColor();
                return(true);
            }
            isThisSetFull = this.isFullSet();
            if (isThisSetFull)
            {
                //Set full
                return(false);
            }
            if (properties.Count > 0 && !isThisSetFull)
            {
                if (isPropertyCompatible(newCard))
                {
                    newCard.currentPropertyColor = propertySetColor;//Danger
                    properties.AddLast(newCard);
                    return(true);
                }
                return(false);

                /*
                 * //used to track wether property card is up or down
                 * bool isUp = false;
                 * foreach (PropertyColor newCardColor in newCard.propertyColors)
                 * {
                 *  if (newCardColor.CompareTo(getPropertySetColor()) == 0)
                 *  {
                 *      isUp = !isUp;
                 *      newCard.isCardUp = isUp;
                 *      newCard.currentPropertyColor = newCardColor;
                 *      properties.AddLast(newCard);
                 *      //Card is correct colour
                 *      return true;
                 *  }
                 * }
                 * */
            }
            //Card is not correct colour
            return(false);
        }
Beispiel #16
0
 public PropertyCardSet(PropertyCardSet pcs, PlayFieldModel state)//Clone Constructor
 {
     id       = pcs.id;
     guid     = pcs.guid;
     hasHouse = pcs.hasHouse;
     hasHotel = pcs.hasHotel;
     if (pcs.hotel != null)
     {
         this.hotel = state.deck.getCardByID(pcs.hotel.cardID);
     }
     if (pcs.house != null)
     {
         this.house = state.deck.getCardByID(pcs.house.cardID);
     }
     properties       = pcs.properties.cloneLinkedListPropertyCard(state.deck);
     propertySetColor = pcs.propertySetColor;
 }
 //const
 public Property(String name, PropertyColor propertyColor, int[] rent, int cost, int houseCost, int mortgageValue)
 {
     this.hotelCount     = 0;
     this.propertyColor  = propertyColor;
     this.mortgaged      = false;
     this.houseCount     = 0;
     this.name           = name;
     this.cost           = cost;
     this.houseCost      = houseCost;
     this.mortgageValue  = mortgageValue;
     this.mortgageAmount = mortgageValue;
     this.rent           = new int[6]; // 6 is the number of rent types, it is constant and always will be
     for (int i = 0; i < 6; i++)
     {
         this.rent[i] = rent[i];
     }
     this.owner = null;
 }
        public int getRentValue(PropertyColor propertyColor, int numberOfProperties, bool hasHouse, bool hasHotel)
        {
            int rentValue = 0;

            switch (numberOfProperties)
            {
            case 1:
                rentValue = onePropertyCardRentValue;
                break;

            case 2:
                rentValue = twoPropertCardRentValue;
                if (numberOfProperties == numberOfCardsInFullSet && propertyColor != PropertyColor.Utilities && hasHouse)
                {
                    rentValue += houseValue;
                    if (hasHotel)
                    {
                        rentValue += hotelValue;
                    }
                }
                break;

            case 3:
                rentValue = threePropertyCardRentValue;
                if (numberOfProperties == numberOfCardsInFullSet && hasHouse)
                {
                    rentValue += houseValue;
                    if (hasHotel)
                    {
                        rentValue += hotelValue;
                    }
                }
                break;

            case 4:
                rentValue = fourPropertyCardRentValue;
                break;

            default:
                rentValue = 0;
                break;
            }
            return(rentValue);
        }
 public PropertyCard(PropertyColor color)
     : base("PROPERTY WILD CARD", "This card can be used as part of any property set. This card has no monetary value.", 0, CardType.WildProperty)
 {
     //MultiColor Wild PropertyCard
     isCardUp       = true;
     isWild         = true;
     isMultiWild    = true;
     propertyColors = new List <PropertyColor>();
     propertyColors.Add(PropertyColor.Wild_MultiColored);
     propertyColors.Add(PropertyColor.Blue);
     propertyColors.Add(PropertyColor.Brown);
     propertyColors.Add(PropertyColor.Green);
     propertyColors.Add(PropertyColor.LightBlue);
     propertyColors.Add(PropertyColor.Orange);
     propertyColors.Add(PropertyColor.Pink);
     propertyColors.Add(PropertyColor.Red);
     propertyColors.Add(PropertyColor.Station);
     propertyColors.Add(PropertyColor.Utilities);
     propertyColors.Add(PropertyColor.Yellow);
     this.currentPropertyColor = PropertyColor.Wild_MultiColored;
 }
 public PropertyCard(PropertyColor color, String name, int fullsetSize, int oneCardVal, int twoCardVal, int threeCardVal, int fourCardVal, int fiveCardVal, int bankVal)
     : base(name, "rent", bankVal, CardType.Property)
 {
     //Standard Property card
     isWild                           = false;
     isMultiWild                      = false;
     isCardUp                         = true;
     propertyColors                   = new List <PropertyColor>();
     this.currentPropertyColor        = color;
     this.currentColorSetCompleteSize = fullsetSize;
     this.oneCardInSetRentValue       = oneCardVal;
     this.twoCardInSetRentValue       = twoCardVal;
     this.threeCardInSetRentValue     = threeCardVal;
     this.fourCardInSetRentValue      = fourCardVal;
     this.fiveCardInSetRentValue      = fiveCardVal;
     propertyColors.Add(color);
     foreach (PropertyColor pc in propertyColors)
     {
         description = pc.ToString() + " " + description;
     }
 }
 public PropertySetInfo(PropertyColor pc)
 {
     int notAbleToBeFullSet = 100;
     switch (pc)
     {
         case PropertyColor.Blue:
             setPropertyInfo(PropertyColor.Blue, 2, 3, 8, 8, 8);
             break;
         case PropertyColor.Brown:
             setPropertyInfo(PropertyColor.Brown, 2, 1, 2, 2, 2);
             break;
         case PropertyColor.Green:
             setPropertyInfo(PropertyColor.Green, 3, 2, 4, 7, 7);
             break;
         case PropertyColor.LightBlue:
             setPropertyInfo(PropertyColor.LightBlue, 3, 1, 2, 3, 3);
             break;
         case PropertyColor.Orange:
             setPropertyInfo(PropertyColor.Orange, 3, 1, 3, 5, 5);
             break;
         case PropertyColor.Pink:
             setPropertyInfo(PropertyColor.Pink, 3, 1, 2, 4, 4);
             break;
         case PropertyColor.Red:
             setPropertyInfo(PropertyColor.Red, 3, 2, 3, 6, 6);
             break;
         case PropertyColor.Yellow:
             setPropertyInfo(PropertyColor.Yellow, 3, 2, 4, 6, 6);
             break;
         case PropertyColor.Station:
             setPropertyInfo(PropertyColor.Station, 4, 1, 2, 3, 4);
             break;
         case PropertyColor.Utilities:
             setPropertyInfo(PropertyColor.Utilities, 2, 1, 2, 2, 2);
             break;
         case PropertyColor.Wild_MultiColored:
             setPropertyInfo(PropertyColor.Wild_MultiColored, notAbleToBeFullSet, 0, 0, 0, 0);
             break;
     }
 }
Beispiel #22
0
 //used when pre-defining colorgroups
 public ColorGroup(PropertyColor propertyColor, Tiles.Property prop1, Tiles.Property prop2, Tiles.Property prop3)
 {
     this.GroupColor = propertyColor;
     Tiles.Property[] props = new Tiles.Property[3] { prop1, prop2, prop3 };
     AddPropertiesByArray(props);
 }
        public PropertyCard(PropertyColor colorUp, PropertyColor colorDown, String nameUp, int fullsetSizeUp, int oneCardValUp, int twoCardValUp, int threeCardValUp, int fourCardValUp, int fiveCardValUp,
            String nameDown, int fullsetSizeDown, int oneCardValDown, int twoCardValDown, int threeCardValDown, int fourCardValDown, int fiveCardValDown, int bankVal)
            : base(nameUp + " or " + nameDown, "Use either way up", bankVal, CardType.WildProperty)
        {
            //Two Color Wild Property Card
            isWild = true;
            isMultiWild = false;
            isCardUp = true;
            propertyColors = new List<PropertyColor>();
            this.currentPropertyColor = colorUp;
            this.currentColorSetCompleteSize = fullsetSizeUp;
            this.oneCardInSetRentValue = oneCardValUp;
            this.twoCardInSetRentValue = twoCardValUp;
            this.threeCardInSetRentValue = threeCardValUp;
            this.fourCardInSetRentValue = fourCardValUp;
            this.fiveCardInSetRentValue = fiveCardValUp;

            this.propertyColors.Add(colorUp);
            this.propertyColors.Add(colorDown);

            this.upSetSize = fullsetSizeUp;
            this.oneCardInSetRentValueUp = oneCardValUp;
            this.twoCardInSetRentValueUp = twoCardValUp;
            this.threeCardInSetRentValueUp = threeCardValUp;
            this.fourCardInSetRentValueUp = fourCardValUp;
            this.fiveCardInSetRentValueUp = fiveCardValUp;

            this.downSetSize = fullsetSizeDown;
            this.oneCardInSetRentValueDown = oneCardValDown;
            this.twoCardInSetRentValueDown = twoCardValDown;
            this.threeCardInSetRentValueDown = threeCardValDown;
            this.fourCardInSetRentValueDown = fourCardValDown;
            this.fiveCardInSetRentValueDown = fiveCardValDown;
        }
Beispiel #24
0
 //used when pre-defining colorgroups
 public ColorGroup(PropertyColor groupColor, Tiles.Property prop1, Tiles.Property prop2)
 {
     this.GroupColor = groupColor;
     Tiles.Property[] props = new Tiles.Property[2] { prop1, prop2 };
     AddPropertiesByArray(props);
 }
 public RentStandard(RentStandard rentStandard)
     : base(rentStandard.actionType, rentStandard.cardValue, rentStandard.cardName, rentStandard.cardText, rentStandard.cardID, rentStandard.cardGuid, rentStandard.description, rentStandard.MonetaryValueOnly)
 {
     this.colorDown = rentStandard.colorDown;
     this.colorUp = rentStandard.colorUp;
 }
 public int getRentValue(PropertyColor propertyColor, int numberOfProperties, bool hasHouse, bool hasHotel)
 {
     int rentValue = 0;
     switch (numberOfProperties)
     {
         case 1:
             rentValue = onePropertyCardRentValue;
             break;
         case 2:
             rentValue = twoPropertCardRentValue;
             if (numberOfProperties == numberOfCardsInFullSet && propertyColor != PropertyColor.Utilities && hasHouse)
             {
                 rentValue += houseValue;
                 if (hasHotel)
                 {
                     rentValue += hotelValue;
                 }
             }
             break;
         case 3:
             rentValue = threePropertyCardRentValue;
             if (numberOfProperties == numberOfCardsInFullSet && hasHouse)
             {
                 rentValue += houseValue;
                 if (hasHotel)
                 {
                     rentValue += hotelValue;
                 }
             }
             break;
         case 4:
             rentValue = fourPropertyCardRentValue;
             break;
         default:
             rentValue = 0;
             break;
     }
     return rentValue;
 }
 public PropertyCard(PropertyColor color, String name, int fullsetSize, int oneCardVal, int twoCardVal, int threeCardVal, int fourCardVal, int fiveCardVal, int bankVal)
     : base(name, "rent", bankVal, CardType.Property)
 {
     //Standard Property card
     isWild = false;
     isMultiWild = false;
     isCardUp = true;
     propertyColors = new List<PropertyColor>();
     this.currentPropertyColor = color;
     this.currentColorSetCompleteSize = fullsetSize;
     this.oneCardInSetRentValue = oneCardVal;
     this.twoCardInSetRentValue = twoCardVal;
     this.threeCardInSetRentValue = threeCardVal;
     this.fourCardInSetRentValue = fourCardVal;
     this.fiveCardInSetRentValue = fiveCardVal;
     propertyColors.Add(color);
     foreach (PropertyColor pc in propertyColors)
     {
         description = pc.ToString() + " " + description;
     }
 }
 public void setPropertyInfo(PropertyColor propertyColor, int numberOfCardsInFullSet, int onePropertyCardRentValue,
     int twoPropertCardRentValue, int threePropertyCardRentValue, int fourPropertyCardRentValue)
 {
     this.propertyColor = propertyColor;
     this.numberOfCardsInFullSet = numberOfCardsInFullSet;
     this.onePropertyCardRentValue = onePropertyCardRentValue;
     this.twoPropertCardRentValue = twoPropertCardRentValue;
     this.threePropertyCardRentValue = threePropertyCardRentValue;
     this.fourPropertyCardRentValue = fourPropertyCardRentValue;
 }
        public bool addProperty(PropertyCard newCard)
        {
            //Returns true if property card is added to set
            //Returns false if property card is not added to set

            bool isThisSetFull = false;
            if (properties.Count == 0)
            {
                //Card is first Card in set
                properties.AddLast(newCard);
                propertySetColor = newCard.getPropertyColor();
                return true;
            }
            isThisSetFull = this.isFullSet();
            if (isThisSetFull)
            {
                //Set full
                return false;
            }
            if (properties.Count > 0 && !isThisSetFull)
            {
                if (isPropertyCompatible(newCard))
                {
                    newCard.currentPropertyColor = propertySetColor;//Danger
                    properties.AddLast(newCard);
                    return true;
                }
                return false;
                /*
                //used to track wether property card is up or down
                bool isUp = false;
                foreach (PropertyColor newCardColor in newCard.propertyColors)
                {
                    if (newCardColor.CompareTo(getPropertySetColor()) == 0)
                    {
                        isUp = !isUp;
                        newCard.isCardUp = isUp;
                        newCard.currentPropertyColor = newCardColor;
                        properties.AddLast(newCard);
                        //Card is correct colour
                        return true;
                    }
                }
                 * */
            }
            //Card is not correct colour
            return false;
        }
Beispiel #30
0
 public RentStandard(RentStandard rentStandard)
     : base(rentStandard.actionType, rentStandard.cardValue, rentStandard.cardName, rentStandard.cardText, rentStandard.cardID, rentStandard.cardGuid, rentStandard.description, rentStandard.MonetaryValueOnly)
 {
     this.colorDown = rentStandard.colorDown;
     this.colorUp   = rentStandard.colorUp;
 }
 public void setCardUp(PropertyColor newUpColor)
 {
     if (propertyColors[0] == newUpColor)
     {
         isCardUp = true;
     }
     else
     {
         isCardUp = false;
     }
 }
 public PropertyCard(PropertyColor color)
     : base("PROPERTY WILD CARD", "This card can be used as part of any property set. This card has no monetary value.", 0, CardType.WildProperty)
 {
     //MultiColor Wild PropertyCard
     isCardUp = true;
     isWild = true;
     isMultiWild = true;
     propertyColors = new List<PropertyColor>();
     propertyColors.Add(PropertyColor.Wild_MultiColored);
     propertyColors.Add(PropertyColor.Blue);
     propertyColors.Add(PropertyColor.Brown);
     propertyColors.Add(PropertyColor.Green);
     propertyColors.Add(PropertyColor.LightBlue);
     propertyColors.Add(PropertyColor.Orange);
     propertyColors.Add(PropertyColor.Pink);
     propertyColors.Add(PropertyColor.Red);
     propertyColors.Add(PropertyColor.Station);
     propertyColors.Add(PropertyColor.Utilities);
     propertyColors.Add(PropertyColor.Yellow);
     this.currentPropertyColor = PropertyColor.Wild_MultiColored;
 }
 //Clone Constructor
 public PropertyCardSet(PropertyCardSet pcs, PlayFieldModel state)
 {
     id = pcs.id;
     guid = pcs.guid;
     hasHouse = pcs.hasHouse;
     hasHotel = pcs.hasHotel;
     if (pcs.hotel != null)
     {
         this.hotel = state.deck.getCardByID(pcs.hotel.cardID);
     }
     if (pcs.house != null)
     {
         this.house = state.deck.getCardByID(pcs.house.cardID);
     }
     properties = pcs.properties.cloneLinkedListPropertyCard(state.deck);
     propertySetColor = pcs.propertySetColor;
 }
Beispiel #34
0
 SetValue(PropertyColor, value);
 public PropertyCard(PropertyCard original)
     : base(original.cardName, original.cardText, original.cardValue, original.cardType, original.cardID, original.cardGuid)
 {
     this.currentColorSetCompleteSize = original.currentColorSetCompleteSize;
     this.currentPropertyColor = original.currentPropertyColor;
     this.downSetSize = original.downSetSize;
     this.fiveCardInSetRentValue = original.fiveCardInSetRentValue;
     this.fiveCardInSetRentValueDown = original.fiveCardInSetRentValueDown;
     this.fiveCardInSetRentValueUp = original.fiveCardInSetRentValueUp;
     this.fourCardInSetRentValue = original.fourCardInSetRentValue;
     this.fourCardInSetRentValueDown = original.fourCardInSetRentValueDown;
     this.fourCardInSetRentValueUp = original.fourCardInSetRentValueUp;
     this.isCardUp = original.isCardUp;
     this.isMultiWild = original.isMultiWild;
     this.isWild = original.isWild;
     this.oneCardInSetRentValue = original.oneCardInSetRentValue;
     this.oneCardInSetRentValueDown = original.oneCardInSetRentValueDown;
     this.oneCardInSetRentValueUp = original.oneCardInSetRentValueUp;
     this.propertyColors = original.propertyColors.cloneListPropertyColor();
     this.threeCardInSetRentValue = original.threeCardInSetRentValue;
     this.threeCardInSetRentValueDown = original.threeCardInSetRentValueDown;
     this.threeCardInSetRentValueUp = original.threeCardInSetRentValueUp;
     this.twoCardInSetRentValue = original.twoCardInSetRentValue;
     this.twoCardInSetRentValueDown = original.twoCardInSetRentValueDown;
     this.twoCardInSetRentValueUp = original.twoCardInSetRentValueUp;
     this.upSetSize = original.upSetSize;
 }