Example #1
0
 public ShareHolderGui(ShareHolderSpace space, Color color, SpaceRegion spaceRegion, Rectangle bounds = new Rectangle())
 {
     this.Space       = space;
     this.Color       = color;
     this.Bounds      = bounds;
     this.SpaceRegion = spaceRegion;
 }
Example #2
0
        public Board()
        {
            #region StartSpaces

            this.StartSpace1 = new StartSpace();
            this.StartSpace2 = new StartSpace();
            this.StartSpace3 = new StartSpace();
            this.StartSpace4 = new StartSpace();

            #endregion

            #region ShareHolders Meetings
            #region Alcoa ShareHolders Meeting
            AlcoaFirstShareHolderSquare = new ShareHolderSpace(Stock.Alcoa, Direction.Left, 1);
            ISpace alcoaCurrent = AlcoaFirstShareHolderSquare;
            alcoaCurrent.Left = new ShareHolderSpace(Stock.Alcoa, Direction.Left, 2);
            alcoaCurrent      = alcoaCurrent.Left;
            alcoaCurrent.Left = new ShareHolderSpace(Stock.Alcoa, Direction.Left, 1);
            alcoaCurrent      = alcoaCurrent.Left;
            alcoaCurrent.Left = new ShareHolderSpace(Stock.Alcoa, Direction.Left, 2);
            alcoaCurrent      = alcoaCurrent.Left;
            alcoaCurrent.Left = new ShareHolderSpace(Stock.Alcoa, Direction.Left, 3);
            alcoaCurrent      = alcoaCurrent.Left;
            alcoaCurrent.Left = new ShareHolderSpace(Stock.Alcoa, Direction.Left, 2);
            alcoaCurrent      = alcoaCurrent.Left;
            alcoaCurrent.Left = new ShareHolderSpace(Stock.Alcoa, Direction.Left, 1);
            alcoaCurrent      = alcoaCurrent.Left;
            alcoaCurrent.Left = new ShareHolderSpace(Stock.Alcoa, Direction.Left, 2);
            alcoaCurrent      = alcoaCurrent.Left;
            alcoaCurrent.Left = new ShareHolderSpace(Stock.Alcoa, Direction.Left, 1);
            alcoaCurrent      = alcoaCurrent.Left;
            #endregion

            #region Woolsworth ShareHolders Meeting

            WoolsworthFirstShareHolderSquare = new ShareHolderSpace(Stock.Woolsworth, Direction.Right, 1);

            ISpace woolsWorthCurrent = WoolsworthFirstShareHolderSquare;
            woolsWorthCurrent.Right = new ShareHolderSpace(Stock.Woolsworth, Direction.Right, 2);
            woolsWorthCurrent       = woolsWorthCurrent.Right;
            woolsWorthCurrent.Right = new ShareHolderSpace(Stock.Woolsworth, Direction.Right, 1);
            woolsWorthCurrent       = woolsWorthCurrent.Right;
            woolsWorthCurrent.Right = new ShareHolderSpace(Stock.Woolsworth, Direction.Right, 2);
            woolsWorthCurrent       = woolsWorthCurrent.Right;
            woolsWorthCurrent.Left  = new ShareHolderSpace(Stock.Woolsworth, Direction.Right, 3);
            woolsWorthCurrent       = woolsWorthCurrent.Right;
            woolsWorthCurrent.Right = new ShareHolderSpace(Stock.Woolsworth, Direction.Right, 2);
            woolsWorthCurrent       = woolsWorthCurrent.Right;
            woolsWorthCurrent.Right = new ShareHolderSpace(Stock.Woolsworth, Direction.Right, 1);
            woolsWorthCurrent       = woolsWorthCurrent.Right;
            woolsWorthCurrent.Right = new ShareHolderSpace(Stock.Woolsworth, Direction.Right, 2);
            woolsWorthCurrent       = woolsWorthCurrent.Right;
            woolsWorthCurrent.Right = new ShareHolderSpace(Stock.Woolsworth, Direction.Right, 1);
            woolsWorthCurrent       = woolsWorthCurrent.Right;
            #endregion

            #region Maytag ShareHolders Meeting

            MaytagFirstShareHolderSquare = new ShareHolderSpace(Stock.Maytag, Direction.Left, 1);
            ISpace maytagCurrent = MaytagFirstShareHolderSquare;
            maytagCurrent.Left = new ShareHolderSpace(Stock.Maytag, Direction.Left, 2);
            maytagCurrent      = maytagCurrent.Left;
            maytagCurrent.Left = new ShareHolderSpace(Stock.Maytag, Direction.Left, 3);
            maytagCurrent      = maytagCurrent.Left;
            maytagCurrent.Left = new ShareHolderSpace(Stock.Maytag, Direction.Left, 2);
            maytagCurrent      = maytagCurrent.Left;
            maytagCurrent.Left = new ShareHolderSpace(Stock.Maytag, Direction.Left, 3);
            maytagCurrent      = maytagCurrent.Left;
            maytagCurrent.Left = new ShareHolderSpace(Stock.Maytag, Direction.Left, 2);
            maytagCurrent      = maytagCurrent.Left;
            maytagCurrent.Left = new ShareHolderSpace(Stock.Maytag, Direction.Left, 3);
            maytagCurrent      = maytagCurrent.Left;
            maytagCurrent.Left = new ShareHolderSpace(Stock.Maytag, Direction.Left, 2);
            maytagCurrent      = maytagCurrent.Left;
            maytagCurrent.Left = new ShareHolderSpace(Stock.Maytag, Direction.Left, 1);
            maytagCurrent      = maytagCurrent.Left;
            #endregion

            #region Western Publishing ShareHolders Meeting

            WesterPubFirstShareHolderSquare = new ShareHolderSpace(Stock.WesternPublishing, Direction.Left, 1);
            ISpace westernPubCurrent = WesterPubFirstShareHolderSquare;
            westernPubCurrent.Left = new ShareHolderSpace(Stock.WesternPublishing, Direction.Left, 2);
            westernPubCurrent      = westernPubCurrent.Left;
            westernPubCurrent.Left = new ShareHolderSpace(Stock.WesternPublishing, Direction.Left, 3);
            westernPubCurrent      = westernPubCurrent.Left;
            westernPubCurrent.Left = new ShareHolderSpace(Stock.WesternPublishing, Direction.Left, 2);
            westernPubCurrent      = westernPubCurrent.Left;
            westernPubCurrent.Left = new ShareHolderSpace(Stock.WesternPublishing, Direction.Left, 1);
            westernPubCurrent      = westernPubCurrent.Left;
            westernPubCurrent.Left = new ShareHolderSpace(Stock.WesternPublishing, Direction.Left, 2);
            westernPubCurrent      = westernPubCurrent.Left;
            westernPubCurrent.Left = new ShareHolderSpace(Stock.WesternPublishing, Direction.Left, 3);
            westernPubCurrent      = westernPubCurrent.Left;
            westernPubCurrent.Left = new ShareHolderSpace(Stock.WesternPublishing, Direction.Left, 2);
            westernPubCurrent      = westernPubCurrent.Left;
            westernPubCurrent.Left = new ShareHolderSpace(Stock.WesternPublishing, Direction.Left, 1);
            westernPubCurrent      = westernPubCurrent.Left;
            #endregion

            #region General Mills ShareHolders Meeting

            GeneralMillsFirstShareHolderSquare = new ShareHolderSpace(Stock.GeneralMills, Direction.Left, 1);
            ISpace generalMillsCurrent = GeneralMillsFirstShareHolderSquare;
            generalMillsCurrent.Left = new ShareHolderSpace(Stock.GeneralMills, Direction.Left, 3);
            generalMillsCurrent      = generalMillsCurrent.Left;
            generalMillsCurrent.Left = new ShareHolderSpace(Stock.GeneralMills, Direction.Left, 2);
            generalMillsCurrent      = generalMillsCurrent.Left;
            generalMillsCurrent.Left = new ShareHolderSpace(Stock.GeneralMills, Direction.Left, 3);
            generalMillsCurrent      = generalMillsCurrent.Left;
            generalMillsCurrent.Left = new ShareHolderSpace(Stock.GeneralMills, Direction.Left, 2);
            generalMillsCurrent      = generalMillsCurrent.Left;
            generalMillsCurrent.Left = new ShareHolderSpace(Stock.GeneralMills, Direction.Left, 3);
            generalMillsCurrent      = generalMillsCurrent.Left;
            generalMillsCurrent.Left = new ShareHolderSpace(Stock.GeneralMills, Direction.Left, 2);
            generalMillsCurrent      = generalMillsCurrent.Left;
            generalMillsCurrent.Left = new ShareHolderSpace(Stock.GeneralMills, Direction.Left, 3);
            generalMillsCurrent      = generalMillsCurrent.Left;
            generalMillsCurrent.Left = new ShareHolderSpace(Stock.GeneralMills, Direction.Left, 1);
            generalMillsCurrent      = generalMillsCurrent.Left;
            #endregion

            #region International ShareHolders Meeting

            InterShoeFirstShareHolderSquare = new ShareHolderSpace(Stock.InternationalShoe, Direction.Left, 1);
            ISpace internationalShoeCurrent = InterShoeFirstShareHolderSquare;
            internationalShoeCurrent.Left = new ShareHolderSpace(Stock.InternationalShoe, Direction.Left, 3);
            internationalShoeCurrent      = internationalShoeCurrent.Left;
            internationalShoeCurrent.Left = new ShareHolderSpace(Stock.InternationalShoe, Direction.Left, 2);
            internationalShoeCurrent      = internationalShoeCurrent.Left;
            internationalShoeCurrent.Left = new ShareHolderSpace(Stock.InternationalShoe, Direction.Left, 3);
            internationalShoeCurrent      = internationalShoeCurrent.Left;
            internationalShoeCurrent.Left = new ShareHolderSpace(Stock.InternationalShoe, Direction.Left, 2);
            internationalShoeCurrent      = internationalShoeCurrent.Left;
            internationalShoeCurrent.Left = new ShareHolderSpace(Stock.InternationalShoe, Direction.Left, 3);
            internationalShoeCurrent      = internationalShoeCurrent.Left;
            internationalShoeCurrent.Left = new ShareHolderSpace(Stock.InternationalShoe, Direction.Left, 2);
            internationalShoeCurrent      = internationalShoeCurrent.Left;
            internationalShoeCurrent.Left = new ShareHolderSpace(Stock.InternationalShoe, Direction.Left, 3);
            internationalShoeCurrent      = internationalShoeCurrent.Left;
            internationalShoeCurrent.Left = new ShareHolderSpace(Stock.InternationalShoe, Direction.Left, 1);
            internationalShoeCurrent      = internationalShoeCurrent.Left;
            #endregion

            #region American Motors ShareHolders Meeting

            AmericanMotorsFirstShareHolderSquare = new ShareHolderSpace(Stock.AmericanMotors, Direction.Left, 1);
            ISpace americanMotorsCurrent = AmericanMotorsFirstShareHolderSquare;
            americanMotorsCurrent.Left = new ShareHolderSpace(Stock.AmericanMotors, Direction.Left, 2);
            americanMotorsCurrent      = americanMotorsCurrent.Left;
            americanMotorsCurrent.Left = new ShareHolderSpace(Stock.AmericanMotors, Direction.Left, 3);
            americanMotorsCurrent      = americanMotorsCurrent.Left;
            americanMotorsCurrent.Left = new ShareHolderSpace(Stock.AmericanMotors, Direction.Left, 2);
            americanMotorsCurrent      = americanMotorsCurrent.Left;
            americanMotorsCurrent.Left = new ShareHolderSpace(Stock.AmericanMotors, Direction.Left, 1);
            americanMotorsCurrent      = americanMotorsCurrent.Left;
            americanMotorsCurrent.Left = new ShareHolderSpace(Stock.AmericanMotors, Direction.Left, 2);
            americanMotorsCurrent      = americanMotorsCurrent.Left;
            americanMotorsCurrent.Left = new ShareHolderSpace(Stock.AmericanMotors, Direction.Left, 3);
            americanMotorsCurrent      = americanMotorsCurrent.Left;
            americanMotorsCurrent.Left = new ShareHolderSpace(Stock.AmericanMotors, Direction.Left, 2);
            americanMotorsCurrent      = americanMotorsCurrent.Left;
            americanMotorsCurrent.Left = new ShareHolderSpace(Stock.AmericanMotors, Direction.Left, 1);
            americanMotorsCurrent      = americanMotorsCurrent.Left;
            #endregion

            #region J.I.Case ShareHolders Meeting
            JICaseFirstShareHolderSquare = new ShareHolderSpace(Stock.JICase, Direction.Left, 1);
            ISpace jiCaseCurrent = JICaseFirstShareHolderSquare;
            jiCaseCurrent.Left = new ShareHolderSpace(Stock.JICase, Direction.Left, 2);
            jiCaseCurrent      = jiCaseCurrent.Left;
            jiCaseCurrent.Left = new ShareHolderSpace(Stock.JICase, Direction.Left, 3);
            jiCaseCurrent      = jiCaseCurrent.Left;
            jiCaseCurrent.Left = new ShareHolderSpace(Stock.JICase, Direction.Left, 2);
            jiCaseCurrent      = jiCaseCurrent.Left;
            jiCaseCurrent.Left = new ShareHolderSpace(Stock.JICase, Direction.Left, 3);
            jiCaseCurrent      = jiCaseCurrent.Left;
            jiCaseCurrent.Left = new ShareHolderSpace(Stock.JICase, Direction.Left, 2);
            jiCaseCurrent      = jiCaseCurrent.Left;
            jiCaseCurrent.Left = new ShareHolderSpace(Stock.JICase, Direction.Left, 3);
            jiCaseCurrent      = jiCaseCurrent.Left;
            jiCaseCurrent.Left = new ShareHolderSpace(Stock.JICase, Direction.Left, 2);
            jiCaseCurrent      = jiCaseCurrent.Left;
            jiCaseCurrent.Left = new ShareHolderSpace(Stock.JICase, Direction.Left, 1);
            jiCaseCurrent      = jiCaseCurrent.Left;
            #endregion
            #endregion

            #region Main Squares
            ISpace activeSpace = StartSpace1;
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.Maytag, +1, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.GeneralMills, -2, Direction.Left));

            var alcoaEntrance = new ShareHolderMeetingEntrance(Stock.Alcoa, +3, Direction.Right);
            alcoaEntrance.ShareHolderSpace = AlcoaFirstShareHolderSquare as ShareHolderSpace;
            woolsWorthCurrent.Right        = alcoaEntrance;
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, alcoaEntrance);

            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.AmericanMotors, -4, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new SellAllSpace(Stock.Woolsworth, +5, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new CornerSpace(+20, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new SellAllSpace(Stock.Maytag, -5, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.GeneralMills, +4, Direction.Left));

            var jiCaseEntrance = new ShareHolderMeetingEntrance(Stock.JICase, -3, Direction.Left);
            jiCaseEntrance.ShareHolderSpace = JICaseFirstShareHolderSquare as ShareHolderSpace;
            maytagCurrent.Right             = jiCaseEntrance;
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, jiCaseEntrance);


            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.AmericanMotors, +2, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.Alcoa, -1, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, StartSpace2);
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.Woolsworth, -1, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.WesternPublishing, +2, Direction.Left));


            var maytagEntrance = new ShareHolderMeetingEntrance(Stock.Maytag, -3, Direction.Right);
            maytagEntrance.ShareHolderSpace = MaytagFirstShareHolderSquare as ShareHolderSpace;
            jiCaseCurrent.Right             = maytagEntrance;
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, maytagEntrance);

            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.InternationalShoe, +4, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new SellAllSpace(Stock.JICase, -5, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new CornerSpace(-20, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new SellAllSpace(Stock.WesternPublishing, +5, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.Alcoa, -4, Direction.Left));


            var americanMotorsEntrance = new ShareHolderMeetingEntrance(Stock.AmericanMotors, +3, Direction.Left);
            americanMotorsEntrance.ShareHolderSpace = AmericanMotorsFirstShareHolderSquare as ShareHolderSpace;
            westernPubCurrent.Right = americanMotorsEntrance;
            activeSpace             = AddSpaceToRightAndAdvance(activeSpace, americanMotorsEntrance);

            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.Maytag, -2, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.GeneralMills, +1, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, StartSpace3);
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.InternationalShoe, +1, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.JICase, -2, Direction.Left));


            var westernPubEntrance = new ShareHolderMeetingEntrance(Stock.WesternPublishing, +3, Direction.Right);
            westernPubEntrance.ShareHolderSpace = WesterPubFirstShareHolderSquare as ShareHolderSpace;
            americanMotorsCurrent.Right         = westernPubEntrance;
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, westernPubEntrance);

            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.Woolsworth, -4, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new SellAllSpace(Stock.AmericanMotors, +5, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new CornerSpace(+20, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new SellAllSpace(Stock.InternationalShoe, -5, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.Maytag, +4, Direction.Left));

            var genMillEntrance = new ShareHolderMeetingEntrance(Stock.GeneralMills, -3, Direction.Left);
            genMillEntrance.ShareHolderSpace = GeneralMillsFirstShareHolderSquare as ShareHolderSpace;
            internationalShoeCurrent.Right   = genMillEntrance;
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, genMillEntrance);

            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.Alcoa, +2, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.AmericanMotors, -1, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, StartSpace4);
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.WesternPublishing, -1, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.Woolsworth, +2, Direction.Left));

            var intShoeEntrance = new ShareHolderMeetingEntrance(Stock.InternationalShoe, -3, Direction.Right);
            intShoeEntrance.ShareHolderSpace = InterShoeFirstShareHolderSquare as ShareHolderSpace;
            generalMillsCurrent.Right        = intShoeEntrance;
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, intShoeEntrance);

            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.JICase, +4, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new SellAllSpace(Stock.GeneralMills, -5, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new CornerSpace(-20, Direction.Right));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new SellAllSpace(Stock.Alcoa, +5, Direction.Left));
            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.WesternPublishing, -4, Direction.Left));

            var woolsworthEntrance = new ShareHolderMeetingEntrance(Stock.Woolsworth, +3, Direction.Left);
            woolsworthEntrance.ShareHolderSpace = WoolsworthFirstShareHolderSquare as ShareHolderSpace;
            alcoaCurrent.Right = woolsworthEntrance;
            activeSpace        = AddSpaceToRightAndAdvance(activeSpace, woolsworthEntrance);
            activeSpace        = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.InternationalShoe, -2, Direction.Left));

            activeSpace = AddSpaceToRightAndAdvance(activeSpace, new StockSpace(Stock.JICase, +1, Direction.Left));

            activeSpace.Right = StartSpace1;
            StartSpace1.Left  = activeSpace;
            #endregion
        }
