public ShareHolderGui(ShareHolderSpace space, Color color, SpaceRegion spaceRegion, Rectangle bounds = new Rectangle()) { this.Space = space; this.Color = color; this.Bounds = bounds; this.SpaceRegion = spaceRegion; }
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 }
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 }