/// <summary>
        /// Draws a bead
        /// </summary>
        /// <param name="bead"></param>
        public void DrawBead(Bead bead)
        {
            // Draw bead + border if the bead has a border
            if (bead.BorderWidth > 0)
            {
                // Fill up the square with the border color
                DrawSquare(bead.Area, bead.BorderColor);

                // Draw the center on top, shrunk by the border width
                Rectangle beadCenter = ShrinkRectangle(bead.Area, bead.BorderWidth);
                DrawSquare(beadCenter, bead.Color);
            }
            // Otherwise, just draw the bead color
            else
            {
                DrawSquare(bead.Area, bead.Color);
            }

            // If the bead has a glyph, draw it
            if (bead.Glyph != ' ')
            {
                DrawLetter(bead.Glyph, bead.GlyphColor, bead.Area);
            }
        }
 public void InitializeGrid()
 {
     _grid = new Bead[MaxGridWidth, MaxGridHeight];
     for (var i = 0; i < MaxGridWidth; i++)
     {
         for (var j = 0; j < MaxGridHeight; j++)
         {
             _grid[i, j] = new Bead(i, j);
         }
     }
 }