Example #3
0
        public BoardScreen()
        {
            InitializeComponent();
            this.GameState = new StockMarketGameState(
                new List <Player>()
            {
                new Player("Player 1"),
                new Player("Player 2"),
                new Player("Player 3"),
                new Player("Player 4")
            }, new Board());


            var activeSpace             = this.GameState.Board.StartSpace1.Right.Right.Right.Right.Right.Right;
            var coordinates             = new Point(0, 0);
            var rectangleSize           = new Size(60, 60);
            var heightOffset            = rectangleSize.Height;
            var shareHolderHeightOffset = rectangleSize.Height / 2;
            var widthOffset             = rectangleSize.Width;
            var squareColor             = Color.White;

            //Create First Corner;
            this.Spaces.Add(new SpaceGui(activeSpace, squareColor, SpaceRegion.TopLeftCorner, new Rectangle(coordinates, rectangleSize)));
            coordinates.X += widthOffset;
            activeSpace    = activeSpace.Left;


            for (int i = 0; i < 11; i++)
            {
                var stockSpace = activeSpace as IStockSpace;
                if (stockSpace != null)
                {
                    squareColor = _getStockColor(stockSpace.Stock.Name);
                }
                else
                {
                    squareColor = Color.White;
                }

                this.Spaces.Add(new SpaceGui(activeSpace, squareColor, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));

                coordinates.X += widthOffset;
                activeSpace    = activeSpace.Left;
            }

            //Create Second Corner
            squareColor = Color.White;
            this.Spaces.Add(new SpaceGui(activeSpace, squareColor, SpaceRegion.TopRightCorner, new Rectangle(coordinates, rectangleSize)));
            activeSpace = activeSpace.Left;

            for (int i = 0; i < 11; i++)
            {
                var stockSpace = activeSpace as IStockSpace;
                if (stockSpace != null)
                {
                    squareColor = _getStockColor(stockSpace.Stock.Name);
                }
                else
                {
                    squareColor = Color.White;
                }

                coordinates.Y += heightOffset;
                this.Spaces.Add(new SpaceGui(activeSpace, squareColor, SpaceRegion.RightRow, new Rectangle(coordinates, rectangleSize)));

                activeSpace = activeSpace.Left;
            }

            //Create Third Corner
            coordinates.Y += heightOffset;
            squareColor    = Color.White;
            this.Spaces.Add(new SpaceGui(activeSpace, squareColor, SpaceRegion.BottomRightCorner, new Rectangle(coordinates, rectangleSize)));
            activeSpace = activeSpace.Left;

            for (int i = 0; i < 11; i++)
            {
                var stockSpace = activeSpace as IStockSpace;
                if (stockSpace != null)
                {
                    squareColor = _getStockColor(stockSpace.Stock.Name);
                }
                else
                {
                    squareColor = Color.White;
                }
                coordinates.X -= widthOffset;
                this.Spaces.Add(new SpaceGui(activeSpace, squareColor, SpaceRegion.BottomRow, new Rectangle(coordinates, rectangleSize)));

                activeSpace = activeSpace.Left;
            }

            //Create Fourth Corner
            coordinates.X -= widthOffset;
            squareColor    = Color.White;
            this.Spaces.Add(new SpaceGui(activeSpace, squareColor, SpaceRegion.BottomLeftCorner, new Rectangle(coordinates, rectangleSize)));
            activeSpace = activeSpace.Left;

            for (int i = 0; i < 11; i++)
            {
                var stockSpace = activeSpace as IStockSpace;
                if (stockSpace != null)
                {
                    squareColor = _getStockColor(stockSpace.Stock.Name);
                }
                else
                {
                    squareColor = Color.White;
                }
                coordinates.Y -= heightOffset;
                this.Spaces.Add(new SpaceGui(activeSpace, squareColor, SpaceRegion.LeftRow, new Rectangle(coordinates, rectangleSize)));

                activeSpace = activeSpace.Left;
            }

            #region ShareHolder Meetings
            #region Alcoa/Woolsworth ShareHolder Meeting
            rectangleSize = new Size(rectangleSize.Width, shareHolderHeightOffset);
            coordinates   = new Point(widthOffset * 3, heightOffset * 1);
            ShareHolderMeetingEntrance alcoaEntrance           = GameState.Board.StartSpace1.Right.Right.Right as ShareHolderMeetingEntrance;
            ShareHolderSpace           currentShareHolderSpace = alcoaEntrance.ShareHolderSpace;

            ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
            currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
            coordinates.Y          += shareHolderHeightOffset;

            for (int i = 0; i < 7; i++)
            {
                ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
                currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
                coordinates.X          += widthOffset;
            }
            coordinates.X -= widthOffset;
            coordinates.Y -= shareHolderHeightOffset;
            ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
            currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
            #endregion

            #region Int.Shoe/GeneralMills ShareHolder Meeting
            rectangleSize  = new Size(shareHolderHeightOffset, rectangleSize.Width);
            coordinates.Y += heightOffset * 2;
            coordinates.X += shareHolderHeightOffset * 5;

            ShareHolderMeetingEntrance intShoeEntrance = GameState.Board.StartSpace2.Right.Right.Right as ShareHolderMeetingEntrance;
            currentShareHolderSpace = intShoeEntrance.ShareHolderSpace;

            ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
            currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
            coordinates.X          -= shareHolderHeightOffset;

            for (int i = 0; i < 7; i++)
            {
                ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
                currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
                coordinates.Y          += widthOffset;
            }
            coordinates.Y -= heightOffset;
            coordinates.X += shareHolderHeightOffset;
            ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
            currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
            #endregion

            #region J.I.Case/Maytag ShareHolder Meeting
            rectangleSize  = new Size(shareHolderHeightOffset, heightOffset);
            coordinates.Y -= heightOffset * 6;
            coordinates.X -= shareHolderHeightOffset * 21;

            ShareHolderMeetingEntrance jiCaseEntrance = GameState.Board.StartSpace4.Right.Right.Right as ShareHolderMeetingEntrance;
            currentShareHolderSpace = jiCaseEntrance.ShareHolderSpace;

            ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
            currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
            coordinates.X          += shareHolderHeightOffset;

            for (int i = 0; i < 7; i++)
            {
                ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
                currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
                coordinates.Y          += widthOffset;
            }
            coordinates.Y -= heightOffset;
            coordinates.X -= shareHolderHeightOffset;
            ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
            currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
            #endregion

            #region WesternPub/AmericanMotors ShareHolder Meeting
            rectangleSize = new Size(widthOffset, shareHolderHeightOffset);

            coordinates.X += widthOffset * 2;
            coordinates.Y += (heightOffset * 2) + shareHolderHeightOffset;
            ShareHolderMeetingEntrance westernPubEntrance = GameState.Board.StartSpace3.Right.Right.Right as ShareHolderMeetingEntrance;
            currentShareHolderSpace = alcoaEntrance.ShareHolderSpace;

            ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
            currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
            coordinates.Y          -= shareHolderHeightOffset;

            for (int i = 0; i < 7; i++)
            {
                ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
                currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
                coordinates.X          += widthOffset;
            }
            coordinates.X -= widthOffset;
            coordinates.Y += shareHolderHeightOffset;
            ShareHolderSpaces.Add(new ShareHolderGui(currentShareHolderSpace, Color.White, SpaceRegion.TopRow, new Rectangle(coordinates, rectangleSize)));
            currentShareHolderSpace = currentShareHolderSpace.Right as ShareHolderSpace;
            #endregion
            #endregion

            #region Jobs

            coordinates.X += widthOffset;
            coordinates.Y -= shareHolderHeightOffset * 3;


            rectangleSize = new Size(widthOffset * 2, heightOffset * 2);

            JobGuiSpaces.Add(new JobGui(new PoliceMan(), new Rectangle(coordinates, rectangleSize)));
            coordinates.X -= widthOffset * 9;

            JobGuiSpaces.Add(new JobGui(new Doctor(), new Rectangle(coordinates, rectangleSize)));
            coordinates.Y -= widthOffset * 9;

            JobGuiSpaces.Add(new JobGui(new DeepSeaDiver(), new Rectangle(coordinates, rectangleSize)));
            coordinates.X += widthOffset * 9;

            JobGuiSpaces.Add(new JobGui(new Prospector(), new Rectangle(coordinates, rectangleSize)));


            #endregion

            #region Market
            rectangleSize = new Size(40, 10);
            coordinates   = new Point(200, 135);

            for (int i = 0; i < 51; i++)
            {
                MarketGuis.Add(new MarketGui(Stock.Alcoa, Stock.Alcoa.Prices[i], _getStockColor(Stock.Alcoa.Name), new Rectangle(coordinates, rectangleSize)));
                coordinates.Y += 10;
            }

            coordinates.X += 40;
            coordinates.Y  = 135;

            for (int i = 0; i < 51; i++)
            {
                MarketGuis.Add(new MarketGui(Stock.AmericanMotors, Stock.AmericanMotors.Prices[i], _getStockColor(Stock.AmericanMotors.Name), new Rectangle(coordinates, rectangleSize)));
                coordinates.Y += 10;
            }
            coordinates.X += 40;
            coordinates.Y  = 135;


            for (int i = 0; i < 51; i++)
            {
                MarketGuis.Add(new MarketGui(Stock.JICase, Stock.JICase.Prices[i], _getStockColor(Stock.JICase.Name), new Rectangle(coordinates, rectangleSize)));
                coordinates.Y += 10;
            }

            coordinates.X += 40;
            coordinates.Y  = 135;


            for (int i = 0; i < 51; i++)
            {
                MarketGuis.Add(new MarketGui(Stock.GeneralMills, Stock.GeneralMills.Prices[i], _getStockColor(Stock.GeneralMills.Name), new Rectangle(coordinates, rectangleSize)));
                coordinates.Y += 10;
            }


            coordinates.X += 40;
            coordinates.Y  = 135;


            for (int i = 0; i < 51; i++)
            {
                MarketGuis.Add(new MarketGui(null, (uint)i, Color.White, new Rectangle(coordinates, new Size(60, 10))));
                coordinates.Y += 10;
            }



            coordinates = new Point(420, 135);
            for (int i = 0; i < 51; i++)
            {
                MarketGuis.Add(new MarketGui(Stock.InternationalShoe, Stock.InternationalShoe.Prices[i], _getStockColor(Stock.InternationalShoe.Name), new Rectangle(coordinates, rectangleSize)));
                coordinates.Y += 10;
            }

            coordinates.X += 40;
            coordinates.Y  = 135;


            for (int i = 0; i < 51; i++)
            {
                MarketGuis.Add(new MarketGui(Stock.Maytag, Stock.Maytag.Prices[i], _getStockColor(Stock.Maytag.Name), new Rectangle(coordinates, rectangleSize)));
                coordinates.Y += 10;
            }

            coordinates.X += 40;
            coordinates.Y  = 135;


            for (int i = 0; i < 51; i++)
            {
                MarketGuis.Add(new MarketGui(Stock.WesternPublishing, Stock.WesternPublishing.Prices[i], _getStockColor(Stock.WesternPublishing.Name), new Rectangle(coordinates, rectangleSize)));
                coordinates.Y += 10;
            }
            coordinates.X += 40;
            coordinates.Y  = 135;


            for (int i = 0; i < 51; i++)
            {
                MarketGuis.Add(new MarketGui(Stock.Woolsworth, Stock.Woolsworth.Prices[i], _getStockColor(Stock.Woolsworth.Name), new Rectangle(coordinates, rectangleSize)));
                coordinates.Y += 10;
            }

            #endregion
        }